php - Is the HTTP request URL not part of the HTTP request header? -


यहां एक विकिपीडिया लेख से एक उद्धरण है:

GET अनुरोध विधि के विपरीत केवल यूआरएल और हेडर सर्वर को भेजे जाते हैं, पोस्ट अनुरोध में संदेश बॉडी भी शामिल होता है।

उस आधार पर, ऐसा लगता है कि यूआरएल शीर्ष पर से भेजा गया है, लेकिन अगर ऐसा है तो , हम यूआरएल को रीडायरेक्ट करने के लिए PHP में क्यों हैडर () विधि का उपयोग करते हैं?

  हैडर ("स्थान: http://google.com" );    

जब आप अपने ब्राउज़र से URL ब्राउज़ करना चाहते हैं तो आप URL टाइप करते हैं ब्राउज़र यूआरएल को इस तरह एक HTTP अनुरोध के अंदर डालता है:

  प्राप्त करें / path / to / resources.php?var=data1&othervar=data2 HTTP / 1.1 होस्ट: example.com कनेक्शन: रखें "रिक्त पंक्ति" को बंद करें   

फिर एक वेबसर्वर आपको इस तरह एक उत्तर देता है:

  HTTP / 1.0 200 ओके दिनांक: शुक्र, 02 सितम्बर 2011 14 : 37: 36 जीएमटी सर्वर: अपाचे कैश-कंट्रोल: निजी, एस-मैक्जेज = 0, अधिकतम-आयु = 0, पुनः-संशोधित सामग्री-एन्कोडिंग: gzip भिन्न: स्वीकार-एन्कोडिंग सामग्री-लंबाई: 149 सामग्री-प्रकार: पाठ / जावास्क्रिप्ट; Charset = utf-8 कनेक्शन: "खाली पंक्ति" "प्रतिक्रिया डेटा के 14 9 बाइट्स" रखें   

इस तरह की हर पंक्ति "हैडर-नाम: header_value \ r \ n" एक शीर्ष लेख है ।
PHP हेडर फ़ंक्शन उपयोगकर्ता के ब्राउज़र में भेजने से पहले प्रतिक्रिया के लिए एक हेडर जोड़ता है।
आपके उदाहरण में हैडर:

  स्थान: http://google.com < / कोड>  

और यह "खाली पंक्ति" (जो एक पंक्ति है जिसमें केवल एक \ r \ n है) से पहले अंतिम शीर्षलेख के बाद जोड़ा गया है।
पोस्ट अनुरोध GET अनुरोधों से अलग हैं क्योंकि आपके पास "खाली पंक्ति" के बाद एक अनुरोध निकाय है):

  POST / path / to / resources.php HTTP / 1.1 होस्ट: उदाहरण कॉम कनेक्शन: रख-जिन्दा सामग्री-लंबाई: "शरीर में बाइट्स की संख्या" "खाली पंक्ति" चर = डेटा और अन्यवर = डेटा 2   

अंत में एक HTTP अनुरोध इस तरह किया जाता है:

  1. अनुरोध / प्रतिक्रिया पंक्ति (पोस्ट या अनुरोध के लिए यूआरएल और एचटीटीपी संस्करण के बाद, एचटीपी संस्करण के बाद प्रतिक्रिया कोड और प्रतिक्रिया के लिए प्रतिक्रिया स्ट्रिंग के बाद) के साथ समाप्त हो गया \ r \ n <
  2. रिक्त पंक्ति (\ r \ n)
  3. प्रतिक्रिया / अनुरोध शरीर

    पी एस पंक्तियों को हमेशा "\ r \ n" बाइट्स ("खाली पंक्तियां" केवल उन दो बाइट्स से बनी हैं) द्वारा बंद कर दी गई हैं।

Comments

Popular posts from this blog

php - Creating canonical URLs with custom route-classes -

mysql - Formatting problem with PHP DateTime Difference when used as part of an equation -

Mysql Local server hardware -