HTTP / 2 के आगमन के लिए इंटरनेट अधिक कुशल बनने के लिए तैयार है।  लेकिन यह क्या है और यह HTTP पर कैसे सुधार करता है?

HTTP / 2 क्या है और यह इंटरनेट के भविष्य को कैसे प्रभावित करता है?

विज्ञापन आपने अभी तक HTTP / 2 के बारे में नहीं सुना होगा, लेकिन यह HTTP का सबसे नवीनतम अपडेट है। नया प्रोटोकॉल मानक कुछ नई अवधारणाओं का परिचय देता है और सर्वर और अनुप्रयोगों के बीच संचार को तेज और अधिक कुशल बनाता है। HTTP / 2 क्या है? हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल संस्करण 2, या HTTP / 2, 15 वर्षों में HTTP पर पहला बड़ा अपडेट है। पिछला प्रोटोकॉल मानक, HTTP / 1.1, 1997 से उपयोग में है और HTTP की सीमाओं में सुधार के लिए क्लंकी वर्कआर्ड के मिश्रण का उपयोग करता है। यह SPDY ("स्पीडी") पर आधारित है, जो HTTP / 1.1 के कुछ मुद्दों और सीमाओं को संबोधित करने के

विज्ञापन

आपने अभी तक HTTP / 2 के बारे में नहीं सुना होगा, लेकिन यह HTTP का सबसे नवीनतम अपडेट है। नया प्रोटोकॉल मानक कुछ नई अवधारणाओं का परिचय देता है और सर्वर और अनुप्रयोगों के बीच संचार को तेज और अधिक कुशल बनाता है।

HTTP / 2 क्या है?

हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल संस्करण 2, या HTTP / 2, 15 वर्षों में HTTP पर पहला बड़ा अपडेट है।

पिछला प्रोटोकॉल मानक, HTTP / 1.1, 1997 से उपयोग में है और HTTP की सीमाओं में सुधार के लिए क्लंकी वर्कआर्ड के मिश्रण का उपयोग करता है।

यह SPDY ("स्पीडी") पर आधारित है, जो HTTP / 1.1 के कुछ मुद्दों और सीमाओं को संबोधित करने के लिए Google द्वारा शुरू किया गया एक ओपन-सोर्स प्रयोग है।

इंटरनेट इंजीनियरिंग टास्क फोर्स (IETF) हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल संस्करण 2, ड्राफ्ट 17 में इस तरह के बदलाव को निर्दिष्ट करता है:

"HTTP / 2 नेटवर्क संसाधनों के अधिक कुशल उपयोग और हेडर फील्ड कम्प्रेशन की शुरुआत करके विलंबता की कम धारणा को सक्षम करता है और एक ही कनेक्शन पर कई समवर्ती आदान-प्रदान की अनुमति देता है [...]

"यह अनुरोधों को प्राथमिकता देने की भी अनुमति देता है, जिससे अधिक महत्वपूर्ण अनुरोधों को अधिक तेज़ी से पूरा किया जाता है, प्रदर्शन में और सुधार होता है।"

"HTTP / 2 बाइनरी संदेश फ़्रेमिंग के माध्यम से संदेशों के अधिक कुशल प्रसंस्करण को सक्षम बनाता है।"

“यह विनिर्देश एक विकल्प है, लेकिन अप्रचलित नहीं है, HTTP / 1.1 संदेश सिंटैक्स। HTTP के मौजूदा शब्दार्थ अपरिवर्तित हैं। "

HTTP / 2 SPDY पर आधारित है

HTTP / 2 SPDY पर आधारित है

2012 तक, अधिकांश आधुनिक ब्राउज़रों और कई लोकप्रिय साइटों (Google, ट्विटर, फेसबुक आदि) ने पहले ही SPDY का समर्थन किया। जैसे-जैसे SPDY की लोकप्रियता बढ़ रही थी, HTTP वर्किंग ग्रुप (HTTP-WG) ने HTTP मानक को अपडेट करने पर काम करना शुरू कर दिया।

