2011-06-10 4 views
10

क्या यह मान्य है यदि मुझे HTTP PUT अनुरोध में फ़ॉर्म डेटा भेजने की आवश्यकता है?क्या HTTP PUT अनुरोध में सामग्री-प्रकार के रूप में एप्लिकेशन/x-www-form-urlencoded हो सकता है?

यदि आप मुझे एक स्पेक पर इंगित कर सकते हैं तो यह बहुत अच्छा होगा।

[अद्यतन करने]

मैं HTTP 1.1 कल्पना के माध्यम से चले गए हैं। लेकिन मुझे नहीं पता था कि पुट अनुरोधों में फॉर्म डेटा हो सकता है या नहीं।

मैं रीस्टफुल वेबसाइसेस बनाने और एक्सेस करने के लिए जावा का उपयोग कर रहा हूं। POST सामग्री-प्रकार के रूप में एप्लिकेशन/एक्स-www-form-urlencoded का समर्थन करता है।

विनिर्देशन से, मैं समझता हूं कि POST एक नया संसाधन (अनुरोध यूआरआई द्वारा पहचाने गए संसाधन के लिए एक सबसोर्स) बनाने के लिए है और PUT संसाधन बनाने या अपडेट करने के लिए है।

लेकिन मेरा संदेह यह है कि क्या पुट विधि में फॉर्म डेटा भी हो सकता है? मैं यह पता लगाने की कोशिश कर रहा हूं कि यह spec के अनुसार ठीक है या नहीं। और मुझे HTTP 1.1 spec में इसके बारे में कुछ भी नहीं मिला।

धन्यवाद, पॉल

उत्तर

5

आवेदन हाँ, आप उपयोग कर सकते हैं/x-www फार्म-urlencoded यदि आप अपने HTTP डाल करने के लिए संबंध में सहायता चाहते हैं एक विशिष्ट भाषा, बारीकियों के साथ अपने प्रश्न अपडेट कर लें । HTTP spec सीमित नहीं करता है कि किस प्रकार के तरीकों का उपयोग मीडिया प्रकारों के साथ किया जा सकता है।

वर्तमान में प्रगति Httpbis कल्पना है PUT के एक काफी विस्तार चर्चा http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-14#page-18

3

PUT method के बाद से आपूर्ति की URI में संलग्न entity स्टोर करने के लिए प्रयोग किया जाता है और Content-Type header field एक entity header field है, यह एक का उपयोग करने के वैध है एक पुट अनुरोध में सामग्री-प्रकार हेडर फ़ील्ड।

अब शेष प्रश्न यह है कि प्राप्तकर्ता सर्वर ऐसे अनुरोध को संभाल सकता है और सामग्री-प्रकार जानकारी उचित रूप से संभाल सकता है। सबसे खराब स्थिति में यह सामग्री प्रकार हेडर फ़ील्ड को संभाल नहीं कर सकते हैं और एक 501 प्रतिक्रिया लौटाता:

इकाई के प्राप्तकर्ता किसी भी सामग्री- * (जैसे सामग्री रेंज उपेक्षा नहीं करनी चाहिए) हेडर जो को समझ या कार्यान्वित नहीं करते हैं और ऐसे मामलों में 501 (कार्यान्वित नहीं) प्रतिक्रिया वापस करनी होगी।

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