मेरे द्वारा निपटाए गए कई सर्वर HTTP 200 को उन अनुरोधों के लिए लौटाएंगे, जो ग्राहक को असफलता पर विचार करने के लिए चाहिए, शरीर में 'सफलता: असत्य' जैसी चीज के साथ।
यह मेरे लिए HTTP कोड के उचित कार्यान्वयन की तरह प्रतीत नहीं होता है, खासकर असफल प्रमाणीकरण के मामलों में। मैंने HTTP त्रुटि कोड को बहुत आसानी से पढ़ा है, जैसा कि '4xx' इंगित करता है कि अनुरोध को तब तक फिर से नहीं किया जाना चाहिए, जबकि '5xx' इंगित करता है कि अनुरोध मान्य हो सकता है या वापस नहीं लिया जा सकता है, लेकिन असफल रहा है। इस स्थिति में 200: लॉगिन विफल हो गया, या 200: उस फ़ाइल को नहीं ढूंढ सका, या 200: लापता पैरामीटर x, निश्चित रूप से गलत लगता है।
दूसरी ओर, मैं इस तर्क को देख सकता था कि '4xx' केवल अनुरोध के साथ एक संरचनात्मक मुद्दे को इंगित करना चाहिए। इसलिए यह 200: खराब उपयोगकर्ता / पासवर्ड को 401 अनधिकृत के बजाय वापस करने के लिए उचित है क्योंकि ग्राहक को अनुरोध करने की अनुमति है, लेकिन यह गलत होता है। इस तर्क को संक्षेप में प्रस्तुत किया जा सकता है, यदि सर्वर अनुरोध को संसाधित करने और सभी पर एक दृढ़ संकल्प करने में सक्षम था, तो प्रतिक्रिया कोड 200 होना चाहिए, और यह ग्राहक के ऊपर है कि वह आगे की जानकारी के लिए शरीर की जांच कर सके।
मूल रूप से, यह वरीयता का मामला लगता है। लेकिन यह असंतोषजनक है, इसलिए यदि किसी के पास कोई कारण है कि इनमें से एक भी प्रतिमान अधिक सही है, तो मैं जानना चाहूंगा।
success: false
तात्पर्य यह है कि अनुरोध विफल हो गया और आप इसे जानते हैं। यह 500 होना चाहिए। आपके खराब उपयोगकर्ता नाम / पासवर्ड की तरह कुछ 401 होगा। यह अस्पष्ट नहीं है।