इस बिंदु से, HTTPD / 2 में नई सुविधाओं के लिए SPDY नींव और प्रायोगिक शाखा बन गई। उस समय, हमने जांच की कि SPDY ब्राउज़िंग को कैसे बेहतर बना सकता है, SPDY क्या है, और यह आपके ब्राउज़िंग अनुभव को कैसे कम कर सकता है? SPDY क्या है, और यह आपके ब्राउज़िंग अनुभव को कैसे कम कर सकता है? अधिक पढ़ें । तब से, संस्करण 2 मानक का मसौदा तैयार किया गया था, अनुमोदित और प्रकाशित किया गया था।

SPDY की कई विशेषताओं को HTTP / 2 में शामिल किया गया था, और Google ने अंततः 2016 की शुरुआत में इस प्रोटोकॉल का समर्थन करना बंद कर दिया था।

अधिकांश ब्राउज़रों ने अंततः SPDY का समर्थन करना बंद कर दिया, और जैसा कि कोई विकल्प नहीं है, HTTP / 2 डी वास्तविक मानक बन रहा है।

जबकि HTTP / 2 प्रोटोकॉल मानक HTTP / 1 के साथ कड़ाई से पीछे नहीं है, अनुकूलता अनुवाद के माध्यम से प्राप्त की जा सकती है। एक HTTP / 1.1 केवल क्लाइंट एक HTTP / 2 केवल सर्वर और इसके विपरीत को नहीं समझेगा, यही वजह है कि नया प्रोटोकॉल संस्करण HTTP / 2 है न कि HTTP / 1.2।

कहा कि, HTTP-WG द्वारा प्रदान किए गए कार्य का एक महत्वपूर्ण हिस्सा, यह सुनिश्चित करना है कि HTTP / 1 और HTTP / 2 को बिना किसी नुकसान के वापस आगे और पीछे अनुवाद किया जा सकता है।

पेश किया गया कोई भी नया तंत्र या सुविधाएँ मौजूदा वेब के साथ संस्करण-स्वतंत्र और पिछड़े-संगत भी होंगे।

HTTP / 2 वास्तव में ऐसा कुछ नहीं है जिसे कोई उपयोगकर्ता कार्यान्वित कर सकता है, लेकिन कुछ चीजें हैं जो हम अपनी ब्राउज़िंग गति को प्रभावित कर सकते हैं। क्या आप अपने इंटरनेट की गति को बढ़ाने के लिए इनमें से किसी भी सामान्य मिथक को मानते हैं? इंटरनेट स्पीड को बूस्ट करने के बारे में 5 मिथक और क्यों वे इंटरनेट स्पीड को बूस्ट करने के बारे में 5 मिथक काम नहीं करते हैं और क्यों वे इंटरनेट स्पीड को काम नहीं करते 21 वीं सदी में एक महत्वपूर्ण माप है। हालाँकि, आपके कनेक्शन को तेज़ बनाने के तरीके के बारे में ऑनलाइन बहुत सी गलत जानकारी है। यहां पांच मिथक हैं जिन पर आपको विश्वास नहीं करना चाहिए। अधिक पढ़ें

HTTP / 2 के लाभ और सुविधाएँ

HTTP / 2, HTTP मानक के लिए कुछ बेहतरीन अपडेट के साथ आता है। अधिक महत्वपूर्ण कुछ बाइनरी फ्रेमिंग, मल्टीप्लेक्सिंग, स्ट्रीम प्राथमिकताकरण, प्रवाह नियंत्रण और सर्वर पुश हैं।

बाइनरी फ्रेमिंग

HTTP / 2 बाइनरी फ्रेमिंग स्ट्रीम में HTTP संदेश
Mfuji09 द्वारा HTTP संदेश CC-BY-SA 2.5 के तहत लाइसेंस प्राप्त है।

HTTP2 / के अपडेट के बाद, HTTP प्रोटोकॉल संचार बाइनरी-एन्कोडेड फ़्रेम के आदान-प्रदान में विभाजित हो जाता है। इन फ़्रेमों को उन संदेशों को मैप किया जाता है जो किसी विशेष स्ट्रीम से संबंधित हैं। धाराओं को तब एक ही टीसीपी कनेक्शन में मल्टीप्लेक्स (एक अर्थ में एक साथ बुना) किया जाता है।

