PUT क्या है?
PUT विधि का उपयोग सर्वर पर उपलब्ध संसाधन को अद्यतन करने के लिए किया जाता है। आमतौर पर, यह लक्ष्य URL पर मौजूद चीज़ों को किसी अन्य चीज़ से बदल देता है। आप एक नया संसाधन बनाने के लिए या किसी मौजूदा को अधिलेखित करने के लिए इसका उपयोग कर सकते हैं। PUT अनुरोध करता है कि संलग्न इकाई को अनुरोधित URI (यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर) के तहत संग्रहीत किया जाना चाहिए।
इस ट्यूटोरियल में, आप सीखेंगे:
- PUT क्या है?
- POST क्या है?
- PUT का उदाहरण
- POST का उदाहरण
- PUT और POST में अंतर
- PUT अनुरोधों के साथ एक एपीआई का परीक्षण
- POST अनुरोधों के साथ एक एपीआई का परीक्षण
- PUT विधि के लाभ
- POST विधि के लाभ
POST क्या है?
POST एक तरीका है जो HTTP और द्वारा समर्थित है
दर्शाया गया है कि एक वेब सर्वर संदेश के शरीर में शामिल डेटा को स्वीकार करता है, जिसे अनुरोध किया गया है। POST का इस्तेमाल वर्ल्ड वाइड वेब द्वारा अक्सर वेब सर्वर पर या जब आप फ़ाइल अपलोड करते हैं, तो उपयोगकर्ता द्वारा जनरेट किए गए डेटा को भेजने के लिए किया जाता है।
प्रमुख स्रोत:
- PUT विधि उस समय की जाती है जब आपको किसी एकल संसाधन को संशोधित करना होता है जबकि POST विधि को तब बुलाया जाता है जब आपको एक बाल संसाधन जोड़ना होता है।
- PUT विधि प्रतिक्रिया को कैश किया जा सकता है लेकिन आप PUT विधि प्रतिक्रियाओं को कैश नहीं कर सकते।
- आप PUT में UPDATE क्वेरी का उपयोग कर सकते हैं जबकि आप POST में क्वेरी बना सकते हैं।
- PUT विधि में, क्लाइंट तय करता है कि कौन सा URI संसाधन होना चाहिए, और POST विधि में, सर्वर तय करता है कि कौन सा URI संसाधन होना चाहिए।
- PUT विशिष्ट के रूप में काम करता है जबकि POST सार के रूप में काम करता है।
- यदि आप एक ही PUT अनुरोध को कई बार भेजते हैं, तो परिणाम समान रहेगा लेकिन यदि आप एक ही POST अनुरोध को कई बार भेजते हैं, तो आपको अलग-अलग परिणाम प्राप्त होंगे।
- पीयूटी विधि उदासीन है जबकि पीओएसटी विधि निष्प्राण नहीं है।
PUT का उदाहरण
यहाँ एक PUT विधि का वेबसर्वर उदाहरण है:
HTTP PUT http://www.google.com/users/234
HTTP PUT http://www.google.com/users/234/accounts/567
निवेदन
PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20New File
जवाब
यदि लक्ष्य संसाधन में वर्तमान प्रतिनिधित्व है और संलग्न प्रतिनिधित्व की स्थिति के साथ संशोधित किया गया है, तो सर्वर को दो प्रतिक्रियाएं भेजनी चाहिए। पहला प्रतिक्रिया कोड 200 (ठीक) है, और दूसरा प्रतिक्रिया कोड 204 (कोई सामग्री नहीं) है।
यदि लक्ष्य संसाधन में कोई प्रतिनिधित्व नहीं है, तो सर्वर को 201 कोड (निर्मित) प्रतिक्रिया भेजकर उपयोगकर्ता को सूचित करना चाहिए।
HTTP/1.1 201 CreatedContent-Location: /new.html
POST का उदाहरण
यहाँ POST विधि का एक उदाहरण दिया गया है:
HTTP POST http://www.google.com/users
HTTP POST http://www.google.com/users/234/accounts
डिफ़ॉल्ट एप्लिकेशन / x-www-form-urlencoded सामग्री प्रकार का उपयोग कर एक फॉर्म:
POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2
PUT और POST में अंतर
यहाँ PUT और POST विधि के बीच महत्वपूर्ण अंतर है:
लगाया हुआ | पद |
यह विधि निष्प्राण है। | यह विधि निष्प्राण नहीं है। |
जब आप किसी एकल संसाधन को संशोधित करना चाहते हैं, तो PUT विधि कॉल होती है, जो पहले से ही संसाधन संग्रह का एक हिस्सा है। | POST विधि कॉल है जब आपको संसाधन संग्रह के तहत एक बाल संसाधन जोड़ना होगा। |
RFC-2616 में दर्शाया गया है कि PUT विधि आपूर्ति किए गए अनुरोध URI में संग्रहीत संलग्न इकाई के लिए अनुरोध भेजती है। | यह विधि सर्वर को अनुरोध में संलग्न इकाई को स्वीकार करने का अनुरोध करती है। |
PUT विधि वाक्यविन्यास PUT / प्रश्न / {प्रश्न-आईडी} है | POST पद्धति वाक्य रचना POST / प्रश्न हैं |
PUT विधि उत्तर को कैश किया जा सकता है। | आप PUT विधि प्रतिक्रियाओं को कैश नहीं कर सकते। |
PUT / vi / रस / आदेश / 1234 इंगित करता है कि आप एक संसाधन को अपडेट कर रहे हैं जिसे "1234" द्वारा पहचाना जाता है। | POST / vi / रस / आदेश इंगित करता है कि आप एक नया संसाधन बना रहे हैं और संसाधन का वर्णन करने के लिए एक पहचानकर्ता लौटाते हैं। |
यदि आप एक ही अनुरोध को कई बार भेजते हैं, तो परिणाम समान रहेगा। | यदि आप एक ही समय में एक ही POST अनुरोध भेजते हैं, तो आपको विभिन्न परिणाम प्राप्त होंगे। |
PUT विशिष्ट के रूप में काम करता है। | POST अमूर्त के रूप में काम करता है। |
हम PUT में UPDATE क्वेरी का उपयोग करते हैं। | हम POST में क्वेरी बनाते हैं। |
PUT विधि में, क्लाइंट तय करता है कि कौन सा URI संसाधन होना चाहिए। | POST विधि में, सर्वर तय करता है कि कौन सा URI संसाधन होना चाहिए। |
PUT अनुरोधों के साथ एक एपीआई का परीक्षण
यहां PUT अनुरोधों के साथ API का परीक्षण करने के चरण दिए गए हैं:

