HTTP प्रमाणीकरण ( डब्लूडब्लूडब्लू-ऑथेंटिकेट एंड ऑथोराइज़ेशन हेडर्स) मानकर उपयोग में है , यदि कोई अन्य उपयोगकर्ता प्रमाणित संसाधन के लिए पहुँच प्रदान करेगा, तो 401 अनधिकृत लौटाया जाना चाहिए।
403 निषिद्ध का उपयोग तब किया जाता है जब संसाधन तक पहुंच सभी के लिए वर्जित हो या किसी दिए गए नेटवर्क तक सीमित हो या केवल SSL पर अनुमति दी जाए, जब तक कि यह HTTP प्रमाणीकरण से संबंधित नहीं है।
यदि HTTP प्रमाणीकरण उपयोग में नहीं है और सेवा कुकी आधारित प्रमाणीकरण योजना है जैसा कि आजकल मानक है, तो 403 या 404 वापस किया जाना चाहिए।
401 के संबंध में, यह RFC 7235 (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP / 1.1): ऑथेंटिकेशन) से है:
3.1। अनधिकृत 401
401 (अनधिकृत) स्थिति कोड इंगित करता है कि अनुरोध लागू नहीं किया गया है क्योंकि इसमें लक्ष्य संसाधन के लिए मान्य प्रमाणीकरण क्रेडेंशियल्स का अभाव है। मूल सर्वर एक डब्ल्यूडब्ल्यूडब्ल्यू-ऑथेंटिकेट हेडर फ़ील्ड (धारा 4.4) भेजना चाहिए जिसमें कम से कम एक चुनौती होती है जो लक्ष्य संसाधन पर लागू होती है। यदि अनुरोध में प्रमाणीकरण क्रेडेंशियल शामिल हैं, तो 401 प्रतिक्रिया इंगित करती है कि प्रमाणीकरण उन क्रेडेंशियल्स के लिए मना कर दिया गया है। क्लाइंट MAY एक नए या प्रतिस्थापित प्राधिकरण हेडर फ़ील्ड (धारा 4.1) के साथ अनुरोध को दोहराता है। यदि 401 प्रतिक्रिया में पूर्व प्रतिक्रिया के समान चुनौती है, और उपयोगकर्ता एजेंट ने पहले से ही कम से कम एक बार प्रमाणीकरण का प्रयास किया है, तो उपयोगकर्ता एजेंट SHOULD उपयोगकर्ता को संलग्न प्रतिनिधित्व प्रस्तुत करता है, क्योंकि इसमें आमतौर पर प्रासंगिक नैदानिक जानकारी होती है।
403 (और 404) शब्दार्थ समय के साथ बदल गए हैं। यह 1999 (RFC 2616) से है:
10.4.4 403 निषिद्ध
सर्वर अनुरोध को समझ गया, लेकिन इसे पूरा करने से इनकार कर रहा है।
प्राधिकरण मदद नहीं करेगा और अनुरोध को दोहराया नहीं जाना चाहिए।
यदि अनुरोध विधि HEAD नहीं थी और सर्वर यह
सार्वजनिक करना चाहता है कि अनुरोध क्यों पूरा नहीं हुआ है, तो यह इकाई में इनकार के कारण का वर्णन करेगा। यदि सर्वर क्लाइंट को यह जानकारी उपलब्ध नहीं कराना चाहता है, तो
इसके बजाय स्थिति कोड 404 (नहीं मिला) का उपयोग किया जा सकता है।
2014 में RFC 7231 (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल (HTTP / 1.1): शब्दार्थ और सामग्री) ने 403 का अर्थ बदल दिया:
6.5.3। 403 निषिद्ध
403 (निषिद्ध) स्थिति कोड इंगित करता है कि सर्वर अनुरोध को समझ गया है लेकिन इसे अधिकृत करने से इनकार करता है। एक सर्वर जो सार्वजनिक करना चाहता है कि अनुरोध क्यों मना किया गया है, प्रतिक्रिया पेलोड (यदि कोई हो) में उस कारण का वर्णन कर सकता है।
यदि प्रमाणीकरण क्रेडेंशियल्स अनुरोध में प्रदान किए गए थे, तो
सर्वर उन्हें एक्सेस देने के लिए अपर्याप्त मानता है। ग्राहक
स्वयं उसी
क्रेडेंशियल्स के साथ अनुरोध को दोहराता नहीं है । क्लाइंट MAY नए या अलग क्रेडेंशियल्स के साथ अनुरोध को दोहराता है। हालाँकि,
क्रेडेंशियल्स से असंबंधित कारणों के लिए एक अनुरोध मना किया जा सकता है ।
एक मूल सर्वर जो
निषिद्ध लक्ष्य संसाधन MAY के वर्तमान अस्तित्व को "छिपाना" चाहता है, इसके बजाय एक स्थिति कोड के साथ प्रतिक्रिया करता है
404 (नहीं मिला) ।
इस प्रकार, 403 (या 404) अब किसी भी चीज़ के बारे में हो सकता है। नई साख प्रदान करने में मदद मिल सकती है ... या यह नहीं हो सकता है।
मेरा मानना है कि यह कारण बदल गया है कि RFC 2616 माना जाता है कि HTTP प्रमाणीकरण का उपयोग तब किया जाएगा जब आज के वेब ऐप उदाहरणों और कुकीज़ के लिए कस्टम प्रमाणीकरण योजनाओं का उपयोग करते हैं।