नई बाइनरी फ्रेमिंग परत कुछ नई शब्दावली का परिचय देती है; धाराएँ, संदेश और फ़्रेम।

  • धाराएँ बाइट्स के द्विदिश प्रवाह हैं जो एक या अधिक संदेश लेती हैं।
  • इनमें से प्रत्येक स्ट्रीम में एक विशिष्ट पहचानकर्ता है और वैकल्पिक प्राथमिकता जानकारी का उपयोग करके द्विदिश संदेशों को ले जा सकता है।
  • फ़्रेम HTTP / 2 में संचार की सबसे छोटी इकाई है जिसमें डेटा (HTTP हेडर, संदेश पेलोड आदि) के विशिष्ट सेट होते हैं। हेडर कम से कम उस स्ट्रीम की पहचान करेगा जो फ्रेम से संबंधित है।
  • संदेश फ़्रेम का एक पूरा सेट है जो तार्किक अनुरोध या प्रतिक्रिया संदेश में मैप करते हैं।
  • प्रत्येक संदेश एक तार्किक HTTP संदेश है, एक अनुरोध या प्रतिक्रियाओं की तरह, जो एक या अधिक फ्रेम से बना है।

यह हमें एक टीसीपी कनेक्शन का उपयोग करने की अनुमति देता है, जो पिछले आवश्यक कई के लिए है।

बहुसंकेतन

मल्टीप्लेक्सिंग उदाहरण

HTTP / 1.1 यह सुनिश्चित करता है कि प्रति कनेक्शन एक समय में केवल एक ही प्रतिक्रिया दी जा सकती है। और यदि ग्राहक कई समानांतर अनुरोध करना चाहता है तो ब्राउज़र अतिरिक्त टीसीपी कनेक्शन खोलेगा।

HTTP / 2 HTTP / 1.1 की इस सीमा को हटा देता है और पूर्ण अनुरोधों और प्रतिक्रिया को बहुसंकेतन करने में सक्षम बनाता है। इसका मतलब यह है कि क्लाइंट और सर्वर एक HTTP संदेश को स्वतंत्र फ्रेम में तोड़ सकते हैं, जो तब इंटरलेयर्ड होते हैं, और दूसरे छोर पर फिर से इकट्ठे होते हैं।

कुल मिलाकर, यह HTTP / 2 की सबसे महत्वपूर्ण वृद्धि है, क्योंकि यह कई कनेक्शनों की आवश्यकता को समाप्त करेगा। यह बदले में सभी वेब प्रौद्योगिकियों में कई प्रदर्शन लाभ पेश करेगा।

कम संख्या में कनेक्शन का मतलब है कम ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) हैंडशेक, बेहतर सत्र का पुन: उपयोग और क्लाइंट और सर्वर संसाधन आवश्यकताओं में समग्र कमी। यह अनुप्रयोगों को तेज़, सरल और तैनात करने के लिए सस्ता बनाता है।

कई बाहरी संपत्ति (चित्र या स्क्रिप्ट) वाली वेबसाइटें HTTP / 2 मल्टीप्लेक्सिंग से सबसे बड़ा प्रदर्शन लाभ प्राप्त करेंगी।

स्ट्रीम प्राथमिकता और निर्भरता

मल्टीप्लेक्स धाराओं के आगे सुधार वजन और धारा निर्भरता के साथ किए जाते हैं। HTTP / 2 हमें प्रत्येक स्ट्रीम को एक वेट (1 और 256 के बीच का मान) देने की अनुमति देता है, और इसे स्पष्ट रूप से किसी अन्य स्ट्रीम पर निर्भर करता है।

यह निर्भरता और वजन संयोजन एक प्राथमिकता वाले पेड़ के निर्माण की ओर जाता है, जो सर्वर को बताता है कि ग्राहक कैसे प्रतिक्रियाएं प्राप्त करना पसंद करेंगे।

सर्वर प्राथमिकता वाले पेड़ में सूचना का उपयोग सीपीयू, मेमोरी और अन्य संसाधनों के आवंटन को नियंत्रित करने के लिए करेगा, साथ ही क्लाइंट को उच्च-प्राथमिकता वाले प्रतिक्रियाओं का इष्टतम वितरण सुनिश्चित करने के लिए बैंडविड्थ का आवंटन भी करेगा।

