গত 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 পেলোডকে ক্ষুদ্র, স্বাধীন এবং সহজ-পরিচালনযোগ্য ইন্টারলিভড ফ্রেম সিকোয়েন্সে বিভক্ত করার অনুমতি দেয়। অন্য প্রান্তে প্রাপ্ত হলে এই সমস্ত তথ্য পুনরায় একত্রিত হয়। এই প্রোটোকল একাধিক, একযোগে খোলা, এবং স্বতন্ত্র দ্বি-দিকনির্দেশক ক্রমগুলির বিনিময় সক্ষম করে যার ধারাবাহিক স্ট্রীমগুলির মধ্যে কোনও বিলম্ব নেই৷
সুবিধা:
- সমান্তরাল মাল্টিপ্লেক্সড অনুরোধ এবং প্রতিক্রিয়া একে অপরকে ব্লক করে না।
- একটি একক TCP সংযোগ একাধিক ডেটা স্ট্রিম প্রেরণ করার সময়ও কার্যকর নেটওয়ার্ক সংস্থান ব্যবহার নিশ্চিত করতে পারে৷
- দ্রুত ওয়েব কর্মক্ষমতা, কম লেটেন্সি, এবং আরও ভালো সার্চ ইঞ্জিন ফলাফল।
- চালিত নেটওয়ার্ক এবং আইটি সংস্থানগুলিতে CapEx এবং OpEx হ্রাস করা হয়েছে৷ ৷
HTTP/2 সার্ভার পুশ এবং ক্যাশে পুশ
এটি এমন একটি ক্ষমতা যা সার্ভারকে ক্লায়েন্টদের কাছে অতিরিক্ত ক্যাশেযোগ্য তথ্য পাঠাতে দেয় . সেই তথ্যটি অনুরোধ করা হয়নি তবে ভবিষ্যতের অনুরোধের জন্য প্রত্যাশিত। যদি ক্লায়েন্ট একটি রিসোর্স A-এর অনুরোধ করে এবং এটি জানা যায় যে অনুরোধ করা একটির সাথে আরেকটি রিসোর্স B উল্লেখ করা হয়েছে, সার্ভার অন্য ক্লায়েন্ট অনুরোধের জন্য অপেক্ষা না করে A-এর সাথে B পুশ করতে পারে। তারপর ক্লায়েন্ট পুশ করা রিসোর্স বি কে ভবিষ্যতে ব্যবহারের জন্য ক্যাশে সংরক্ষণ করে। এই বৈশিষ্ট্যটি একটি সম্পূর্ণ অনুরোধ-প্রতিক্রিয়া রাউন্ড-ট্রিপ প্রক্রিয়া সংরক্ষণ করে এবং নেটওয়ার্ক লেটেন্সি হ্রাস করে। Google মূলত SPDY প্রোটোকলে সার্ভার পুশ চালু করেছে।
HTTP/2 এর আরেকটি উন্নতি হল ক্যাশে পুশ। এটি সক্রিয়ভাবে ক্লায়েন্টের ক্যাশে আপডেট বা অকার্যকর করে। এটি সার্ভারগুলিকে সম্ভাব্য পুশ-সক্ষম সংস্থানগুলি সনাক্ত করার ক্ষমতা দেয় যা ক্লায়েন্টরা আসলে চায় না৷
সুবিধা:
- ক্লায়েন্টরা পুশ করা সম্পদ প্রত্যাখ্যান করতে পারে যাতে ক্যাশ করা সম্পদের একটি দক্ষ সংগ্রহস্থল বজায় রাখা যায় (অথবা সার্ভার পুশ সম্পূর্ণরূপে নিষ্ক্রিয় করে)।
- ক্লায়েন্টরা একসাথে মাল্টিপ্লেক্স করা পুশড স্ট্রিমের সংখ্যা সীমিত করতে পারে।
- সার্ভারগুলি পুশ করা সংস্থানগুলিকে অগ্রাধিকার দিতে পারে৷ এটি HTTP/2 এবং HTTP-এর মধ্যে পারফরম্যান্সের পার্থক্যের একটি মূল৷ ৷
- সার্ভারগুলি একই TCP সংযোগের মধ্যে ক্লায়েন্টের অনুরোধ করা তথ্য সহ মাল্টিপ্লেক্স পুশ করা সংস্থান করতে পারে৷
- ক্লায়েন্টরা বিভিন্ন পৃষ্ঠায় ক্যাশে করা সম্পদ ব্যবহার করতে পারে।
- ক্লায়েন্ট পুশ করা সম্পদ ক্যাশে মেমরিতে সংরক্ষণ করে।
বাইনারী প্রোটোকল
টেক্সট প্রোটোকলকে বাইনারি প্রোটোকলে রূপান্তর করার সময় HTTP/2 এর ক্ষমতা উল্লেখযোগ্যভাবে উন্নত হয়েছে . যখন HTTP অনুরোধ-প্রতিক্রিয়া চক্র চালানোর জন্য টেক্সট কমান্ড প্রক্রিয়া করতে ব্যবহৃত হয়, HTTP/2 বাইনারি কমান্ডের উপর নির্ভর করে। এটি একই কাজগুলি সম্পাদন করার জন্য সময়কে (1s এবং 0s) কমিয়ে দেয়৷
HTTP/2 সমর্থন সহ ব্রাউজারগুলি নেটওয়ার্কে প্রেরণ করার আগে পাঠ্য কমান্ডগুলিকে বাইনারি কোডে রূপান্তর করবে। যাইহোক, বাইনারি ফ্রেমিং স্তরটি HTTP সার্ভার এবং ক্লায়েন্টের সাথে পিছিয়ে সামঞ্জস্যপূর্ণ নয়৷
সুবিধা:
- HTTP এর পাঠ্য প্রকৃতির সাথে সম্পর্কিত নিরাপত্তা উদ্বেগ প্রতিরোধ করা (উদাঃ প্রতিক্রিয়া বিভক্ত আক্রমণ)।
- কম্প্রেশন, অগ্রাধিকার, মাল্টিপ্লেক্সিং, TLS-এর কার্যকর হ্যান্ডলিং এবং প্রবাহ নিয়ন্ত্রণের মতো HTTP/2 ক্ষমতা সক্ষম করে।
- কমান্ডের কম্প্যাক্ট উপস্থাপনা সহজ বাস্তবায়ন এবং প্রক্রিয়াকরণের অনুমতি দেয়।
- ক্লায়েন্ট এবং সার্ভারের মধ্যে শক্তিশালী এবং কার্যকর ডেটা প্রক্রিয়াকরণ।
- উন্নত থ্রুপুট এবং হ্রাস নেটওয়ার্ক লেটেন্সি।
- HTTP এর সাথে তুলনা করলে ত্রুটির সম্ভাবনা কম।
- অত্যন্ত দক্ষ নেটওয়ার্ক রিসোর্স ব্যবহার।
- ডেটা পার্স করার ক্ষেত্রে কম ওভারহেড।
- হালকা নেটওয়ার্ক ফুটপ্রিন্ট।
স্ট্রিম অগ্রাধিকার
HTTP/2 ক্লায়েন্টদের নির্দিষ্ট ডেটা স্ট্রীমগুলিতে পছন্দ প্রদান করতে দেয়। সার্ভারগুলি এই ক্লায়েন্টদের নির্দেশাবলী অনুসরণ করতে বাধ্য নয়, তবে এই প্রক্রিয়াটি সার্ভারগুলিকে ব্যবহারকারীর প্রয়োজনীয়তার উপর ভিত্তি করে নেটওয়ার্ক সংস্থান বরাদ্দ অপ্টিমাইজ করার অনুমতি দেয় .
স্ট্রিম অগ্রাধিকার প্রতিটি স্ট্রীমের জন্য নির্ধারিত ওজন এবং নির্ভরতার সাথে কাজ করে। সমস্ত স্ট্রীম একে অপরের উপর সহজাতভাবে নির্ভরশীল হওয়া সত্ত্বেও, তাদের 1 থেকে 256 এর মধ্যে একটি ওজন বরাদ্দ করা হয়েছে। স্ট্রীম অগ্রাধিকার প্রক্রিয়াগুলি এখনও বিতর্কের বিষয়। যাইহোক, যখন স্ট্রীম অগ্রাধিকার একক TCP সংযোগে একাধিক ডেটা স্ট্রীম প্রক্রিয়াকরণের HTTP/2 ক্ষমতার সাথে একত্রিত হয়, তখন বিভিন্ন-অগ্রাধিকার সার্ভার অনুরোধের একযোগে আগমন হতে পারে।
সুবিধা:
- নেটওয়ার্ক লেটেন্সি উদ্বেগের নেতিবাচক প্রভাব হ্রাস।
- উন্নত ব্যবহারকারীর অভিজ্ঞতা এবং পৃষ্ঠা-লোড গতি।
- সার্ভার এবং ক্লায়েন্টদের মধ্যে ডেটা যোগাযোগে অপ্টিমাইজেশন।
- অত্যন্ত কার্যকর নেটওয়ার্ক রিসোর্স ব্যবহার।
- প্রাথমিক বিষয়বস্তুর অনুরোধের জন্য কম ডেলিভারি-টাইম।
স্টেটফুল হেডার কম্প্রেশন
যখন ব্যবহারকারীরা মিডিয়া-সমৃদ্ধ-কন্টেন্ট ওয়েবসাইট ব্রাউজ করে, HTTP ব্যবহার করে, ক্লায়েন্টরা একাধিক কাছাকাছি-অভিন্ন হেডার ফ্রেম ঠেলে দেয়। এটি এই ক্ষেত্রে কারণ প্রতিটি ক্লায়েন্টের অনুরোধে সার্ভারের অনুরোধকৃত ক্রিয়াকলাপ সম্পাদন করার জন্য যতটা তথ্য প্রয়োজন ততটুকু অন্তর্ভুক্ত করতে হবে। এই প্রক্রিয়াটি বিলম্ব এবং অপ্রয়োজনীয় সম্পদ খরচের দিকে নিয়ে যায়।
HTTP/2 এর মধ্যে প্রচুর পরিমাণে অপ্রয়োজনীয় হেডার ফ্রেম সংকুচিত করার ক্ষমতা রয়েছে। এটি হেডার কম্প্রেশন এর নিরাপদ এবং সহজ পদ্ধতি হিসাবে HPACK স্পেসিফিকেশনের উপর নির্ভর করে . ক্লায়েন্ট এবং সার্ভার পূর্ববর্তী ক্লায়েন্ট-সার্ভার অনুরোধে ব্যবহৃত শিরোনামগুলির একটি তালিকা বজায় রাখে। এটি সরাসরি অপ্রয়োজনীয় হেডার ফ্রেমের সাথে উদ্বেগের সমাধান করে।
সুবিধা:
- সাধারণত ব্যবহৃত হেডার এবং বড় হেডার এনকোড করে। এটি সম্পূর্ণ হেডার ফ্রেম পাঠানোর প্রয়োজনীয়তা দূর করে। প্রতিটি স্ট্রিমের পৃথক আকার উল্লেখযোগ্যভাবে সঙ্কুচিত হয়।
- সংকুচিত শিরোনাম সহ CRIME ডেটা স্ট্রীম অন্বেষণের মতো নিরাপত্তা আক্রমণ প্রতিরোধ করা।
- মাল্টিপ্লেক্সিং মেকানিজমের দক্ষ ব্যবহার।
- দক্ষ স্ট্রিম অগ্রাধিকার।
- কমিত সম্পদ ওভারহেড।
HTTP/2 এর বাস্তব-বিশ্ব উপকারিতা
HTTP/2 প্রযুক্তির সম্ভাবনাকে সর্বাধিক করার উপর দৃষ্টি নিবদ্ধ করে , ভবিষ্যতের চাহিদা এবং প্রত্যাশা মেটাতে। এখানে HTTP/2 ব্যবহার করার বাস্তব-বিশ্বের সুবিধা রয়েছে৷
৷ওয়েব পারফরম্যান্স এবং মোবাইল ওয়েব পারফরম্যান্স - HTTP/2 এর একটি ক্লায়েন্ট-সার্ভার যোগাযোগ চক্রে আরও ডেটা প্রেরণ এবং গ্রহণ করার ক্ষমতা রয়েছে। ব্যবহারকারী প্রতি সীমিত ব্যান্ডউইথ সহ মোবাইল ডেটা নেটওয়ার্ক এবং নেটওয়ার্কগুলিতে ইন্টারনেট পরিষেবা অ্যাক্সেসের বিলম্ব কমাতে এটি ভাল কাজ করে৷
সস্তা উচ্চ গতির ইন্টারনেট - HTTP/2 ডেটা যোগাযোগের কার্যকারিতা বাড়ায়। এটি ইন্টারনেট প্রদানকারীদের উচ্চ-গতির ইন্টারনেটের মান বজায় রেখে সামগ্রিক খরচ কমাতে দেয়।
নিরাপত্তা – HTTP/2 টেক্সট-ভিত্তিক অ্যাপ্লিকেশন লেয়ার প্রোটোকলকে লক্ষ্য করে হুমকির জন্য ঝুঁকিপূর্ণ নয়। উপরন্তু, এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে সংবেদনশীল ডেটা ট্রান্সমিশন রক্ষা করতে "অস্পষ্টতার দ্বারা নিরাপত্তা" পদ্ধতি ব্যবহার করে।
বিস্তৃত নাগাল - HTTP/2 সুবিধা প্রদানকারীদের জন্য ইন্টারনেট ফলাফল কমিয়ে দেয়। এটি বিশ্বব্যাপী বিস্তৃত ইন্টারনেট কভারেজের দিকে নিয়ে যাবে৷
৷মিডিয়া-সমৃদ্ধ ওয়েব অভিজ্ঞতা – HTTP/2 ওয়ার্ল্ড ওয়াইড ওয়েবে নিয়ে আসা প্রযুক্তি বৈশিষ্ট্য এবং সুবিধাগুলি একটি পরিকাঠামো প্রদান করে যা দ্রুত পৃষ্ঠা-লোড গতিতে মিডিয়া-সমৃদ্ধ সামগ্রী সরবরাহ করতে সক্ষম৷
রেপ আপ৷
HTTP/2 তুলনামূলকভাবে নতুন প্রোটোকল, কিন্তু এটির জন্য সমর্থন ক্রমাগত বৃদ্ধি পায়। আজকাল, বেশিরভাগ ইন্টারনেট ব্রাউজার HTTP/2 (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome for Android) সমর্থন করে। অনেক ওয়েব সার্ভার HTTP/2 নেটিভ সাপোর্ট (Apache HTTP সার্ভার, Tomcat, NGINX) অন্তর্ভুক্ত করে। নিঃসন্দেহে, HTTP/2 হল ভবিষ্যতের WWW প্রোটোকল।