RFC 2616 के अनुसार, जो HTTP/1.1 को परिभाषित करता है, Host:
हेडर अनिवार्य है।HTTP होस्ट हेडर को कब परिभाषित किया जा सकता है?
किसी क्लाइंट में सभी HTTP/1.1 अनुरोध संदेशों में होस्ट हेडर फ़ील्ड शामिल होना चाहिए। , वर्तमान अनुरोध से हैडर अगर वहाँ एक है:
लेकिन PHP manual का तात्पर्य यह खाली हो सकता है कि:
'HTTP_HOST': होस्ट की सामग्री।
इस स्थिति में कौन सी स्थितियां हो सकती हैं, और इस प्रकार $_SERVER['HTTP_HOST']
खाली हो जाएं? क्या मेरा आवेदन वहां पर निर्भर करता है?
'होस्ट:' हेडर अभी भी [HTTPbis] के अनुसार अनिवार्य है (http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-14#appendix-B.1.1) , लेकिन इसका मतलब यह नहीं है कि यह हमेशा उपस्थित रहेगा। अपाचे इसकी अनुपस्थिति को अच्छी तरह से संभालता है (हालांकि यह किसी भी कॉन्फ़िगर किए गए vhost तक नहीं पहुंच जाएगा)। – mario
@ मारियो: क्या जंगली में वास्तविक HTTP/1.1 क्लाइंट हैं जो 'होस्ट:' हेडर नहीं भेजते हैं? – Tim
मैं उन्हें वास्तविक ग्राहकों पर विचार नहीं करता, और निश्चित रूप से समकालीन ब्राउज़र और पुस्तकालयों में से कोई भी नहीं करता है। लेकिन किसी भी हस्तनिर्मित PHP स्क्रिप्ट हो सकता है। लेकिन फिर भी, यह ज्यादातर कॉन्फ़िगरेशन समस्या है, अपाचे vhosts के लिए प्रासंगिक नहीं है। Apache द्वारा HTTP_HOST को संरक्षित किया गया है, और मैं अभ्यास में खाली होने के बारे में चिंता नहीं करता। असंभव किनारे का मामला। – mario