प्रवाह नियंत्रण

HTTP / 2 में प्रवाह नियंत्रण के मुद्दे HTTP / 1.1 के समान हैं। हालाँकि, चूंकि HTTP / 2 स्ट्रीम एकल टीसीपी कनेक्शन में मल्टीप्लेक्स किए गए हैं, इसलिए HTTP / 1.1 कार्यों में फ्लो कंट्रोल अब कारगर नहीं है।

संक्षेप में, रुकावट पैदा करने के लिए एक दूसरे के साथ हस्तक्षेप करने वाली धाराओं को रोकने के लिए प्रवाह नियंत्रण की आवश्यकता होती है। यह मल्टीप्लेक्सिंग को संभव बनाता है। HTTP / 2 प्रोटोकॉल परिवर्तन की आवश्यकता के बिना विभिन्न प्रकार के प्रवाह-नियंत्रण एल्गोरिदम का उपयोग करने की अनुमति देता है।

प्रवाह नियंत्रण के लिए कोई एल्गोरिथ्म HTTP / 2 में निर्दिष्ट नहीं है। इसके बजाय, अपने स्वयं के प्रवाह नियंत्रण को लागू करने के लिए क्लाइंट और सर्वर की सहायता के लिए बिल्डिंग ब्लॉक्स का एक सेट प्रदान किया गया है।

आप इन बिल्डिंग ब्लॉक्स की बारीकियों को HTTP / 2 इंटरनेट-ड्राफ्ट के "फ़्लो कंट्रोल" सेक्शन में पा सकते हैं।

सर्वर पुश

आपका ब्राउज़र सामान्य रूप से अनुरोध करेगा और पहले पृष्ठ पर आने पर सर्वर से एक HTML दस्तावेज़ प्राप्त करेगा। सर्वर को तब HTML दस्तावेज़ को पार्स करने के लिए ब्राउज़र की प्रतीक्षा करने और एम्बेडेड संपत्ति (सीएसएस, जावास्क्रिप्ट, चित्र, आदि) के लिए एक अनुरोध भेजने की आवश्यकता होती है।

HTTP / 1.1 में, सर्वर इन संपत्तियों को तब तक नहीं भेज सकता है जब तक कि ब्राउज़र उनसे अनुरोध नहीं करता है, और प्रत्येक परिसंपत्ति को एक अलग अनुरोध (यानी कई हैंडशेक और कनेक्शन) की आवश्यकता होती है।

सर्वर पुश इन संसाधनों को बिना संकेत के भेजने की अनुमति देकर विलंबता को कम कर देगा, क्योंकि यह पहले से ही जानता है कि क्लाइंट को उनकी आवश्यकता होगी। इसलिए ऊपर दिए गए उदाहरण में, सर्वर CSS, JavaScript (एक सामान्य स्क्रिप्टिंग भाषा क्या है जावास्क्रिप्ट और यह कैसे काम करता है? इसमें डायनामिक रूप से अपडेट होने वाले वेब पेज, यूजर इंटरफेस और बहुत कुछ शामिल हैं। आइए जानते हैं कि जावास्क्रिप्ट किस बारे में है। वेब पेज में और पढ़ें), और पेज को तेज दिखाने के लिए ब्राउजर को इमेजेज।

मूल रूप से, सर्वर पुश एक सर्वर को एकल क्लाइंट अनुरोध के लिए कई प्रतिक्रियाएं भेजने की अनुमति देता है।

Albeit मैन्युअल रूप से, यह वह प्रभाव है जो हम वर्तमान में अपने HTML दस्तावेजों में CSS या JS को इनलाइन करके प्राप्त करते हैं — हम ग्राहक के लिए अनुरोध किए बिना ग्राहक को इनलेटेड संसाधन पर जोर दे रहे हैं।

यह सख्त HTTP-to-one अनुरोध-प्रतिक्रिया वर्कफ़्लो के वर्तमान HTTP मानक से एक बड़ा कदम है।

HTTP / 2 की सीमाएँ

