HTTP अनुरोध विधियाँ समझाई गईं
HTTP नौ मानक अनुरोध विधियाँ परिभाषित करता है, लेकिन रोज़मर्रा का अधिकांश ट्रैफ़िक उनमें से कुछ ही उपयोग करता है। यह तालिका हर विधि, उसकी सुरक्षा व आइडेम्पोटेंसी, और सफल कॉल के स्टेटस कोड बताती है।
| विधि | उद्देश्य | सुरक्षित? | आइडेम्पोटेंट? | सफलता स्थिति |
|---|---|---|---|---|
| GET | Retrieve a resource | Yes | Yes | 200 OK |
| HEAD | Retrieve headers only, no body | Yes | Yes | 200 OK |
| POST | Create a resource or trigger an action | No | No | 201 Created |
| PUT | Replace a resource entirely | No | Yes | 200 OK / 204 No Content |
| PATCH | Apply a partial update | No | No | 200 OK |
| DELETE | Remove a resource | No | Yes | 200 OK / 204 No Content |
| OPTIONS | CORS preflight; list allowed methods | Yes | Yes | 204 / 200 OK |
| TRACE | Echo the request back for diagnostics | Yes | Yes | 200 OK |
| CONNECT | Open a tunnel, e.g. HTTPS via a proxy | No | No | 200 OK |
टिप्पणियाँ
- सुरक्षित का मतलब है कि विधि सर्वर की स्थिति कभी नहीं बदलती: GET, HEAD, OPTIONS और TRACE ही एकमात्र सुरक्षित विधियाँ हैं।
- आइडेम्पोटेंट का मतलब है कि बार-बार कॉल करने पर एक बार कॉल करने जैसा ही परिणाम मिलता है: PUT, DELETE और GET इस परिभाषा में आते हैं; POST और PATCH नहीं।
- जब रूट किसी विधि को स्वीकार नहीं करता, सर्वर 405 Method Not Allowed देता है और आमतौर पर Allow हेडर शामिल करता है।
सामान्य प्रश्न
- GET और POST में क्या अंतर है?
- GET बिना साइड-इफ़ेक्ट के संसाधन लाता है और सुरक्षित रूप से दोहराया जा सकता है; पैरामीटर URL में जाते हैं। POST कुछ बनाता है या कोई क्रिया शुरू करता है, स्थिति बदल सकता है और इसे बिना सोचे दोहराना नहीं चाहिए।
- HTTP विधि के 'सुरक्षित' होने का क्या मतलब है?
- सुरक्षित विधि कभी सर्वर की स्थिति नहीं बदलती, इसलिए इसे बिना जोखिम के कॉल किया जा सकता है। GET, HEAD, OPTIONS और TRACE सुरक्षित हैं; POST, PUT, PATCH और DELETE नहीं।
- PUT और PATCH में क्या अंतर है?
- PUT आपके भेजे अनुसार पूरे संसाधन को बदल देता है; PATCH केवल चुनिंदा फ़ील्ड पर आंशिक बदलाव करता है। PUT आइडेम्पोटेंट है, दोहराने पर समान परिणाम मिलता है; PATCH आम तौर पर नहीं।
- HEAD विधि क्या करती है?
- HEAD, GET जैसी ही है पर प्रतिक्रिया बॉडी नहीं देती। यह पूरा कंटेंट डाउनलोड किए बिना संसाधन का अस्तित्व, आकार या हेडर जाँचने के काम आती है।