यह देखते हुए कि HTTP अनुरोध भेजे जाने पर टीसीपी कनेक्शन पहले ही स्थापित हो चुका है, आईपी एड्रेस और पोर्ट को पूरी तरह से जाना जाता है - एक टीसीपी कनेक्शन आईपी + पोर्ट है। तो, हमें Host
हेडर की आवश्यकता कौन है? क्या यह केवल तभी आवश्यक है जब टीसीपी कनेक्शन में उल्लिखित आईपी पते पर मैप किए गए एकाधिक होस्ट हैं?http होस्ट हेडर क्या है?
उत्तर
host
-हैडर वेबसर्वर को बताता है कि वर्चुअल होस्ट उपयोग करने के लिए (यदि सेट अप किया गया है)। आपके पास कई उपनाम (= डोमेन और वाइल्डकार्ड-डोमेन) का उपयोग करके भी वही वर्चुअल होस्ट हो सकता है। इस मामले में, यदि आप संबोधित विभिन्न डोमेन के आधार पर अलग-अलग व्यवहार प्रदान करना चाहते हैं, तो आपके पास अभी भी उस शीर्षलेख को अपने वेब ऐप में पढ़ने की संभावना है। यह संभव है क्योंकि आपके वेबसर्वर में आप (और यदि मुझे गलत नहीं किया गया है) सेट कर सकते हैं तो एक vhost डिफ़ॉल्ट होस्ट होने के लिए सेट करें। जब भी host
-header कॉन्फ़िगर किए गए वर्चुअल होस्ट से मेल नहीं खाता है तो यह डिफ़ॉल्ट vhost उपयोग किया जाता है।
इसका मतलब है कि: आप इसे सही है, हालांकि "कई मेजबान" कुछ भ्रामक हो सकता है कह रही: मेजबान (संबोधित मशीन) एक ही है, क्या वास्तव में समाधान IP पते में हो जाता है अलग डोमेन नाम (सहित सबडोमेन) जिन्हें होस्टनाम (लेकिन होस्ट नहीं!) के रूप में भी जाना जाता है।
हालांकि सवाल का हिस्सा नहीं है, एक मजेदार तथ्य: यह विनिर्देश शुरुआती दिनों में एसएसएल के साथ समस्याओं का कारण बनता है क्योंकि वेब सर्वर को उस प्रमाणपत्र को वितरित करना होता है जो ग्राहक द्वारा संबोधित डोमेन से मेल खाता है। हालांकि, यह जानने के लिए कि कौन से प्रमाणपत्र का उपयोग करना है, वेबसर्वर को पहले से ही संबोधित होस्टनाम ज्ञात होना चाहिए था। लेकिन चूंकि ग्राहक केवल उस जानकारी को एन्क्रिप्टेड चैनल पर भेजता है (जिसका अर्थ है: प्रमाण पत्र पहले ही भेज दिया गया है), सर्वर को यह मानना था कि आपने डिफ़ॉल्ट होस्ट ब्राउज़ किया था। इसका मतलब था: एक एसएसएल-सुरक्षित डोमेन प्रति आईपी पता/पोर्ट-संयोजन।
यह Server Name Indication साथ काबू पाने कर दिया गया है, हालांकि, कि फिर से कुछ गोपनीयता, टूट जाता है के रूप में सर्वर नाम अब फिर से सादे पाठ में स्थानांतरित कर रहा है, इसलिए हर मैन-इन-द-मिडल देखना होगा, जो आप कोशिश कर रहे हैं होस्ट नाम संपर्क करना।
हालांकि वेबसर्वर सर्वर नाम संकेत से होस्टनाम को जानता होगा, host
-header अप्रचलित नहीं है, क्योंकि सर्वर नाम संकेत जानकारी केवल टीएलएस हैंडशेक के भीतर उपयोग की जाती है। एक असुरक्षित कनेक्शन के साथ, कोई सर्वर नाम संकेत नहीं है, इसलिए host
-header अभी भी मान्य है (और आवश्यक)।
एक और मजेदार तथ्य: अधिकांश वेबसर्वर (यदि उनमें से सभी भी नहीं) आपके http-request को अस्वीकार करते हैं, यदि इसमें बिल्कुल host
-header नहीं है, भले ही इसे छोड़ा जा सके, क्योंकि केवल डिफ़ॉल्ट vhost कॉन्फ़िगर किया गया है। इसका मतलब है, में न्यूनतम आवश्यक जानकारी एक http- (मिल-) अनुरोध METHOD
RESOURCE
और PROTOCOL VERSION
और कम से कम host
-header, इस तरह से युक्त पहली पंक्ति है:
GET /someresource.html HTTP/1.1
Host: www.example.com
आप MDN Documentation on the Host-Header पढ़ सकते हैं अधिक जानकारी के लिए, जो
एक होस्ट हेडर फ़ील्ड सभी HTTP/1.1 अनुरोध संदेशों में भेजी जानी चाहिए। 400 (खराब अनुरोध) स्थिति कोड किसी भी HTTP/1.1 अनुरोध संदेश पर भेजा जाएगा जिसमें होस्ट हेडर फ़ील्ड की कमी है या एक से अधिक शामिल हैं।
जैसा कि डारेल मिलर द्वारा वर्णित है, पूर्ण चश्मा RFC7230 में पाया जा सकता है।
HTTP हेडर के अर्थ और उद्देश्य को समझने की कोशिश करते समय मैं हमेशा आधिकारिक स्रोत पर जाने की अनुशंसा करता हूं।
एक अनुरोध में "होस्ट" शीर्षक क्षेत्र को सक्षम करने
को मूल सर्वर संसाधनों के बीच भेद एक भी पर कई
होस्ट नाम के लिए अनुरोध सर्विसिंग जबकि, मेजबान और बंदरगाह लक्ष्य URI से
जानकारी प्रदान करता है आईपी पता।
- 1. HTTP होस्ट हेडर को कब परिभाषित किया जा सकता है?
- 2. एक्स-रिमूटेड HTTP हेडर क्या है?
- 3. HTTP हेडर
- 4. क्या पोर्ट नंबर HTTP "होस्ट" हैडर पैरामीटर में आवश्यक है?
- 5. पीएचपी निकालें HTTP हेडर
- 6. AngularJS प्रतिक्रिया हेडर $ http
- 7. HTTP रेंज हेडर
- 8. अनुरोध हेडर फ़ील्ड $ http
- 9. AngularJS $ http कस्टम हेडर
- 10. पढ़ें http पोस्ट हेडर
- 11. HTTP प्रतिक्रिया कोड/याद होस्ट नाम
- 12. HTTP 401 - एक उपयुक्त WWW- प्रमाणीकरण हेडर मान क्या है?
- 13. HTTP युक्ति: प्रॉक्सी-प्राधिकरण और प्राधिकरण हेडर
- 14. "कच्चे HTTP शीर्षलेख" क्या है? "HTTP शीर्षलेख" और "कच्चे HTTP शीर्षलेख" के बीच क्या अंतर है?
- 15. HTTP अनुरोध पढ़ना कस्टम हेडर
- 16. जावा होस्ट RestTemplate HTTP अनुरोध को ऑफ़लाइन होस्ट करें
- 17. HTTP रीडायरेक्ट पर हेडर प्रसारित न करें
- 18. अपाचे CXF - सेट HTTP हेडर
- 19. HTTP: ईटीएजी हेडर उत्पन्न करना
- 20. HTTP कोर्स स्पेक में, हेड-हेडर और एक्सपोज़र-हेडर के बीच क्या अंतर है?
- 21. स्क्रिप्ट से विकृत हेडर। खराब हेडर = HTTP/1.1 302 मिला
- 22. पायथन: हेडर क्या है?
- 23. छाता हेडर क्या है?
- 24. HttpURLConnection में http-header "होस्ट" को ओवरराइट कैसे करें?
- 25. HTTP वर्चुअल होस्ट पर HTNPS को HTTPName
- 26. http पर वर्चुअल निर्देशिका बनाएँ: // स्थानीय होस्ट/
- 27. बिल्कुल रनटाइम होस्ट क्या है?
- 28. फ़ायरफ़ॉक्स में आईपी पते तक पहुंचने पर होस्ट हेडर भेजें
- 29. HTTP अनुरोध और क्वेरीस्ट्रिंग बनाम हेडर?
- 30. WebEngine JavaFX में सेट HTTP हेडर
बहुत बढ़िया जानकारी - धन्यवाद! – ineedhelp