सुरक्षित और स्थिर विधियाँ

कोई विधि सुरक्षित होती है यदि वह सर्वर की स्थिति में कोई परिवर्तन नहीं करती है: GET, HEAD और OPTIONS। कोई विधि आइडम्पोटेंट होती है यदि एक ही अनुरोध को कई बार करने पर वही प्रभाव होता है जो उसे एक बार करने पर होता है: GET, HEAD, OPTIONS, PUT और DELETE। प्रत्येक सुरक्षित विधि आइडम्पोटेंट होती है; इसका विपरीत सत्य नहीं है, क्योंकि DELETE करने पर स्थिति में परिवर्तन होता है और फिर भी वह आइडम्पोटेंट बनी रहती है।

यह काम किस प्रकार करता है

इन्हीं विशेषताओं के कारण स्वचालित पुनः प्रयास संभव हो पाते हैं। एक प्रॉक्सी, ब्राउज़र या HTTP लाइब्रेरी बिना पूछे ही टाइमआउट के बाद एक आइडम्पोटेंट अनुरोध को पुनः प्रयास कर सकती है, क्योंकि इसे दोहराने से स्थिति और खराब नहीं हो सकती। POST और PATCH न तो सुरक्षित हैं और न ही आइडम्पोटेंट, यही कारण है कि कोई भी आपके लिए इनका पुनः प्रयास नहीं करता — और इसीलिए एक आइडम्पोटेंसी-की हेडर मौजूद है, जो POST को वह विशेषता प्रदान करता है जो उसमें स्वाभाविक रूप से नहीं होती।

गलत धारणा

आइडम्पोटेंट का अर्थ है "returns the same response" । इसका अर्थ है सर्वर पर समान *प्रभाव*। एक ही संसाधन को दूसरी बार डिलीट करने पर भी आइडम्पोटेंट माना जाएगा, भले ही पहली बार डिलीट करने पर 204 और दूसरी बार डिलीट करने पर 404 मिले: अंतिम स्थिति - संसाधन हट गया - एक समान होगी।

इसे यहाँ आजमाएँ

`GET /starfleet/v1/tribbles` एक जानबूझकर बनाया गया एंटी-पैटर्न है: एक ऐसा GET अनुरोध जो हर बार पढ़ने पर गिनती को दोगुना कर देता है। यह इस बात का सबसे स्पष्ट उदाहरण है कि "safe" होने का मतलब आपको किससे बचाना है।

स्रोत

अन्य शब्द

यह पृष्ठ अंग्रेज़ी में पढ़ें

सभी शब्द · परीक्षण तकनीकें · सभी 39 मॉक REST API

आखरी अपडेट