पिछले 20 वर्षों में, वर्ल्ड वाइड वेब नाटकीय रूप से विकसित हुआ है। सभी बेहतर वेब प्रौद्योगिकियों को संचार और फ़ाइल स्थानांतरण के लिए मौजूदा (HTTP) की तुलना में बेहतर और तेज़ समाधान और प्रोटोकॉल की आवश्यकता होती है जो अपनी तकनीकी सीमाओं तक पहुँच रहे हैं।
HTTP/2 क्या है?
HTTP/2 हाइपरटेक्स्ट का नवीनतम संस्करण है ट्रांसपोर्ट प्रोटोकॉल (HTTP) - वर्ल्ड वाइड वेब द्वारा उपयोग किया जाने वाला अंतर्निहित प्रोटोकॉल . इसे शुरू में फरवरी 2015 में स्वीकृत किया गया था। यह मूल HTTP के लगभग 20 साल बाद है। HTTP / 2 लोड समय को कम करता है और सर्वर और ब्राउज़र के बीच संचार में व्यापक सुधार लाता है। अधिकांश ब्राउज़रों ने पहले ही HTTP / 2 जोड़ लिया है, और इसने उपयोगकर्ताओं के दृष्टिकोण से बहुत सी चीजें नहीं बदली हैं। यही मुख्य कारण है कि हम में से बहुतों ने अभी तक इसे पढ़ा या सुना नहीं है।
HTTP/2 क्या करता है?
HTTP के उत्तराधिकारी के रूप में, HTTP/2, HTTP की सभी विशेषताओं को सुधारने पर ध्यान केंद्रित करता है . पुराने प्रोटोकॉल के साथ पश्च-संगतता बनाए रखने के लिए, यह HTTP की अधिकांश कार्यक्षमता रखता है। हालांकि, यह कुछ कठोर सुधार पेश करता है।
HTTP या HTTP/2 दोनों परिभाषित करते हैं:
- विभिन्न आदेशों के जवाब में वेब ब्राउज़र और सर्वर को कौन-सी कार्रवाई करने की आवश्यकता है।
- वेब के माध्यम से प्रत्येक जानकारी को एक से दूसरे कंप्यूटर में कैसे स्थानांतरित किया जाता है।
- संदेश कैसे बनाए, स्वरूपित और प्रसारित किए जाते हैं।
दूसरे शब्दों में, HTTP और HTTP/2 मानकों को निर्धारित करता है कि आपके कंप्यूटर पर वेब सामग्री कैसे वितरित की जाती है, इस अंतर के साथ कि HTTP/2 अपने पूर्ववर्ती की तुलना में सभी चीजों को तेज कर रहा है। यहां आप देख सकते हैं कि HTTP/2 विवरण में क्या करता है।
मल्टीप्लेक्स स्ट्रीम
एक सर्वर और क्लाइंट के बीच HTTP / 2 प्रोटोकॉल के माध्यम से भेजे गए टेक्स्ट फॉर्मेट फ्रेम की द्वि-दिशात्मक श्रृंखला को "स्ट्रीम" कहा जाता है। HTTP एक समय में इनमें से केवल एक "स्ट्रीम" को प्रसारित करने में सक्षम है। स्ट्रीम भेजे जाने के बाद अगली स्ट्रीम ट्रांसमिशन के बीच कुछ समय की देरी होती है।
HTTP/2 एक नई बाइनरी फ़्रेमिंग परत स्थापित करता है जो एक-एक करके “स्ट्रीम” ट्रांसमिट करने की समस्या को सीधे हल करती है। यह क्लाइंट और सर्वर को HTTP / 2 पेलोड को छोटे, स्वतंत्र और आसान प्रबंधनीय इंटरलीव्ड फ्रेम अनुक्रमों में विघटित करने की अनुमति देता है। एक बार दूसरे छोर पर प्राप्त होने के बाद यह सारी जानकारी फिर से जुड़ जाती है। यह प्रोटोकॉल क्रमिक धाराओं के बीच बिना किसी विलंबता के एकाधिक, समवर्ती रूप से खुले और स्वतंत्र द्वि-दिशात्मक अनुक्रमों के आदान-प्रदान को सक्षम बनाता है।
लाभ:
- समानांतर बहुसंकेतन अनुरोध और प्रतिक्रियाएं एक दूसरे को अवरुद्ध नहीं करती हैं।
- एक एकल टीसीपी कनेक्शन कई डेटा स्ट्रीम ट्रांसमिट करते समय भी प्रभावी नेटवर्क संसाधन उपयोग सुनिश्चित कर सकता है।
- तेज़ वेब प्रदर्शन, कम विलंबता, और बेहतर खोज इंजन परिणाम।
- चल रहे नेटवर्क और आईटी संसाधनों में CapEx और OpEx को कम किया।
HTTP/2 सर्वर पुश और कैश पुश
यह एक क्षमता है जो सर्वर को क्लाइंट को अतिरिक्त कैश करने योग्य जानकारी भेजने की अनुमति देती है . उस जानकारी का अनुरोध नहीं किया गया है, लेकिन भविष्य के अनुरोधों के लिए अपेक्षित है। यदि क्लाइंट एक संसाधन ए का अनुरोध करता है और यह ज्ञात है कि एक अन्य संसाधन बी को अनुरोधित एक के साथ संदर्भित किया गया है, तो सर्वर दूसरे क्लाइंट अनुरोध की प्रतीक्षा करने के बजाय ए के साथ बी को धक्का दे सकता है। फिर क्लाइंट भविष्य में उपयोग के लिए पुश किए गए संसाधन बी को कैश में सहेजता है। यह सुविधा संपूर्ण अनुरोध-प्रतिक्रिया राउंड-ट्रिप प्रक्रिया को सहेजती है और नेटवर्क विलंबता को कम करती है। Google ने मूल रूप से SPDY प्रोटोकॉल में सर्वर पुश की शुरुआत की थी।
HTTP / 2 में एक और सुधार कैश पुश है। यह क्लाइंट के कैशे को लगातार अपडेट या अमान्य करता है। यह सर्वर को संभावित पुश-सक्षम संसाधनों की पहचान करने की क्षमता देता है जो क्लाइंट वास्तव में नहीं चाहते हैं।
लाभ:
- ग्राहक कैश्ड संसाधनों के कुशल भंडार को बनाए रखने के लिए पुश किए गए संसाधनों को अस्वीकार कर सकते हैं (या सर्वर पुश को पूरी तरह से अक्षम भी कर सकते हैं)।
- क्लाइंट एक साथ मल्टीप्लेक्स किए गए पुश स्ट्रीम की संख्या को सीमित कर सकते हैं।
- सर्वर पुश किए गए संसाधनों को प्राथमिकता दे सकते हैं। यह HTTP/2 और HTTP के बीच प्रदर्शन अंतर की कुंजी है।
- सर्वर एक ही टीसीपी कनेक्शन के भीतर क्लाइंट की अनुरोधित जानकारी के साथ पुश किए गए संसाधनों को मल्टीप्लेक्स कर सकते हैं।
- ग्राहक विभिन्न पृष्ठों में संचित संसाधनों का उपयोग कर सकते हैं।
- ग्राहक कैश मेमोरी में पुश किए गए संसाधनों को सहेजते हैं।
बाइनरी प्रोटोकॉल
HTTP/2 ने टेक्स्ट प्रोटोकॉल को बाइनरी प्रोटोकॉल में बदलते समय क्षमताओं में उल्लेखनीय सुधार किया है . जबकि HTTP अनुरोध-प्रतिक्रिया चक्रों को निष्पादित करने के लिए टेक्स्ट कमांड को संसाधित करता था, HTTP / 2 बाइनरी कमांड पर निर्भर करता है। यह समान कार्यों को निष्पादित करने के लिए समय (1s और 0s) को छोटा करता है।
HTTP / 2 सपोर्ट वाले ब्राउजर टेक्स्ट कमांड को नेटवर्क पर ट्रांसमिट करने से पहले बाइनरी कोड में बदल देंगे। हालांकि, बाइनरी फ़्रेमिंग परत HTTP सर्वर और क्लाइंट के साथ पिछड़ी संगत नहीं है।
लाभ:
- HTTP की पाठ्य प्रकृति से जुड़ी सुरक्षा चिंताओं को रोकना (उदा. रिस्पांस स्प्लिटिंग अटैक)।
- संपीड़न, प्राथमिकता, बहुसंकेतन, टीएलएस के प्रभावी प्रबंधन और प्रवाह नियंत्रण जैसी HTTP/2 क्षमताओं को सक्षम करता है।
- आसान कार्यान्वयन और प्रसंस्करण की अनुमति देने वाले आदेशों का संक्षिप्त प्रतिनिधित्व।
- क्लाइंट और सर्वर के बीच मजबूत और प्रभावी डेटा प्रोसेसिंग।
- बेहतर थ्रूपुट और कम नेटवर्क विलंबता।
- HTTP से तुलना करने पर त्रुटियों की संभावना कम होती है।
- अत्यधिक कुशल नेटवर्क संसाधन उपयोग।
- डेटा को पार्स करने में कम ओवरहेड।
- लाइटर नेटवर्क फ़ुटप्रिंट.
स्ट्रीम प्राथमिकता
HTTP/2 क्लाइंट को विशेष डेटा स्ट्रीम को प्राथमिकताएं प्रदान करने की अनुमति देता है। सर्वर इन क्लाइंट के निर्देशों का पालन करने के लिए बाध्य नहीं हैं, लेकिन यह तंत्र सर्वर को उपयोगकर्ता की आवश्यकताओं के आधार पर नेटवर्क संसाधन आवंटन को अनुकूलित करने की अनुमति देता है ।
स्ट्रीम प्राथमिकता प्रत्येक स्ट्रीम को सौंपे गए भार और निर्भरता के साथ काम करती है। इस तथ्य के बावजूद कि सभी धाराएँ स्वाभाविक रूप से एक-दूसरे पर निर्भर हैं, सिवाय इसके कि उनका भार 1 और 256 के बीच नियत किया गया है। स्ट्रीम प्राथमिकता तंत्र अभी भी बहस का विषय है। हालांकि, जब स्ट्रीम प्राथमिकता को एक ही टीसीपी कनेक्शन में कई डेटा स्ट्रीम को संसाधित करने की HTTP / 2 क्षमता के साथ जोड़ा जाता है, तो एक साथ विभिन्न-प्राथमिकता वाले सर्वर अनुरोधों का आगमन हो सकता है।
लाभ:
- नेटवर्क विलंबता चिंताओं के कम नकारात्मक प्रभाव।
- बेहतर उपयोगकर्ता अनुभव और पेज लोड गति।
- सर्वर और क्लाइंट के बीच डेटा संचार में अनुकूलन।
- अत्यधिक प्रभावी नेटवर्क संसाधन उपयोग।
- प्राथमिक सामग्री अनुरोधों के लिए कम डिलीवरी-समय।
स्टेटफुल हैडर कम्प्रेशन
जब उपयोगकर्ता HTTP का उपयोग करके मीडिया-समृद्ध-सामग्री वेबसाइटों को ब्राउज़ करते हैं, तो क्लाइंट कई समान-समान शीर्षलेख फ़्रेमों को धक्का देते हैं। ऐसा इसलिए है क्योंकि प्रत्येक क्लाइंट अनुरोध में उतनी ही जानकारी शामिल होनी चाहिए जितनी सर्वर को अनुरोधित ऑपरेशन करने के लिए आवश्यक है। इस प्रक्रिया से विलंबता और अनावश्यक संसाधनों की खपत होती है।
HTTP/2 में बड़ी संख्या में अनावश्यक हेडर फ्रेम को संपीड़ित करने की क्षमता शामिल है। यह हेडर कम्प्रेशन के लिए एक सुरक्षित और सरल दृष्टिकोण के रूप में HPACK विनिर्देश पर निर्भर करता है . क्लाइंट और सर्वर पिछले क्लाइंट-सर्वर अनुरोधों में उपयोग किए गए हेडर की एक सूची बनाए रखते हैं। यह सीधे अनावश्यक हेडर फ्रेम के साथ चिंताओं को संबोधित करता है।
लाभ:
- आमतौर पर उपयोग किए जाने वाले हेडर और बड़े हेडर को एनकोड करता है। यह संपूर्ण हेडर फ्रेम भेजने की आवश्यकता को समाप्त करता है। प्रत्येक स्ट्रीम का अलग-अलग आकार महत्वपूर्ण रूप से सिकुड़ता है।
- संपीड़ित हेडर के साथ डेटा स्ट्रीम की खोज करने के लिए CRIME जैसे सुरक्षा हमलों को रोकना।
- बहुसंकेतन तंत्र का कुशल उपयोग।
- कुशल स्ट्रीम प्राथमिकता।
- संसाधन उपरि घटाया गया।
HTTP/2 के वास्तविक-विश्व लाभ
HTTP/2 प्रौद्योगिकी की क्षमता को अधिकतम करने पर केंद्रित है भविष्य की जरूरतों और अपेक्षाओं को पूरा करने के लिए। HTTP/2 का उपयोग करने के वास्तविक-विश्व लाभ यहां दिए गए हैं।
वेब प्रदर्शन और मोबाइल वेब प्रदर्शन - HTTP / 2 में एक क्लाइंट-सर्वर संचार चक्र में अधिक डेटा भेजने और प्राप्त करने की क्षमता है। यह मोबाइल डेटा नेटवर्क और प्रति उपयोगकर्ता सीमित बैंडविड्थ वाले नेटवर्क पर इंटरनेट सेवाओं तक पहुँचने में विलंबता को कम करने के लिए अच्छी तरह से काम करता है।
सस्ता हाई-स्पीड इंटरनेट - HTTP / 2 डेटा संचार की प्रभावशीलता को बढ़ाता है। यह इंटरनेट प्रदाताओं को हाई-स्पीड इंटरनेट के मानकों को बनाए रखते हुए समग्र खर्चों को कम करने की अनुमति देता है।
सुरक्षा - HTTP / 2 टेक्स्ट-आधारित एप्लिकेशन लेयर प्रोटोकॉल को लक्षित करने वाले खतरों के प्रति संवेदनशील नहीं है। इसके अलावा, यह क्लाइंट और सर्वर के बीच संवेदनशील डेटा ट्रांसमिशन की सुरक्षा के लिए "सुरक्षा द्वारा अस्पष्टता" दृष्टिकोण का उपयोग करता है।
विस्तृत पहुंच - HTTP / 2 के फायदे प्रदाताओं के लिए इंटरनेट परिणामों को कम करते हैं। इससे विश्व स्तर पर व्यापक इंटरनेट कवरेज मिलेगा।
मीडिया-समृद्ध वेब अनुभव - वर्ल्ड वाइड वेब में एचटीटीपी/2 द्वारा प्रदान की जाने वाली तकनीकी विशेषताएं और लाभ एक ऐसा बुनियादी ढांचा प्रदान करते हैं जो तेज पेज-लोड गति पर मीडिया-समृद्ध सामग्री वितरित करने में सक्षम हो।
रैप अप करें
HTTP / 2 अपेक्षाकृत नया प्रोटोकॉल है, लेकिन इसके लिए समर्थन लगातार बढ़ता रहता है। आजकल, अधिकांश इंटरनेट ब्राउज़र HTTP/2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome for Android) का समर्थन करते हैं। कई वेब सर्वरों में HTTP / 2 मूल समर्थन (अपाचे HTTP सर्वर, टॉमकैट, एनजीआईएनएक्स) शामिल हैं। निस्संदेह, HTTP/2 भविष्य का WWW प्रोटोकॉल है।