HTTP स्टेटस कोड
कोई भी HTTP स्टेटस कोड नंबर या शब्द से खोजें: आसान भाषा में मतलब, आम कारण, समाधान और उसे तय करने वाला RFC।
पूरी तरह आपके ब्राउज़र में चलता है
इसमें IANA HTTP Status Code Registry के कोड हैं (306 और 418 रिज़र्व्ड कोड के रूप में दिखते हैं), साथ ही nginx, Cloudflare और Laravel के कुछ आम अनौपचारिक कोड, जिन पर उनका स्रोत लिखा है। दूसरे वेंडरों के विशिष्ट कोड शामिल नहीं हैं।
स्टेटस कोड कैसे खोजें
- खोज बॉक्स में नंबर लिखें, जैसे
502, या कोई शब्द, जैसे rate limit या redirect। - क्लास बटनों से सूची छोटी करें: मानक कोड के लिए 1xx से 5xx, या nginx, Cloudflare और Laravel कोड के लिए अनौपचारिक।
- कोई कोड खोलकर देखें कि वह कब दिखता है और क्लाइंट के रूप में और सर्वर के मालिक के रूप में आपको क्या करना चाहिए। उस कोड का सीधा लिंक साझा करने के लिए # लिंक इस्तेमाल करें।
HTTP स्टेटस कोड पढ़ना
हर HTTP जवाब तीन अंकों के स्टेटस कोड से शुरू होता है, जो क्लाइंट को बताता है कि उसकी रिक्वेस्ट का क्या हुआ। पहला अंक परिवार बताता है: 1xx प्रगति के संदेश, 2xx सफलता, 3xx रीडायरेक्शन, 4xx रिक्वेस्ट की समस्या और 5xx सर्वर की नाकामी। जो प्रोग्राम किसी ख़ास कोड को नहीं जानता, वह भी पहले अंक को देखकर सही कदम उठा सकता है, इसीलिए नए कोड जोड़ने से पुराने क्लाइंट नहीं टूटते।
आधिकारिक सूची IANA HTTP Status Code Registry में रखी जाती है, और मतलब RFC 9110 (HTTP Semantics) और WebDAV व एक्सटेंशन के कुछ दूसरे RFC में लिखे हैं। नंबर के बाद आने वाला रीज़न फ़्रेज़, जैसे Not Found, सिर्फ़ एक लेबल है; HTTP/2 और HTTP/3 उसे ले जाते ही नहीं। 2022 में कुछ फ़्रेज़ का नाम बदला गया, इसलिए 413 अब Content Too Large है और 422 अब Unprocessable Content।
मानकों से बाहर के सर्वर भी अपने कोड गढ़ लेते हैं। nginx क्लाइंट के फ़ोन रख देने पर 499 लॉग करता है, और Cloudflare अपने नेटवर्क और आपके ओरिजिन सर्वर के बीच की नाकामियाँ बताने के लिए 520 से 526 इस्तेमाल करता है। इन्हें यहाँ अलग समूह में रखा गया है ताकि इन्हें दर्ज किए गए कोड न समझ लिया जाए। डीबग करते समय याद रखें कि आपको दिखने वाला कोड आपके ऐप्लिकेशन के आगे लगे प्रॉक्सी या CDN से भी आ सकता है, ज़रूरी नहीं कि ऐप्लिकेशन से ही आया हो।
सुझाव
- किसी फ़ेल हुई रिक्वेस्ट के पते में विशेष वर्ण हैं? उसे URL एन्कोड और डिकोड से एन्कोड या डिकोड करें।
- API त्रुटि की रिस्पॉन्स बॉडी JSON फ़ॉर्मैट और वैलिडेट करें से पढ़ें।
- किसी ख़ास ब्राउज़र या बॉट के लिए 403 आ रहा है? क्लाइंट क्या भेजता है, यह यूज़र एजेंट पार्सर से जाँचें।
अक्सर पूछे जाने वाले सवाल
स्टेटस कोड की पाँच क्लास का क्या मतलब है?
पहला अंक क्लास तय करता है। 1xx सूचनात्मक है और रिक्वेस्ट अभी चल रही है, 2xx का मतलब सफलता है, 3xx का मतलब है कि क्लाइंट को एक और कदम उठाना होगा (आम तौर पर रीडायरेक्ट), 4xx का मतलब है कि रिक्वेस्ट में क्लाइंट की तरफ़ कोई समस्या है, और 5xx का मतलब है कि सही दिखने वाली रिक्वेस्ट पर सर्वर नाकाम रहा।
401 और 403 में क्या फ़र्क है?
401 का मतलब है कि सर्वर नहीं जानता कि आप कौन हैं: क्रेडेंशियल गायब, ग़लत या एक्सपायर हैं, और लॉग इन करने से बात बन सकती है। 403 का मतलब है कि वह आपको पहचानता है और आपको यह करने की अनुमति नहीं है, इसलिए वही क्रेडेंशियल दोबारा भेजने से मदद नहीं मिलेगी।
रीडायरेक्ट के लिए 301 इस्तेमाल करूँ या 302?
जब बदलाव स्थायी हो तब 301 (या 308) इस्तेमाल करें, ताकि ब्राउज़र और सर्च इंजन नए पते पर आ जाएं। जब पुराना पता वापस आने वाला हो तब 302 (या 307) इस्तेमाल करें। 307 और 308 रिक्वेस्ट का मेथड बनाए रखते हैं, जबकि 301 और 302 में पुराने क्लाइंट POST को GET बना सकते हैं।
क्या 418 I'm a teapot असली स्टेटस कोड है?
यह RFC 2324 में कॉफ़ी-पॉट कंट्रोल प्रोटोकॉल के लिए अप्रैल फ़ूल के मज़ाक के रूप में शुरू हुआ था। IANA अब 418 को अप्रयुक्त बताकर रिज़र्व्ड रखता है, ताकि उसे कोई असली मतलब न दिया जाए। कुछ साइटें अब भी मज़ाक में या स्क्रैपर को भगाने के लिए इसे लौटाती हैं, लेकिन यह मानक जवाब नहीं है।
520 से 526 और 499 क्या हैं?
ये HTTP मानकों में नहीं हैं। 520 से 526 Cloudflare की त्रुटियाँ हैं जो Cloudflare और आपके अपने सर्वर के बीच की समस्याएँ बताती हैं, और 499 nginx का लॉग कोड है उस क्लाइंट के लिए जो जवाब आने से पहले कनेक्शन छोड़ गया। इन्हें अनौपचारिक समूह में उनके स्रोत के साथ दिखाया गया है।
5xx त्रुटि दोबारा कोशिश करने पर कभी-कभी गायब क्यों हो जाती है?
बहुत-सी 5xx त्रुटियाँ ओवरलोड, रीस्टार्ट होते बैकएंड या थोड़ी देर की नेटवर्क गड़बड़ी से आती हैं, जो कुछ ही सेकंड में ठीक हो सकती हैं। GET जैसी idempotent रिक्वेस्ट के लिए बढ़ते अंतराल के साथ दोबारा कोशिश करना सुरक्षित है; POST के लिए पहले यह जाँच लें कि पहली कोशिश पहले ही सफल न हो चुकी हो।