ब्राउज़र HTTP/2 या HTTP/3 तक कैसे पहुँचता है?
HTTP/2 (RFC 9113) TLS हैंडशेक के अंदर चुना जाता है: ब्राउज़र ALPN (RFC 7301) से «h2» पेश करता है और सर्वर उसे मानता है या HTTP/1.1 पर लौटता है। HTTP/3 (RFC 9114) UDP पर QUIC से चलता है, इसलिए ब्राउज़र पहले Alt-Svc हेडर (RFC 7838) या HTTPS DNS रिकॉर्ड से इसके बारे में जानता है, फिर QUIC कनेक्शन आज़माता है और UDP रुका हो तो चुपचाप पीछे लौट आता है।
HTTP/2 और HTTP/3 चेकर कैसे इस्तेमाल करें
- पेज का अंतिम पता डालें, जो 200 देता है (https://www.example.com/, न कि http://example.com जो सिर्फ़ रीडायरेक्ट करता है)।
- «HTTP/2 और HTTP/3 जाँचें» दबाएँ और प्रोब चलने तक कुछ सेकंड रुकें।
- दोनों नतीजे और Details में उनके कारण पढ़ें। HTTP/3 घोषित हो तो ब्राउज़र के developer tools (Network पैनल, Protocol कॉलम) में पक्का करें कि h3 सच में इस्तेमाल हो रहा है।
HTTP/2 और HTTP/3 चेकर की खूबियाँ
- HTTP/2 सत्यापित, अनुमान नहीं: एक Globalping कम्युनिटी प्रोब ALPN में सिर्फ़ h2 पेश करके आपका पेज माँगता है, इसलिए पूरा हुआ अनुरोध HTTP/2 साबित करता है और इनकार उसकी ग़ैरमौजूदगी
- HTTP/3 आपके URL के जवाब के Alt-Svc हेडर (RFC 7838) से पढ़ा जाता है, उसमें घोषित हर प्रोटोकॉल पहचान (h3, h3-29, h2…) के साथ
- unknown एक असली जवाब है: सादे http URL, रीडायरेक्ट, एरर जवाब, विफल प्रोब या ख़त्म हुआ मेज़रमेंट कोटा — सब कारण के साथ unknown दिखते हैं
- प्रोब की लोकेशन और नेटवर्क, सैंपल अनुरोध का HTTP स्टेटस और मेथड, Server हेडर और रिज़ॉल्व हुआ एड्रेस दिखाता है
- बताता है कि होस्ट Cloudflare नेटवर्क पर रिज़ॉल्व होता है या नहीं — और ऐसी साइटों पर भी काम करता है, क्योंकि इसे सीधे TCP कनेक्शन की ज़रूरत नहीं
इनपुट और आउटपुट
इनपुट
- पेज URL: किसी पब्लिक होस्ट का http:// या https:// पता; अकेला होस्टनेम https माना जाता है। Mutqan सर्वर पूरा URL माँगता है; HTTP/2 प्रोब query string के बिना उसका पाथ माँगता है, और जिस पाथ के अक्षर मेज़रमेंट सेवा नहीं मानती वह «/» बन जाता है, जो नोट्स में लिखा आता है।
- और कुछ नहीं: मेथड, हेडर और प्रोब तय हैं, कोई बॉडी नहीं भेजी जाती।
आउटपुट
- सारांश: HTTP/2 ✓ सत्यापित, ✗ ठुकराया या ? unknown; HTTP/3 ✓ घोषित, ✗ घोषित नहीं या ? not judged; सैंपल अनुरोध का HTTP स्टेटस और मेथड।
- Details: हर नतीजे पर सर्वर की व्याख्या, HTTP/2 प्रोब कहाँ चला, कच्चा Alt-Svc हेडर और उसमें लिखे प्रोटोकॉल, Server हेडर, रिज़ॉल्व हुआ एड्रेस और क्या वह Cloudflare नेटवर्क पर है।
- नोट्स: हर प्रोटोकॉल कैसे तय हुआ, और क्या HTTP/2 प्रोब ने दूसरा पाथ इस्तेमाल किया।
HTTP/2 और HTTP/3 चेकर का उदाहरण
HTTP/2 पर चलने और HTTP/3 घोषित करने वाली साइट (उदाहरण के लिए नतीजा)
इनपुट:
पेज URL: https://www.example.com/आउटपुट:
HTTP/2 ✓ (प्रोब से सत्यापित) · HTTP/3 ✓ (Alt-Svc में घोषित) · HTTP स्टेटस 200 · मेथड HEAD
HTTP/2 नतीजा: A Globalping probe completed a request over HTTP/2 (ALPN h2).
HTTP/2 प्रोब: Frankfurt, DE · Hetzner Online GmbH
HTTP/3 नतीजा: The response carries an Alt-Svc header that announces h3.
Alt-Svc हेडर: h3=":443"; ma=86400 · घोषित प्रोटोकॉल: h3HTTP/2 और HTTP/3 चेकर के नतीजे कैसे पढ़ें
HTTP/2 ✓ का मतलब है किसी प्रोब ने सच में h2 पर अनुरोध पूरा किया। ✗ का मतलब है सर्वर ने सिर्फ़ h2 वाला कनेक्शन ठुकरा दिया: वह TLS पर सिर्फ़ HTTP/1.1 बोलता है। ? का मतलब इस बार तय नहीं हो सका — Details की पंक्ति वजह बताती है।
HTTP/3 ✓ «घोषित» का मतलब है https पर सफल जवाब में h3 वाला Alt-Svc था। ✗ «घोषित नहीं» का मतलब है https पर 2xx जवाब में यह नहीं था — यही एक स्थिति है जिसमें इसका न होना सबूत है। ? «not judged» में सादा http और रीडायरेक्ट या एरर जवाब आते हैं।
छोटे ma (max-age) के साथ h3 घोषित होना, या सिर्फ़ कुछ जवाबों में घोषित होना, CDN में सामान्य है। घोषणा के बावजूद विज़िटर कभी HTTP/3 इस्तेमाल न करें तो आम वजह UDP 443 रोकने वाला फ़ायरवॉल है।
HTTP/2 और HTTP/3 चेकर कब इस्तेमाल करें
- सर्वर, CDN या लोड बैलेंसर पर HTTP/2 या HTTP/3 चालू करने के बाद पक्का करें कि बदलाव सच में लागू हुआ।
- दो एनवायरनमेंट के परफ़ॉर्मेंस फ़र्क़ को समझें: HTTP/1.1 पर स्टेजिंग, HTTP/2 पर प्रोडक्शन।
- नए होस्ट या CDN पर जाने के बाद जाँचें कि वह Alt-Svc हेडर बना रहा जिससे ब्राउज़र QUIC इस्तेमाल करते हैं।
- ऐसे API एंडपॉइंट को जाँचें जिस तक क्लाइंट HTTP/2 से पहुँचने की उम्मीद रखते हैं।
समस्या निवारण
- 301 या 302 स्टेटस के साथ HTTP/3 «not judged»: रीडायरेक्ट चेन का अंतिम URL डालें (Redirect Checker उसे दिखाता है)।
- HTTP/2 ? (सत्यापित नहीं) और साथ में «मेज़रमेंट सेवा उपलब्ध नहीं या उसका घंटे का कोटा ख़त्म हो गया है»: साझा Globalping बजट ख़त्म है; बाद में फिर कोशिश करें।
- सर्वर कॉन्फ़िग में चालू होने पर भी HTTP/2 ठुकराया गया: ALPN उस TLS टर्मिनेटर पर चालू होना चाहिए जो असल में जवाब देता है (सर्वर के आगे का लोड बैलेंसर या प्रॉक्सी), और h2 के लिए TLS 1.2 या नया तथा ऐसी cipher suite चाहिए जिसे RFC 9113 मना नहीं करता।
- अनुरोध रिज़ॉल्यूशन एरर या «cannot be reached» से विफल: होस्ट का कोई पब्लिक एड्रेस नहीं, या वह प्राइवेट या आरक्षित एड्रेस पर रिज़ॉल्व होता है, जिससे Mutqan सर्वर जुड़ने से मना करता है।
HTTP/2 और HTTP/3 चेकर के बारे में अक्सर पूछे जाने वाले सवाल
कैसे पता करें कि मेरी वेबसाइट HTTP/2 पर चल रही है?
पेज का अंतिम https URL डालकर जाँच चलाएँ: HTTP/2 के आगे ✓ हो तो Globalping प्रोब ने सच में h2 पर अनुरोध पूरा किया। चाहें तो ब्राउज़र के developer tools के Network पैनल में Protocol कॉलम से मिलाएँ, जहाँ h2 दिखता है।
HTTP/2 unknown क्यों दिख रहा है?
HTTP/2 सिर्फ़ ऐसे Globalping प्रोब से सत्यापित होता है जो h2 के सिवा कुछ पेश नहीं करता। यह unknown रहता है जब URL सादा http हो (ब्राउज़र HTTP/2 सिर्फ़ TLS पर इस्तेमाल करते हैं), प्रोब अनुरोध पूरा न कर पाए, मेज़रमेंट सेवा का कोटा ख़त्म हो, या प्रोब समय पर जवाब न दे। पेज कभी अंदाज़ा नहीं लगाता।
क्या «घोषित» का मतलब है कि HTTP/3 काम करता है?
इसका मतलब है सर्वर Alt-Svc हेडर में h3 की घोषणा करता है, जिससे ब्राउज़र अगली बार HTTP/3 आज़माते हैं। QUIC कनेक्शन सफल होगा या नहीं, यह रास्ते में UDP पोर्ट 443 खुला होने पर निर्भर है; यहाँ कोई QUIC कनेक्शन नहीं बनता। विफल होने पर ब्राउज़र चुपचाप HTTP/2 या HTTP/1.1 पर लौट आते हैं।
Mutqan सर्वर ख़ुद प्रोटोकॉल क्यों नहीं देख पाता?
क्योंकि वह Cloudflare Workers पर चलता है, जिसका fetch API यह नहीं बताता कि अनुरोध ने कौन-सा प्रोटोकॉल तय किया। इसीलिए HTTP/2 बाहर के Globalping प्रोब से जाँचा जाता है और HTTP/3 सर्वर के भेजे हेडर से पढ़ा जाता है।
मेरी साइट पर HTTP/3 «आँका नहीं गया» क्यों है?
सैंपल जवाब रीडायरेक्ट या एरर था, और ऐसे जवाब अक्सर उस Alt-Svc हेडर के बिना भेजे जाते हैं जो सामान्य पेज में होता है, इसलिए उसका न होना कुछ साबित नहीं करता। अंतिम URL जाँचें जो 200 देता है — रीडायरेक्ट फ़ॉलो नहीं किए जाते।
क्या यह Cloudflare वाली साइटों पर चलता है?
हाँ। यह जाँच सामान्य HTTP अनुरोध और Globalping प्रोब इस्तेमाल करती है; इसे वह सीधा TCP कनेक्शन नहीं चाहिए जिसे प्लेटफ़ॉर्म Cloudflare वाली साइटों के लिए रोकता है, और जो TLS चेकर को रोकता है।
तकनीकी नोट्स
HTTP/2 (RFC 9113) TLS हैंडशेक के अंदर ALPN (RFC 7301) से तय होता है: क्लाइंट अपने प्रोटोकॉल बताता है और सर्वर एक चुनता है। Globalping प्रोब सिर्फ़ «h2» पेश करता है और पीछे नहीं हटता, इसलिए पूरा अनुरोध HTTP/2 का सबूत है और «HTTP/2 is not supported by the server» एरर उसके न होने का। प्रोब URL के पाथ के लिए HEAD अनुरोध भेजकर स्टेटस लाइन पढ़ता है।
HTTP/3 (RFC 9114) UDP पर QUIC (RFC 9000) से चलता है। ब्राउज़र को पता चलता है कि सर्वर इसे देता है HTTP/1.1 या HTTP/2 जवाब के Alt-Svc फ़ील्ड (RFC 7838) से — जैसे h3=":443"; ma=86400 — या HTTPS DNS रिकॉर्ड से, और फिर अगले अनुरोधों में QUIC आज़माता है। यहाँ वही हेडर पढ़ा जाता है; कोई QUIC कनेक्शन नहीं बनता।
Mutqan सर्वर पहले HEAD भेजता है और सर्वर 405 या 501 दे तभी GET से दोहराता है। रीडायरेक्ट फ़ॉलो नहीं होते: 301 पर Alt-Svc मंज़िल के बारे में भरोसे लायक कुछ नहीं बताता, इसलिए HTTP/3 सिर्फ़ https पर 2xx जवाब से आँका जाता है।
सीमाएँ और कार्यप्रणाली
HTTP/2 एक Globalping प्रोब से जाँचा जाता है, जहाँ भी नेटवर्क उसे लगाए; क्षेत्र या क्लाइंट के हिसाब से अलग तय करने वाला सर्वर आपके विज़िटर के साथ अलग बर्ताव कर सकता है। मेज़रमेंट के पैरामीटर और नतीजे Globalping पर सार्वजनिक होते हैं।
HTTP/3 से कभी जुड़ा नहीं जाता: घोषित h3 उन विज़िटर के लिए विफल हो सकता है जिनका नेटवर्क UDP रोकता है। सिर्फ़ HTTPS DNS रिकॉर्ड से, बिना Alt-Svc के, घोषित h3 पकड़ में नहीं आता।
एक ही जवाब सैंपल होता है, Cloudflare नेटवर्क पर Mutqan सर्वर से; जो पेज कुछ क्लाइंट या कुछ पाथ पर ही Alt-Svc भेजते हैं, उनका नतीजा ब्राउज़र के देखे से अलग हो सकता है।
सुरक्षा और गोपनीयता
URL Mutqan सर्वर तक जाता है, जो उसे एक बार माँगता है, और https के लिए होस्टनेम व पाथ Globalping तक जाते हैं, जहाँ मेज़रमेंट के पैरामीटर और नतीजा सार्वजनिक होते हैं। Mutqan कुछ स्टोर नहीं करता। जिन URL के पाथ में गोपनीय जानकारी हो, उन्हें न जाँचें।
संदर्भ
- RFC 9113: HTTP/2HTTP/2 प्रोटोकॉल: एक कनेक्शन पर बाइनरी फ़्रेमिंग और कई स्ट्रीम, TLS 1.2 या नए पर «h2» ALPN पहचान से तय, और वे cipher suites जिन्हें यह मना करता है।
- RFC 9114: HTTP/3QUIC पर HTTP: HTTP/3 अनुरोधों को QUIC स्ट्रीम पर कैसे रखता है और क्लाइंट इसे कैसे खोजते हैं, आमतौर पर «h3» वाली Alt-Svc घोषणा से।
- RFC 7838: HTTP Alternative ServicesAlt-Svc हेडर फ़ील्ड: सर्वर क्लाइंट को कैसे बताता है कि वही संसाधन किसी दूसरे प्रोटोकॉल या एंडपॉइंट पर भी है (h3=":443"; ma=86400), और यह जानकारी कितनी देर कैश हो सकती है।