कुछ खास मामलों को छोड़कर, ज़्यादातर मामलों में लोकल डेवलपमेंट के लिए http://localhost का इस्तेमाल करना ठीक होता है. इस पोस्ट में बताया गया है कि आपको अपनी लोकल डेवलपमेंट साइट को एचटीटीपीएस के साथ कब चलाना चाहिए.
यह भी देखें: लोकल डेवलपमेंट के लिए एचटीटीपीएस को इस्तेमाल करने का तरीका.
इस पोस्ट में, localhost
के बारे में दिए गए स्टेटमेंट 127.0.0.1
और [::1]
के लिए भी मान्य हैं, क्योंकि ये दोनों ही कंप्यूटर के कंप्यूटर पते की जानकारी देते हैं. इसे "लूपबैक अड्रेस" भी कहा जाता है. साथ ही, चीज़ों को आसान बनाए रखने के लिए, पोर्ट नंबर की जानकारी नहीं दी जाती.
इसलिए, जब आपको http://localhost
दिखे, तो उसे http://localhost:{PORT}
या http://127.0.0.1:{PORT}
के तौर पर पढ़ें.
खास जानकारी
स्थानीय तौर पर डेवलप करते समय, डिफ़ॉल्ट रूप से http://localhost
का इस्तेमाल करें. सर्विस वर्कर, Web Authentication API वगैरह काम करेंगे.
हालांकि, नीचे दिए गए मामलों में लोकल डेवलपमेंट के लिए आपको एचटीटीपीएस की ज़रूरत होगी:
- सभी ब्राउज़र में सुरक्षित कुकी को एक जैसा तरीके से सेट करना
- मिले-जुले कॉन्टेंट की समस्याओं को डीबग करना
- एचटीटीपी/2 और उसके बाद के वर्शन का इस्तेमाल किया जा रहा है
- तीसरे पक्ष की लाइब्रेरी या एपीआई का इस्तेमाल करना, जिनके लिए एचटीटीपीएस की ज़रूरत होती है
पसंद के मुताबिक होस्टनेम का इस्तेमाल करना
✨ आपके लिए बस इतना ही जानना ज़रूरी है. अगर आपकी ज़्यादा जानकारी में दिलचस्पी है, तो आगे पढ़ें!
आपकी डेवलपमेंट साइट सुरक्षित तरीके से क्यों काम करनी चाहिए
अचानक होने वाली समस्याओं से बचने के लिए, आपको अपनी लोकल डेवलपमेंट साइट को खास तौर से अपनी प्रोडक्शन वेबसाइट की तरह लागू करना चाहिए. इसलिए, अगर आपकी प्रोडक्शन वेबसाइट में एचटीटीपीएस का इस्तेमाल किया गया है, तो इसका मतलब है कि आपको अपनी लोकल डेवलपमेंट साइट को एचटीटीपीएस साइट की तरह इस्तेमाल करना है.
डिफ़ॉल्ट रूप से http://localhost
का इस्तेमाल करें
ब्राउज़र, http://localhost
को खास तरीके से इस्तेमाल करते हैं: हालांकि, यह एचटीटीपी है, लेकिन यह आम तौर पर एचटीटीपीएस साइट की तरह काम करता है.
http://localhost
पर, सर्विस वर्कर, सेंसर के एपीआई, पुष्टि करने वाले एपीआई, पेमेंट, और ऐसी दूसरी सुविधाएं जिनके लिए सुरक्षा की कुछ खास गारंटी ज़रूरी हैं काम करती हैं और ठीक उसी तरह काम करती हैं जैसे वे किसी एचटीटीपीएस साइट पर काम करती हैं.
लोकल डेवलपमेंट के लिए एचटीटीपीएस का इस्तेमाल कब करना चाहिए
आपको कुछ ऐसे खास मामले दिख सकते हैं जिनमें http://localhost
, एचटीटीपीएस साइट की तरह काम नहीं करता—या आप पसंद के मुताबिक बनाई गई साइट के किसी ऐसे नाम का इस्तेमाल करना चाहें जो http://localhost
न हो.
इन मामलों में लोकल डेवलपमेंट के लिए, आपको एचटीटीपीएस का इस्तेमाल करना होगा:
आपको स्थानीय तौर पर ऐसी कुकी सेट करनी होगी जो
Secure
याSameSite:none
हो या जिसमें__Host
प्रीफ़िक्स हो.Secure
कुकी सिर्फ़ एचटीटीपीएस पर सेट है. हालांकि, सभी ब्राउज़र के लिए यहhttp://localhost
पर सेट नहीं है.SameSite:none
और__Host
के लिए भी कुकी काSecure
होना ज़रूरी है. इसलिए, अपनी लोकल डेवलपमेंट साइट पर ऐसी कुकी सेट करने के लिए, एचटीटीपीएस की ज़रूरत भी होती है.आपको स्थानीय तौर पर एक ऐसी समस्या को डीबग करना होगा जो सिर्फ़ एचटीटीपीएस वेबसाइट पर होती है, लेकिन किसी एचटीटीपी साइट पर नहीं. यहां तक कि
http://localhost
पर भी नहीं, जैसे कि मिक्स्ड-कॉन्टेंट की समस्या.आपको स्थानीय तौर पर, एचटीटीपी/2 या इससे नए वर्शन के व्यवहार की जांच करनी होगी या उसे फिर से तैयार करना होगा. उदाहरण के लिए, अगर आपको एचटीटीपी/2 या इसके बाद के वर्शन पर, लोड होने की परफ़ॉर्मेंस की जांच करनी है. असुरक्षित एचटीटीपी/2 या उसके बाद का वर्शन काम नहीं करता, यहां तक कि
localhost
पर भी नहीं.आपको तीसरे पक्ष की ऐसी लाइब्रेरी या एपीआई की स्थानीय तौर पर जांच करनी होगी जिनके लिए एचटीटीपीएस (जैसे कि OAuth) की ज़रूरत होती है.
localhost
का इस्तेमाल नहीं किया जा रहा है, लेकिन लोकल डेवलपमेंट के लिए पसंद के मुताबिक बनाया गया होस्ट नाम है, जैसे किmysite.example
. आम तौर पर, इसका मतलब है कि आपने अपनी लोकल होस्ट की फ़ाइल को बदल दिया है:इस मामले में, Chrome, Edge, Safari, और Firefox डिफ़ॉल्ट रूप से
mysite.example
को सुरक्षित नहीं मानते, भले ही यह एक स्थानीय साइट हो. इसलिए, यह एचटीटीपीएस साइट की तरह काम नहीं करेगी.अन्य केस! यह पूरी सूची नहीं है. हालांकि, अगर आपको कोई ऐसा केस दिखता है जो यहां नहीं दिया गया है, तो आपको पता चल जाएगा:
http://localhost
में चीज़ें टूट जाएंगी या यह आपकी प्रोडक्शन साइट की तरह काम नहीं करेगी. 🙃
इन सभी मामलों में, लोकल डेवलपमेंट के लिए आपको एचटीटीपीएस का इस्तेमाल करना होगा.
लोकल डेवलपमेंट के लिए एचटीटीपीएस इस्तेमाल करने का तरीका
अगर आपको लोकल डेवलपमेंट के लिए एचटीटीपीएस का इस्तेमाल करना है, तो लोकल डेवलपमेंट के लिए एचटीटीपीएस को इस्तेमाल करने का तरीका देखें.
पसंद के मुताबिक होस्टनेम का इस्तेमाल करने पर सलाह
अगर पसंद के मुताबिक होस्ट किए गए होस्टनेम का इस्तेमाल किया जा रहा है, जैसे कि अपनी होस्ट की गई फ़ाइल में बदलाव करना:
mysite
जैसे किसी वेब होस्टनेम का इस्तेमाल न करें, क्योंकि अगर कोई टॉप लेवल डोमेन (टीएलडी) है और उसका नाम एक ही है (mysite
), तो आपको समस्याएं आ सकती हैं. ऐसा भी हो सकता है कि इसकी संभावना कम न हो: साल 2020 में, 1,500 से ज़्यादा टीएलडी बन गए हैं और सूची में बढ़ोतरी हो रही है.coffee
,museum
,travel
, और कई बड़ी कंपनियों के नाम (यह भी हो सकता है कि आप जिस कंपनी में काम कर रहे हों!), टीएलडी हैं. पूरी सूची यहां देखें.- सिर्फ़ उन डोमेन का इस्तेमाल करें जो आपके हैं या जो इस काम के लिए रिज़र्व किए गए हैं. अगर आपके पास अपना डोमेन नहीं है, तो
test
याlocalhost
(mysite.localhost
) का इस्तेमाल किया जा सकता है. ब्राउज़र मेंtest
पर खास ट्रीटमेंट की सुविधा नहीं है. हालांकि,localhost
को ये सुविधाएं मिलती हैं: Chrome और Edgehttp://<name>.localhost
बेहतरीन हैं. जब localhost काम करेगा, तब यह सुरक्षित तरीके से काम करेगा. इसे आज़माएं: किसी भी साइट को localhost पर चलाएं और Chrome या Edge मेंhttp://<whatever name you like>.localhost:<your port>
को ऐक्सेस करें. ऐसा जल्द ही Firefox और Safari में भी हो सकता है. आप ऐसा कर सकते हैं (इसमेंmysite.localhost
जैसे सबडोमेन शामिल हैं), क्योंकिlocalhost
सिर्फ़ एक होस्टनेम नहीं है: यह एक पूरा टीएलडी भी है, जैसे किcom
.
ज़्यादा जानें
- सुरक्षित कॉन्टेक्स्ट
- सुरक्षित कॉन्टेक्स्ट के तौर पर localhost
- Chrome में सुरक्षित कॉन्टेक्स्ट के तौर पर localhost
सभी समीक्षकों को योगदान और सुझाव देने के लिए धन्यवाद. खास तौर पर, रायन स्लीवी, फ़िलिपो वैल्सॉर्डा, मिलिका मिहाजलिया, रोवन मेरेवुड, और जेक आर्चिबाल्ड. 🙌
Unsplash पर @moses_lee की हीरो इमेज, जिसमें बदलाव किया गया.