चरण 1) PUT अनुरोध के साथ संसाधन अपडेट करें।
चरण 2) संसाधन के लिए GET विधि का उपयोग करें। यदि PUT सफलता का अनुरोध करता है, तो आपको नया डेटा प्राप्त होगा। यदि अनुरोध में दिया गया डेटा अमान्य है, तो यह विधि विफल हो जाएगी। इसलिए, यह कुछ भी अपडेट नहीं करेगा।
POST अनुरोधों के साथ एक एपीआई का परीक्षण
यहां POST अनुरोधों के साथ API का परीक्षण करने के चरण दिए गए हैं:

चरण 1) POST अनुरोध का उपयोग करके एक संसाधन बनाएं और सुनिश्चित करें कि यह 200 स्थिति कोड लौटाता है।
चरण 2) उस संसाधन के लिए एक GET अनुरोध करें और डेटा को सही प्रारूप में सहेजें।
चरण 3) आपको उन परीक्षणों को जोड़ना होगा जो यह सुनिश्चित करते हैं कि गलत डेटा के साथ POST अनुरोध विफल हो जाते हैं।
PUT विधि के लाभ
यहां पीयूटी पद्धति का उपयोग करने के लाभ / लाभ हैं:
- यह आपूर्ति की गई यूआरआई के तहत आपूर्ति की गई इकाई को संग्रहीत करने में आपकी मदद करता है
- यदि आपूर्ति की गई इकाई पहले से मौजूद है, तो आप अपडेट ऑपरेशन कर सकते हैं, या आप उस यूआरआई के साथ बना सकते हैं।
- आप जितनी बार चाहें एक संसाधन बना सकते हैं।
- PUT विधि के साथ एक संसाधन बनाना बहुत आसान है।
- आपको यह जांचने की आवश्यकता नहीं है कि उपयोगकर्ता ने कई बार सबमिट बटन पर क्लिक किया है या नहीं।
- यह अनुरोध के साथ संलग्न इकाई की पहचान कर सकता है।
POST विधि के लाभ
यहाँ POST विधि का उपयोग करने के लाभ / लाभ हैं:
- यह विधि आपको संसाधन URI निर्धारित करने में मदद करती है।
- एक नया संसाधन स्थान हेडर निर्दिष्ट करना स्थान हेडर का उपयोग करना बहुत आसान है।
- आप इकाई को संसाधन के एक नए अधीनस्थ के रूप में स्वीकार करने का अनुरोध भेज सकते हैं, जिसे यूआरआई द्वारा पहचाना जाता है।
- आप उपयोगकर्ता-जनरेट किए गए डेटा को वेब सर्वर पर भेज सकते हैं।
- यह बहुत उपयोगी है जब आप किसी भी संसाधन को रखने के लिए URL नहीं जानते हैं।
- सर्वर की आवश्यकता होने पर POST का उपयोग करें, जो आपके संसाधनों की URL पीढ़ी को नियंत्रित करता है।
- POST एक सुरक्षित तरीका है क्योंकि इसके अनुरोध ब्राउज़र के इतिहास में नहीं रहते हैं।
- आप आसानी से पोस्ट का उपयोग करके बड़ी मात्रा में डेटा संचारित कर सकते हैं।
- आप डेटा को निजी रख सकते हैं।
- इस पद्धति का उपयोग बाइनरी के साथ-साथ ASCII डेटा भेजने के लिए किया जा सकता है।