संक्षिप्त उत्तर: पुट ऑपरेशन की एसिडिटी और अद्यतन इकाई की स्थिति।
लांग जवाब:
RFC 2616: पैरा 2.5, "POST विधि संलग्न इकाई अनुरोध किया गया URL की एक नई अधीनस्थ के रूप में स्वीकार किए जाने का अनुरोध"। अनुच्छेद 2.6, "पुट विधि निर्दिष्ट इकाई पर संलग्न इकाई को संग्रहीत करने का अनुरोध करती है"।
हर बार जब आप पोस्ट निष्पादित करते हैं, अर्थात् सर्वर पर एक नया इकाई उदाहरण बनाना है, पोस्ट एक एसीआईडी ऑपरेशन का गठन करता है। लेकिन शरीर में एक ही इकाई के साथ दो बार एक ही पोस्ट दोहराया जा सकता है, फिर भी परिणामस्वरूप अलग-अलग परिणाम हो सकते हैं, उदाहरण के लिए सर्वर नए इंस्टॉलेशन को स्टोर करने के लिए स्टोरेज से बाहर चला गया है - इस प्रकार, POST बेवकूफ नहीं है।
दूसरी तरफ एक मौजूदा इकाई को अद्यतन करने का अर्थपूर्ण है। इस बात की कोई गारंटी नहीं है कि भले ही आंशिक अद्यतन बेवकूफ है, यह भी एसीआईडी है और इसके परिणामस्वरूप लगातार और वैध इकाई स्थिति होती है। इस प्रकार, एसिडिटी सुनिश्चित करने के लिए, अर्थपूर्ण को पूर्ण इकाई को भेजने की आवश्यकता है। यहां तक कि यदि यह HTTP प्रोटोकॉल लेखकों के लिए एक लक्ष्य नहीं था, तो PUT अनुरोध की idempotency ACID को लागू करने के प्रयास के दुष्प्रभाव के रूप में होगा।
बेशक, यदि HTTP सर्वर के पास संस्थाओं के अर्थशास्त्र का नज़दीकी ज्ञान है, तो यह आंशिक PUTs को अनुमति दे सकता है, क्योंकि यह सर्वर-साइड तर्क के माध्यम से इकाई की स्थिरता सुनिश्चित कर सकता है। हालांकि डेटा और सर्वर के बीच तंग युग्मन की आवश्यकता है।
स्रोत
2010-03-12 10:19:23
इस मुद्दे के बारे में एक और चर्चा के लिए यहां देखें: http://tech.groups.yahoo.com/group/rest-discuss/message/17415 - मैंने इसे सब पढ़ लिया है और परिभाषा के लिए कोई अनिवार्य कारण नहीं देखा है केवल पूर्ण अपडेट के लिए हो रहा है। – lkraider
@lkraider मैं सहमत हूं। मुझे कुछ करने के अलावा कोई लाभ नहीं दिखता क्योंकि HTTP स्पेक पुट और पैच (जो बहुत व्यावहारिक नहीं है) के बीच एक भिन्नता बनाता है। – Brenden