2010-01-19 16 views
5

क्या हेडर() फ़ंक्शन के साथ HTTP शीर्षलेख सेट करने के लिए PHP में कोई विशेष क्रम है?PHP में हैडर ऑर्डर प्रश्न (और सामान्य रूप से HTTP)

मेरा मतलब है उदाहरण के लिए मुझे हेडर ('सामग्री-भाषा: एन') कॉल करना होगा; शीर्षलेख से पहले ('सामग्री-प्रकार: टेक्स्ट/सादा'); या व्हाटहेवर ऑर्डर ठीक रहेगा।

मेरा अनुमान है कि आदेश के रूप में लंबे समय तक महत्वपूर्ण नहीं है सब किसी भी सामग्री को outputted इससे पहले कि वह हेडर स्थापित कर रहे हैं के रूप में है, लेकिन मैं सिर्फ यह सुनिश्चित करें कि मामला है होना चाहता हूँ ...

उत्तर

8

नहीं है, order of the header fields नहीं है मामला:

ऑर्डर जिसमें अलग-अलग फ़ील्ड नामों के साथ हेडर फ़ील्ड प्राप्त होते हैं, महत्वपूर्ण नहीं है। हालांकि, यह पहले-हेडर फ़ील्ड भेजने के लिए "अच्छा अभ्यास" है, उसके बाद अनुरोध-हेडर या प्रतिक्रिया-शीर्षलेख फ़ील्ड, और इकाई-शीर्षलेख फ़ील्ड के साथ समाप्त होता है।

केवल तभी यदि आप एक ही नाम के कई फ़ील्ड भेज रहे हैं। फिर फ़ील्ड मानों का इलाज किया जाता है जैसे वे एक सूची में दिखाई देंगे:

एक ही फ़ील्ड नाम के साथ एकाधिक संदेश-हेडर फ़ील्ड एक संदेश में उपस्थित हो सकते हैं यदि केवल और उस क्षेत्र के लिए संपूर्ण फ़ील्ड-मान अल्पविराम से अलग सूची के रूप में परिभाषित किया गया है [यानी, #(values)]। प्रत्येक हेडर फ़ील्ड को "फ़ील्ड-नेम: फ़ील्ड-वैल्यू" जोड़ी में जोड़ना संभव है, संदेश के अर्थशास्त्र को बदले बिना, प्रत्येक बाद के फील्ड-वैल्यू को पहले से जोड़कर, प्रत्येक को अल्पविराम से अलग किया जाना चाहिए। जिस क्रम में हेडर फ़ील्ड एक ही क्षेत्र-नाम के साथ प्राप्त किए जाते हैं, इसलिए संयुक्त क्षेत्र मान की व्याख्या के लिए महत्वपूर्ण है, और इस प्रकार एक प्रॉक्सी को संदेश फ़ील्ड को अग्रेषित करते समय इन फ़ील्ड मानों के क्रम को परिवर्तित नहीं करना चाहिए।

तो निम्नलिखित:

Cache-Control: private 
Cache-Control: must-revalidate 

के बराबर होगा:

Cache-Control: private, must-revalidate 

और यहाँ यह हेडर फ़ील्ड की परिभाषा पर निर्भर करता है (यहाँ कैश-नियंत्रण) अगर आदेश मायने रखता है।

4

ऑर्डर जिसमें अलग-अलग फ़ील्ड नामों के साथ हेडर फ़ील्ड प्राप्त होते हैं, महत्वपूर्ण नहीं है। हालांकि, यह पहले-हेडर फ़ील्ड भेजने के लिए "अच्छा अभ्यास" है, उसके बाद अनुरोध-हेडर या प्रतिक्रिया-शीर्षलेख फ़ील्ड, और इकाई-शीर्षलेख फ़ील्ड के साथ समाप्त होता है।

http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल - HTTP/1.1)

संबंधित मुद्दे