एक तेज़, सर्च करने योग्य HTTP स्टेटस कोड लिस्ट
हर बार जब कोई ब्राउज़र, मोबाइल ऐप, या सर्च इंजन क्रॉलर किसी वेब सर्वर को रिक्वेस्ट भेजता है, तो सर्वर तीन अंकों के नंबर के साथ जवाब देता है। ये HTTP स्टेटस कोड क्लाइंट को ठीक-ठीक बताते हैं कि क्या हुआ: क्या रिक्वेस्ट सफल रही, फेल हो गई, ऑथेंटिकेशन की आवश्यकता है, या इसे कहीं और रीडायरेक्ट करने की ज़रूरत है।
यह टूल आधिकारिक RFC स्पेसिफिकेशन्स पर आधारित स्टैंडर्ड HTTP रिस्पॉन्स कोड की एक पूरी, सर्च करने योग्य डिक्शनरी प्रदान करता है। चूंकि पूरी लिस्ट आपके ब्राउज़र में लोकली लोड और फ़िल्टर होती है, इसलिए सर्च तुरंत होता है। 301 और 302 के बीच का अंतर देखने, या 422 एरर का मतलब जानने के लिए आपको पेज रीलोड होने का इंतज़ार करने की ज़रूरत नहीं है।
HTTP रिस्पॉन्स कोड की पांच श्रेणियां
HTTP कोड को पांच अलग-अलग श्रेणियों में बांटा गया है, जिन्हें उनके पहले अंक से पहचाना जाता है। इन श्रेणियों को समझना वेब ट्रैफ़िक की समस्याओं को पहचानने का सबसे तेज़ तरीका है:
1xx (सूचनात्मक)
ये कोड बताते हैं कि सर्वर को रिक्वेस्ट मिल गई है और प्रोसेस जारी है। ये अस्थायी रिस्पॉन्स होते हैं, और क्लाइंट को अंतिम रिस्पॉन्स का इंतज़ार करना चाहिए। उदाहरण के लिए, 100 Continue क्लाइंट को आगे बढ़ने और रिक्वेस्ट बॉडी भेजने के लिए कहता है।
2xx (सफल)
2xx कोड का मतलब है कि क्लाइंट की रिक्वेस्ट सफलतापूर्वक प्राप्त कर ली गई है, समझ ली गई है और स्वीकार कर ली गई है। इसमें सबसे आम 200 OK है, जो एक सफल HTTP रिक्वेस्ट का स्टैंडर्ड रिस्पॉन्स है। जब आप API के ज़रिए कोई नया रिकॉर्ड बनाते हैं, तो आपको 201 Created दिख सकता है।
3xx (रीडायरेक्शन)
ये कोड क्लाइंट को बताते हैं कि रिक्वेस्ट को पूरा करने के लिए आगे की कार्रवाई की ज़रूरत है। इसका आमतौर पर मतलब होता है कि मांगी गई रिसोर्स को कहीं और ले जाया गया है। 301 Moved Permanently सर्च इंजनों को अपने लिंक अपडेट करने के लिए कहता है, जबकि 302 Found एक अस्थायी बदलाव को दर्शाता है।
4xx (क्लाइंट एरर)
4xx रेंज के HTTP एरर कोड का मतलब है कि समस्या क्लाइंट की तरफ से है। रिक्वेस्ट में गलत सिंटैक्स हो सकता है, सही ऑथेंटिकेशन की कमी हो सकती है, या किसी ऐसी रिसोर्स की मांग की गई हो जो मौजूद ही नहीं है। ये एरर तब आम होते हैं जब यूज़र URL गलत टाइप करते हैं या जब API इंटीग्रेशन गलत फ़ॉर्मेट वाला डेटा भेजते हैं।
5xx (सर्वर एरर)
5xx कोड का मतलब है कि सर्वर एक मान्य रिक्वेस्ट को पूरा करने में विफल रहा। क्लाइंट ने सब कुछ सही किया, लेकिन सर्वर में कोई आंतरिक समस्या आ गई, वह क्रैश हो गया, या वर्तमान में ओवरलोडेड है।
सामान्य HTTP एरर कोड्स जो आपको पता होने चाहिए
वैसे तो दर्जनों कोड्स हैं, लेकिन एक डेवलपर या वेबमास्टर के रूप में आपको ज़्यादातर कुछ गिने-चुने एरर्स का ही सामना करना पड़ता है:
404 स्टेटस कोड (Not Found)
इंटरनेट पर शायद सबसे मशहूर एरर, 404 स्टेटस कोड का मतलब है कि सर्वर को रिक्वेस्ट किया गया रिसोर्स नहीं मिल सका। वेबसाइट ओनर्स के लिए, SEO के नज़रिए से 404 एरर्स पर नज़र रखना बहुत ज़रूरी है, क्योंकि ब्रोकन लिंक्स यूज़र्स को निराश करते हैं और क्रॉल बजट बर्बाद करते हैं।
400 Bad Request
क्लाइंट एरर, जैसे गलत रिक्वेस्ट सिंटैक्स या इनवैलिड रूटिंग के कारण सर्वर रिक्वेस्ट को प्रोसेस नहीं कर पाता है। जब कोई ज़रूरी पैरामीटर मिसिंग होता है, तो APIs अक्सर यही एरर देते हैं।
401 Unauthorized & 403 Forbidden
ये दोनों एक्सेस से जुड़े हैं। एक 401 Unauthorized का मतलब है कि रिस्पॉन्स पाने के लिए क्लाइंट को खुद को ऑथेंटिकेट करना होगा (जैसे, मिसिंग API की)। एक 403 Forbidden का मतलब है कि क्लाइंट की पहचान तो पता है, लेकिन उसके पास रिसोर्स को एक्सेस करने की ज़रूरी परमिशन नहीं है।
500 Internal Server Error
यह सर्वर-साइड क्रैश के लिए एक सामान्य एरर है। इसका मतलब है कि सर्वर में कोई ऐसी अप्रत्याशित समस्या आ गई है जिसकी वजह से वह रिक्वेस्ट पूरी नहीं कर सका। जब आपको 500 एरर दिखे, तो असली कारण का पता लगाने के लिए आमतौर पर आपको सर्वर के एप्लिकेशन लॉग्स चेक करने होते हैं।
502 Bad Gateway & 503 Service Unavailable
एक 502 Bad Gateway तब आता है जब प्रॉक्सी (जैसे Nginx या लोड बैलेंसर) के रूप में काम कर रहे सर्वर को अपस्ट्रीम सर्वर से इनवैलिड रिस्पॉन्स मिलता है। एक 503 Service Unavailable का मतलब है कि सर्वर अभी रिक्वेस्ट को हैंडल करने में असमर्थ है, आमतौर पर ऐसा इसके ओवरलोड होने या मेंटेनेंस के लिए डाउन होने के कारण होता है।
API डेवलपमेंट के लिए बेस्ट प्रैक्टिस
REST API बनाते समय, अच्छे डेवलपर अनुभव के लिए सही HTTP स्टेटस कोड लौटाना बहुत ज़रूरी है। एरर आने पर भी 200 OK लौटाने (जिसे अक्सर एरर "swallow" करना कहा जाता है) से क्लाइंट्स को यह पता लगाने के लिए रिस्पॉन्स बॉडी को मैन्युअली पार्स करना पड़ता है कि उनकी रिक्वेस्ट वास्तव में सफल हुई या नहीं।
सबसे सटीक कोड चुनने के लिए इस रेफरेंस का उपयोग करें। उदाहरण के लिए, जब कोई यूज़र रेट लिमिट पार कर ले तो 429 Too Many Requests का उपयोग करें, या जब JSON पेलोड मान्य हो लेकिन बिज़नेस लॉजिक वैलिडेशन में विफल हो जाए तो 422 Unprocessable Content का उपयोग करें।
यदि आप सर्वर रूटिंग समस्याओं की जांच कर रहे हैं, तो डोमेन रिकॉर्ड वेरिफाई करने के लिए हमारा DNS Lookup टूल, या आपके सर्वर पर रिक्वेस्ट भेजने वाले क्लाइंट्स को समझने के लिए User-Agent Parser आपके लिए मददगार हो सकता है। यदि आप 404 एरर को रोकने के लिए यह मैनेज करना चाहते हैं कि सर्च इंजन आपकी साइट को कैसे क्रॉल करें, तो Robots.txt Generator को आज़माएं।