HTTP अनुरोध विधियों के पेलोड




rest request (3)

HTTP पर विकिपीडिया प्रविष्टि निम्न HTTP अनुरोध विधियों को सूचीबद्ध करती है:

  • HEAD: उस प्रतिक्रिया के लिए पूछता है जो एक जीईटी अनुरोध के अनुरूप होगा, लेकिन प्रतिक्रिया शरीर के बिना।
  • प्राप्त करें: निर्दिष्ट संसाधन का प्रतिनिधित्व करने का अनुरोध करता है।
  • पोस्ट: डेटा को संसाधित करने के लिए सबमिट करता है (उदाहरण के लिए, एक HTML फॉर्म से) पहचान संसाधन में। डेटा अनुरोध के शरीर में शामिल है।
  • PUT: निर्दिष्ट संसाधन का प्रतिनिधित्व अपलोड करता है।
  • हटाएं: निर्दिष्ट संसाधन हटा देता है।
  • ट्रैस: प्राप्त अनुरोध को वापस लेता है , ताकि एक ग्राहक देख सके कि क्या (यदि कोई है) इंटरमीडिएट सर्वर द्वारा परिवर्तन या परिवर्धन किए गए हैं।
  • विकल्प: HTTP विधियों को वापस करता है जो सर्वर निर्दिष्ट यूआरएल के लिए समर्थन करता है। इसका उपयोग किसी विशिष्ट संसाधन के बजाय '*' का अनुरोध करके वेब सर्वर की कार्यक्षमता की जांच के लिए किया जा सकता है।
  • कनेक्ट: अनुरोध कनेक्शन को एक पारदर्शी टीसीपी / आईपी सुरंग में परिवर्तित करता है, आमतौर पर एक अनएन्क्रिप्टेड HTTP प्रॉक्सी के माध्यम से एसएसएल-एन्क्रिप्टेड संचार (HTTPS) को सुविधाजनक बनाने के लिए।
  • पैच: संसाधन में आंशिक संशोधन लागू करने के लिए प्रयोग किया जाता है।

मुझे जानने में दिलचस्पी है (विशेष रूप से पहले पांच तरीकों के बारे में):

  • इनमें से कौन सी विधियां सक्षम हैं (माना जाता है?) पेलोड प्राप्त करते हैं
    • पेलोड प्राप्त करने वाले तरीकों में से, वे इसे कैसे प्राप्त करते हैं?
      • यूआरएल में क्वेरी स्ट्रिंग के माध्यम से?
      • यूआरएल-एन्कोडेड बॉडी के माध्यम से?
      • कच्चे / ठंडा शरीर के माध्यम से?
      • उपरोक्त के ((सभी / कुछ]) के संयोजन के माध्यम से?

मैं सभी इनपुट की सराहना करता हूं, अगर आप कुछ (अधिमानतः हल्का) पढ़ सकते हैं जो बहुत अच्छा होगा!


आरएफसी 7231 , HTTP 1.1 सेमेन्टिक्स और सामग्री, HTTP विधियों के अर्थशास्त्र पर सबसे अद्यतित और आधिकारिक स्रोत है। यह कल्पना कहती है कि एक पेलोड के लिए कोई परिभाषित अर्थ नहीं है जिसे किसी GET, HEAD, OPTIONS, या कनेक्ट संदेश में शामिल किया जा सकता है। धारा 4.3.8 का कहना है कि ग्राहक को एक ट्रेसी अनुरोध के लिए एक शरीर नहीं भेजना चाहिए। इसलिए, केवल ट्रैक में पेलोड नहीं हो सकता है, लेकिन प्राप्त करें, सिर, विकल्प और कनेक्ट शायद संभवतः नहीं होगा और सर्वर को यह जानने की उम्मीद नहीं है कि क्लाइंट एक भेजता है (जिसका अर्थ है कि यह इसे अनदेखा कर सकता है)।

अगर आपको लगता है कि कुछ भी संदिग्ध है, तो वहां एक मेलिंग सूची है जहां आप अपनी चिंताओं को सुन सकते हैं।


आरएफसी 7231 का सारांश यहां दिया गया है, लिंक @Darrel एक अद्यतन संस्करण को पोस्ट किया गया है:

  • सिर - कोई परिभाषित शरीर semantics।
  • प्राप्त करें - कोई परिभाषित शरीर अर्थशास्त्र नहीं।
  • पुट - बॉडी समर्थित है।
  • पोस्ट - बॉडी समर्थित है।
  • हटाएं - कोई परिभाषित शरीर अर्थशास्त्र नहीं।
  • ट्रेस - बॉडी समर्थित नहीं है
  • विकल्प - शरीर समर्थित है लेकिन उपयोग पर कोई अर्थशास्त्र नहीं (शायद भविष्य में)।
  • कनेक्ट - कोई परिभाषित शरीर semantics

जैसा कि @John ने भी उल्लेख किया है, सभी अनुरोध विधियां यूआरएल में क्वेरी स्ट्रिंग का समर्थन करती हैं (एक उल्लेखनीय अपवाद विकल्प हो सकता है जो केवल उपयोगी होता है [मेरे परीक्षणों में] यदि यूआरएल HOST/* )।

मैंने कनेक्ट और पैच विधियों का परीक्षण नहीं किया है क्योंकि मुझे एटीएम में कोई रूचि नहीं है।


मुझे पूरा यकीन है कि यह स्पष्ट नहीं है कि GET अनुरोधों में पेलोड हो सकते हैं या नहीं। अनुरोध प्राप्त करें सामान्य रूप से क्वेरी स्ट्रिंग के माध्यम से फ़ॉर्म डेटा पोस्ट करें, HEAD अनुरोधों के लिए। सिर अनिवार्य रूप से प्राप्त होता है - सिवाय इसके कि यह प्रतिक्रिया शरीर नहीं चाहता है।

(साइड नोट: मैं कहता हूं कि यह स्पष्ट नहीं है क्योंकि एक जीईटी अनुरोध तकनीकी रूप से दूसरे प्रोटोकॉल में अपग्रेड कर सकता है; असल में, वेबसाइकिलों का एक संस्करण सिर्फ यह करता था, और कुछ प्रॉक्सी सॉफ़्टवेयर इसके साथ ठीक काम करते थे, जबकि अन्य हैंडशेक पर चकित थे।)

पोस्ट आमतौर पर एक शरीर है। कोई क्वेरी स्ट्रिंग का उपयोग करने से आपको रोक नहीं रहा है, लेकिन पोस्ट बॉडी में आम तौर पर पोस्ट में फॉर्म डेटा होगा।

अधिक (और अधिक विस्तृत) जानकारी के लिए, मैं वास्तविक HTTP / 1.1 चश्मे हिट करूंगा।







payload