HTTP / 2 का समर्थन करने वाले ब्राउज़रों की छवि

SPDY की सुरक्षा पर थोड़ी सख्त नीति थी और सभी कनेक्शनों के लिए SSL एन्क्रिप्शन की आवश्यकता थी। HTTPS / 2 को एन्क्रिप्शन की आवश्यकता नहीं है, लेकिन कई सेवाएं SSL के बिना HTTP / 2 की सेवा नहीं देंगी।

सभी प्रमुख ब्राउज़र HTTP / 2 का समर्थन करते हैं, लेकिन उनमें से कोई भी एन्क्रिप्शन के बिना इसका समर्थन नहीं करेगा। CanIUs वेबसाइट में HTTP / 2 के लिए वर्तमान ब्राउज़र समर्थन पर एक महान तालिका अवलोकन है, जैसा कि ऊपर देखा गया है।

HTTP / 1.1 और HTTP / 2 के बीच बैकवर्ड संगतता और अनुवाद पृष्ठ लोड गति को धीमा कर देगा।

कोई वास्तविक कारण नहीं है कि एन्क्रिप्शन अब तक डिफ़ॉल्ट या अनिवार्य सेटअप नहीं होना चाहिए। यदि आपके पास पहले से ही आपकी साइट पर SSL प्रमाणपत्र है, तो आप HSTS को सक्षम करके अपनी HTTPS वेबसाइट की सुरक्षा में सुधार कर सकते हैं।

क्या HTTP / 2 अगली बड़ी बात है?

HTTP / 1.1 और HTTP / 2 लोडिंग समय की तुलना

HTTP / 2 को 2015 के मध्य में एक मानक के रूप में प्रस्तावित किया गया था, और अधिकांश ब्राउज़रों ने उस वर्ष के अंत तक इसके लिए समर्थन जोड़ा था। HTTP / 2 पहले से ही उस तरीके को प्रभावित करता है जो इंटरनेट काम करता है और कैसे एप्लिकेशन और सर्वर एक साथ बात करते हैं।

HTTP / 2 का उपयोग करने के लिए कोई आवश्यकता नहीं है, लेकिन अभी तक यह केवल लाभ और कोई कमियां नहीं है। यह भी एक उपयोगकर्ता के नजरिए से एक काफी मामूली बदलाव है, एक जिसे लोग वास्तव में नोटिस नहीं करेंगे।

W3Tech के अनुसार, शीर्ष 10 मिलियन वेबसाइटों में से 31.7% वर्तमान में HTTP / 2 का समर्थन करती हैं। आपकी वेबसाइट पर HTTP / 2 को सक्षम करने के लिए आप में से सबसे तेज़ तरीका Cloudflare की CDN का उपयोग करना है।

अगला प्रस्तावित मानक (HTTP / 3) पहले से ही कार्यों में है और यह Google द्वारा एक अन्य प्रायोगिक परियोजना, QUIC पर आधारित है। इस वर्ष के अक्टूबर में, IETF'S HTTP-WG और QUIC वर्किंग ग्रुप ने आधिकारिक तौर पर QUIC को नए विश्वव्यापी मानक बनने और HTTP / 3 का नाम बदलने का अनुरोध किया।

यदि आप उत्सुक हैं, तो Akamai.com के पास यह जांचने के लिए एक त्वरित उपकरण है कि क्या आपका ब्राउज़र HTTP / 2 का समर्थन करता है। यदि ऐसा नहीं होता है, तो शायद अपने ब्राउज़र को Google डेस्कटॉप पर बेहतर ब्राउज़र के लिए 5 Google Chrome वैकल्पिक स्विच करने पर विचार करें या डेस्कटॉप पर मोबाइल ब्राउज़र के लिए बेहतर Google Chrome के लिए 5 Google Chrome विकल्प दुनिया में सबसे लोकप्रिय ब्राउज़र है। लेकिन इसके अभी भी मुद्दे हैं। क्या ये वैकल्पिक ब्राउज़र बेहतर विकल्प हो सकते हैं? अधिक पढ़ें ।

इसके बारे में अधिक जानें: कंप्यूटर नेटवर्क, HTTP / 2, SPDY।