मैं एक विशेष सेवा में, एक संरक्षक के बारे में जानकारी मांगने के लिए उपयोग की जाने वाली एक वेब-सेवा का निर्माण कर रहा हूं।"थिंग नहीं मिला" के लिए मुझे क्या एचटीपी कोड वापस करना चाहिए?
के तर्क की खातिर कहते हैं, यह है कि देखने वेब हिट है चलो:
GET /patrons/619 HTTP/1.1
तो संरक्षक पाया जाता है, मैं वापस कोड 200:
HTTP/1.1 200 OK
आप छोड़ देते हैं, तो या एक खाता संख्या दें जो संख्या नहीं है, मैं 400 लौटाता हूं। उदाहरण के लिए निम्नलिखित खराब अनुरोध:
GET /patrons HTTP/1.1
GET /patrons/ HTTP/1.1
GET /patrons/G619 HTTP/1.1
GET /patrons/kirsten%20guyer HTTP/1.1
सभी वापसी त्रुटि 400 (ख़राब अनुरोध), उदा .:
HTTP/1.1 400 Invalid patron number
मैं नहीं मिला संरक्षक के लिए स्थिति कोड के लिए चाहते हैं, HTTP स्थिति कोड के रूप में लौट आए। उदाहरण के लिए:
GET /patrons/1322 HTTP/1.1
HTTP/1.1 404 Not Found
मैं 404 (नहीं मिला), जो है एक वैध प्रतिक्रिया (। अनुरोध किया गया संसाधन था, वास्तव में और वास्तव में, नहीं मिला) का उपयोग कर के बारे में सोचा है लेकिन मैं डर लग रहा है लोग इसे डिबग करने से सोच सकते हैं कि इसका मतलब है कि उन्होंने /patrons/
गलत लिखा है।
क्या कोई अन्य http स्टेटस कोड के बारे में सोच सकता है जिसका मैं उपयोग कर सकता हूं?
अद्यतन: मैं
204 No Content
The server successfully processed the request, but is not returning any content.
eyeballing कर रहा हूँ तुम क्या कहना?
भूलें नहीं, कि सभी HTTP सर्वर HTML सामग्री को पूरा नहीं करते हैं। यदि एक आईआईएस वेब-सर्वर से संसाधन के लिए कहा जाता है:
GET /MyStartPage.html HTTP/1.1
तब HTTP सर्वर को यह तय करना होगा कि किसके साथ जवाब देना है। अधिकांश वेब-सर्वर पर, /MyStartPage.html नामक एक संसाधन हार्ड ड्राइव पर बैठे फ़ाइल से मेल खाता है।
StackOverflow जबकि करता है:
GET /posts/1027301 HTTP/1.1
किस, यदि उस संसाधन मौजूद नहीं है, वेब सर्वर (ठीक ही) वापसी 404.
मुझे नहीं लगता कि 200-स्तर की त्रुटि उचित होगी, डब्ल्यू 3 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – defines