यह एक आकर्षक प्रश्न है। यहाँ अन्य उत्तर सभी अटकलें हैं, और कुछ मामलों में फ्लैट-आउट गलत हैं। यहाँ मेरी राय लिखने के बजाय, मैं वास्तव में कुछ शोध किया और मूल स्रोतों यही कारण है कि विचार-विमर्श पाया हटाना और पुट एचटीएमएल 5 प्रपत्र मानक का हिस्सा नहीं हैं।
यह पता चला है के रूप में, इन तरीकों रहे थे में शामिल कई, जल्दी एचटीएमएल 5 ड्राफ्ट (!), लेकिन बाद में हटा दिया गया बाद में ड्राफ्ट । मोज़िला ने वास्तव में फ़ायरफ़ॉक्स बीटा में भी इसे लागू किया था ।
मसौदे से इन तरीकों को हटाने के लिए तर्क क्या था? W3C ने बग रिपोर्ट 10671 में इस विषय पर चर्चा की । माइक अमुंडसेन ने इस समर्थन के पक्ष में तर्क दिया:
मूल सर्वर पर संसाधनों को संशोधित करने के लिए PUT और DELETE को निष्पादित करना XmlHttpRequest ऑब्जेक्ट का उपयोग करके आधुनिक वेब ब्राउज़र के लिए सीधे-आगे है। बिना स्क्रिप्ट के ब्राउज़र इंटरैक्शन के लिए यह इतना सरल नहीं है। [...]
इस पैटर्न की इतनी बार आवश्यकता होती है कि कई सामान्य रूप से उपयोग किए जाने वाले वेब फ्रेमवर्क / लाइब्रेरीज़ ने एक "बिल्ट-इन" वर्क-अराउंड बनाया है। [...]
अन्य बातें:
- PUT / DELETE का उपयोग करने के बजाय POST को एक सुरंग के रूप में उपयोग करने से कैसिंग मिस-मैच हो सकते हैं (जैसे POST प्रतिक्रियाएं अस्वीकार्य हैं , PUT प्रतिक्रियाएं नहीं हैं (6), DELETE प्रतिक्रियाएं नहीं हैं (7))
- एक idempotent ऑपरेशन (PUT / DELETE) करने के लिए एक नॉन-इम्पोटेंट विधि (POST) का उपयोग करके नेटवर्क विफलताओं के कारण रिकवरी को जटिल बनाता है (उदाहरण के लिए "इस क्रिया को दोहराने के लिए सुरक्षित है?")।
- [...]
यह उनकी पूरी पोस्ट पढ़ने लायक है।
टॉम वार्ड्रॉप भी एक दिलचस्प बिंदु बनाता है:
एचटीएमएल HTTP का अटूट बंधन है। HTML HTTP का मानव इंटरफ़ेस है। इसलिए यह स्वचालित रूप से संदिग्ध है कि HTML HTTP विनिर्देश में सभी प्रासंगिक विधियों का समर्थन क्यों नहीं करता है। PUT और DELETE संसाधनों को क्यों मशीन कर सकती है, लेकिन मनुष्य नहीं कर सकते? [...]
यह विरोधाभासी है कि एचटीएमएल सिमेंटिक मार्कअप सुनिश्चित करने के लिए बड़ी लंबाई तक जाता है, लेकिन सिमेंटिक HTTP अनुरोधों को सुनिश्चित करने के लिए ऐसा कोई प्रयास नहीं करना पड़ता है।
बग को अंतत : राशन के साथ, इयान हिकसन द्वारा वैट फिक्स के रूप में बंद नहीं किया गया था :
एक फार्म विधि के रूप में पीयूटी का कोई मतलब नहीं है, आप एक पेलोड को नहीं छोड़ना चाहेंगे। DELETE केवल तभी समझ में आता है जब कोई पेलोड न हो, इसलिए यह रूपों के साथ बहुत अधिक अर्थ नहीं रखता है।
हालाँकि, यह कहानी का अंत नहीं है! इस समस्या को W3C बग ट्रैकर में बंद कर दिया गया था और HTML वर्किंग ग्रुप इश्यू ट्रैकर को बढ़ा दिया गया था :
https://www.w3.org/html/wg/tracker/issues/195
इस बिंदु पर, ऐसा लगता है कि इन तरीकों के लिए कोई समर्थन नहीं होने का मुख्य कारण यह है कि किसी ने भी इसके लिए एक व्यापक विनिर्देश लिखने के लिए समय नहीं लिया है।