लोकल डेवलपमेंट के लिए एचटीटीपीएस का इस्तेमाल कब करना चाहिए

कुछ खास मामलों को छोड़कर, ज़्यादातर मामलों में लोकल डेवलपमेंट के लिए http://localhost का इस्तेमाल करना ठीक होता है. इस पोस्ट में बताया गया है कि आपको अपनी लोकल डेवलपमेंट साइट को एचटीटीपीएस के साथ कब चलाना चाहिए.

Maud Nalpas
Maud Nalpas

यह भी देखें: लोकल डेवलपमेंट के लिए एचटीटीपीएस को इस्तेमाल करने का तरीका.

इस पोस्ट में, 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 और Edge http://<name>.localhost बेहतरीन हैं. जब localhost काम करेगा, तब यह सुरक्षित तरीके से काम करेगा. इसे आज़माएं: किसी भी साइट को localhost पर चलाएं और Chrome या Edge में http://<whatever name you like>.localhost:<your port> को ऐक्सेस करें. ऐसा जल्द ही Firefox और Safari में भी हो सकता है. आप ऐसा कर सकते हैं (इसमें mysite.localhost जैसे सबडोमेन शामिल हैं), क्योंकि localhost सिर्फ़ एक होस्टनेम नहीं है: यह एक पूरा टीएलडी भी है, जैसे कि com.

ज़्यादा जानें

सभी समीक्षकों को योगदान और सुझाव देने के लिए धन्यवाद. खास तौर पर, रायन स्लीवी, फ़िलिपो वैल्सॉर्डा, मिलिका मिहाजलिया, रोवन मेरेवुड, और जेक आर्चिबाल्ड. 🙌

Unsplash पर @moses_lee की हीरो इमेज, जिसमें बदलाव किया गया.