HTTP स्टेटस एनालाइज़र कैसे इस्तेमाल करें
- कच्चा HTTP रिस्पॉन्स (स्टेटस लाइन, हेडर, ख़ाली लाइन, बॉडी) या curl -i का आउटपुट पेस्ट करें — या fetch मोड में जाकर कोई सार्वजनिक URL डालें।
- अगर आपके पेस्ट में स्टेटस लाइन नहीं है, तो स्टेटस फ़ील्ड में कोड डाल दें।
- "Analyze" दबाएँ और उस स्टेटस के लिए अर्थ, बॉडी तथा कैशिंग से जुड़ी अपेक्षाएँ पढ़ें।
- फ़ाइंडिंग और साथी-हेडर तालिका देखें; पहले त्रुटियाँ ठीक करें, फिर चेतावनियाँ।
HTTP स्टेटस एनालाइज़र की खूबियाँ
- 100–599 के किसी भी कोड की क्लास, अर्थ, सामान्य इस्तेमाल और टेस्टिंग संकेत समझाता है
- स्टेटस के अनुसार साथी हेडर जाँचता है: Location, WWW-Authenticate, Allow, Retry-After, Content-Range, Proxy-Authenticate
- 204/304 पर बॉडी, छूटा हुआ Content-Type, अमान्य Retry-After, कैश हो सकने वाली 5xx त्रुटियाँ और पार्स न होने वाली JSON बॉडी चिह्नित करता है
- मेथड और स्टेटस के बेमेल पकड़ता है, जैसे POST के बाद 301 या create के बाद Location सहित 200
- कच्चे रिस्पॉन्स, curl -i आउटपुट, हेडर सूची या JSON ऑब्जेक्ट स्वीकार करता है; या बिना रीडायरेक्ट फ़ॉलो किए कोई सार्वजनिक URL fetch करता है
- फ़ैसला (सही / संदिग्ध / ग़लत) और डाउनलोड की जा सकने वाली फ़ाइंडिंग तालिका
HTTP स्टेटस एनालाइज़र का उदाहरण
चैलेंज के बिना 401
इनपुट:
HTTP/1.1 401 Unauthorized
Content-Type: text/html
Cache-Control: max-age=3600आउटपुट:
Status: 401 Unauthorized (client error) · Verdict: Incorrect
High — WWW-Authenticate: 401 Unauthorized requires a WWW-Authenticate header. RFC 9110 requires at least one challenge.
Low — Content-Type: Error responses from APIs are easier to consume as application/problem+json.HTTP स्टेटस एनालाइज़र के बारे में अक्सर पूछे जाने वाले सवाल
किस स्टेटस के लिए कौन-से हेडर ज़रूरी हैं?
301/302/303/307/308 के लिए Location, 401 के लिए WWW-Authenticate, 405 के लिए Allow, 407 के लिए Proxy-Authenticate और 206 के लिए Content-Range ज़रूरी है। 429 तथा 503 के साथ Retry-After भेजना चाहिए।
कौन-से इनपुट फ़ॉर्मैट चलते हैं?
कच्चा HTTP रिस्पॉन्स (स्टेटस लाइन, हेडर, ख़ाली लाइन, बॉडी), curl -i का आउटपुट, सादी "Name: value" पंक्तियाँ जिनके साथ स्टेटस कोड अलग से डाला गया हो, या status और headers वाला JSON ऑब्जेक्ट।
क्या fetch मोड रीडायरेक्ट फ़ॉलो करता है?
नहीं — यह पहला रिस्पॉन्स लौटाता है, ताकि आप रीडायरेक्ट स्टेटस और उसका Location हेडर देख सकें। URL सार्वजनिक होना चाहिए।
204 पर बॉडी होने की शिकायत क्यों आती है?
RFC 9110 के अनुसार 1xx, 204 और 304 रिस्पॉन्स में मैसेज बॉडी नहीं होनी चाहिए; बॉडी मौजूद हो तो कई क्लाइंट फ़ेल हो जाते हैं या अटक जाते हैं।
401 और 403 में क्या अंतर है?
401 का मतलब है कि प्रमाणीकरण नहीं है या अमान्य है, और उसके साथ WWW-Authenticate चैलेंज होना ज़रूरी है; 403 का मतलब है कि कॉल करने वाला पहचाना हुआ है पर उसे अनुमति नहीं है, इसलिए किसी चैलेंज की ज़रूरत नहीं।
तकनीकी नोट्स
स्टेटस का अर्थ साझा HTTP नॉलेज बेस से आता है (RFC 9110 और आम वेंडर कोड)। साथी-हेडर के नियम RFC की "MUST"/"SHOULD" भाषा को दर्शाते हैं: ज़रूरी हेडर छूटने पर उच्च गंभीरता की फ़ाइंडिंग बनती है और सुझाए गए हेडर पर निम्न गंभीरता का नोट।
fetch मोड में relay से कहा जाता है कि वह रीडायरेक्ट फ़ॉलो न करे, ताकि 301/302 और उसका Location हेडर जैसा लौटा वैसा ही जाँचा जा सके; relay फिर भी प्राइवेट और loopback पतों को मना कर देता है।