কম্পিউটার টিউটোরিয়াল

HTTP/2 কী এবং এটি কী করে?

গত ২০ বছরে ওয়ার্ল্ড ওয়াইড ওয়েব নাটকীয়ভাবে বিকশিত হয়েছে। উন্নত ওয়েব প্রযুক্তির সকল উন্নতিয়ের জন্য বর্তমান প্রোটোকল (HTTP) চেয়ে ভালো এবং দ্রুত সমাধান ও প্রোটোকলের প্রয়োজন, যেগুলো তাদের প্রযুক্তিগত সীমার ধরে পৌঁছেছে।

HTTP/2 কী এবং এটি কী করে?

HTTP/2 কী?

HTTP/2 হল হাইপারটেক্সট ট্রান্সপোর্ট প্রোটোকল (HTTP)-এর новейतम সংস্করণ — ওয়ার্ল্ড ওয়াইড ওয়েব ব্যবহৃত মূল প্রোটোকল। এটি ফেব্রুয়ারি ২০১৫ সালে অনুমোদিত হয়েছিল। আসল HTTP-এর প্রায় ২০ বছর পর। অধিকাংশ ব্রাউজার ইতিমধ্যে 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 সংযোগ একাধিক ডেটা স্ট্রিম ট্রান্সমিট করার সময় কার্যকর নেটওয়ার্ক রিসোর্স ব্যবহার নিশ্চিত করে।
  • দ্রুত ওয়েব পারফরম্যান্স, কম লেটেন্সি এবং উন্নত সার্চ ইঞ্জিন ফলাফল।
  • নেটওয়ার্ক এবং IT রিসোর্স চালানোর ক্যাপএক্স এবং অপএক্স কমায়।

HTTP/2 কী এবং এটি কী করে?

HTTP/2 সার্ভার পুশ এবং ক্যাশ পুশ

এটি একটি সক্ষমতা যা সার্ভারকে ক্লায়েন্টের কাছে অতিরিক্ত ক্যাশযোগ্য তথ্য পাঠাতে দেয়। অনুরোধ না করেও ভবিষ্যতের অনুরোধের জন্য তা অগ্রজ্ঞান থাকে। যদি ক্লায়েন্ট রিসোর্স A অনুরোধ করে এবং জানা থাকে যে অনুরোধকৃত রিসোর্সের সাথে রিসোর্স B রেফারেন্সড আছে, তবে সার্ভার অন্য ক্লায়েন্ট অনুরোধের জন্য অপেক্ষা না করে B-কে A-এর সাথে পুশ করতে পারে। তারপর ক্লায়েন্ট পুশ করা রিসোর্স B-কে ভবিষ্যতের ব্যবহার জন্য ক্যাশে সংরক্ষণ করে। এই ফিচার একটি পুরো রিকোয়েস্ট-রেসপন্স রাউন্ড-ট্রিপ প্রক্রিয়া বাঁচায় এবং নেটওয়ার্ক লেটেন্সি কমায়। গুগল eredetত SPDY প্রোটোকলে সার্ভার পুশ পরিচয় দিয়েছিল।

HTTP/2-এ অন্য একটি উন্নতি হল ক্যাশ পুশ। এটি সক্রিয়ভাবে ক্লায়েন্টের ক্যাশ আপডেট বা অবৈধ করে। এটি সার্ভারকে সম্ভাব্য পুশ-যোগ্য রিসোর্স চিহ্নিত করতে দেয় যা ক্লায়েন্ট আসলে চায় না।

সুবিধা:

  • ক্লায়েন্ট পুশ করা রিসোর্স अस্বীকার করতে পারে যাতে ক্যাশড রিসোর্সের দক্ষ সংগ্রহ থাকে (বা সম্পূর্ণ সার্ভার পুশ অক্ষম করতে পারে)।
  • ক্লায়েন্ট সমকালীন পুশড স্ট্রিমের সংখ্যা সীমাবদ্ধ করতে পারে।
  • সার্ভার পুশ করা রিসোর্সকে প্রাধান্য দিতে পারে। এটি HTTP/2 এবং HTTP-এর পারফরম্যান্স পার্থক্যের চাবিকাঠি।
  • সার্ভার ক্লায়েন্টের অনুরোধকৃত তথ্যের সাথে পুশ করা রিসোর্স মাল্টিপ্লেক্স করতে পারে একই TCP সংযোগে।
  • ক্লায়েন্ট ক্যাশড রিসোর্স ভিন্ন পেজে ব্যবহার করতে পারে।
  • ক্লায়েন্ট পুশ করা রিসোর্স ক্যাশ মেমরিতে সংরক্ষণ করে।

বাইনারি প্রোটোকল

টেক্সট প্রোটোকলকে বাইনারি প্রোটোকলে রূপান্তর করার ক্ষেত্রে HTTP/2-এর দক্ষতা উল্লেখযোগ্যভাবে উন্নত হয়েছে। HTTP যেখানে রিকোয়েস্ট-রেসপন্স সাইকেল এক্সিকিউট করার জন্য টেক্সট কমান্ড প্রসেস করত, HTTP/2 বাইনারি কমান্ডের ওপর নির্ভর করে। এটি একই কাজের জন্য সময় কমায় (১ এবং ০-তে)।

HTTP/2 সাপোর্ট ব্রাউজার নেটওয়ার্কের ওপর ট্রান্সমিট করার আগে টেক্সট কমান্ডকে বাইনারি কোডে রূপান্তর করবে। যাইহোক, বাইনারি ফ্রেমিং লেয়ার HTTP সার্ভার এবং ক্লায়েন্টের সাথে ব্যাকওয়ার্ড কম্প্যাটিবল নয়।

সুবিধা:

  • HTTP-এর টেক্সটুয়াল প্রকৃতির সাথে জড়িত সিকিউরিটি চিন্তা প্রতিরোধ (যেমন রেসপন্স স্প্লিটিং আক্রমণ)।
  • HTTP/2 ক্ষমতা সক্ষম করে যেমন কম্প্রেশন, প্রায়োরিটাইজেশন, মাল্টিপ্লেক্সিং, TLS-এর কার্যকর হ্যান্ডলিং, এবং ফ্লো কন্ট্রোল।
  • কমান্ডের কম্প্যাক্ট রিপ্রেজেন্টেশন যা ইমপ্লিমেন্টেশন এবং প্রসেসিং সহজ করে।
  • ক্লায়েন্ট এবং সার্ভারের মধ্যে সुदৃঢ় এবং কার্যকর ডেটা প্রসেসিং।
  • উন্নত থ্রুপুট এবং কম নেটওয়ার্ক লেটেন্সি।
  • HTTP-এর তুলনায় ত্রুটির সম্ভাবনা কম।
  • অত্যন্ত দক্ষ নেটওয়ার্ক রিসোর্স ব্যবহার।
  • ডেটা পার্স করার কম ওভারহেড।
  • হালকা নেটওয়ার্ক ফুটপ্রিন্ট।

HTTP/2 কী এবং এটি কী করে?

স্ট্রিম প্রায়োরিটাইজেশন

HTTP/2 ক্লায়েন্টকে নির্দিষ্ট ডেটা স্ট্রিমের প্রেফারেন্স দিতে দেয়। সার্ভার ক্লায়েন্টের এই নির্দেশনা মানতে বাধ্য নয়, কিন্তু এই মেকানিজম সার্ভারকে ব্যবহারকারীর আশ্বশ্যকতার ওপর ভিত্তি করে নেটওয়ার্ক রিসোর্স বরাদ্দ অপ্টিমাইজ করতে দেয়।

স্ট্রিম প্রায়োরিটাইজেশন প্রতিটি স্ট্রিমের ওপর অ্যাসাইন করা ওয়েট এবং ডিপেন্ডেন্সি দিয়ে কাজ করে। সকল স্ট্রিম স্বাভাবিকভাবেই একে অপরর ওপর ডিপেন্ডেন্ট হলেও, তাদের ১ থেকে ২৫৬ এর মধ্যে ওয়েট অ্যাসাইন থাকে। স্ট্রিম প্রায়োরিটাইজেশন মেকানিজম এখনও বিতর্কের বিষয়। যাইহোক, স্ট্রিম প্রায়োরিটাইজেশন HTTP/2-এর একক TCP সংযোগে একাধিক ডেটা স্ট্রিম প্রসেস করার ক্ষমতার সাথে মিলিত হলে, ভিন্ন-প্রায়োরিটির সার্ভার রিকোয়েস্টের সমকালীন আগমন হতে পারে।

সুবিধা:

  • নেটওয়ার্ক লেটেন্সি চিন্তার নেতিবাচক প্রভাব কমায়।
  • ব্যবহারকারীর অভিজ্ঞতা এবং পেজ-লোড স্পিড উন্নত করে।
  • সার্ভার এবং ক্লায়েন্টের মধ্যে ডেটা কমিউনিকেশন অপ্টিমাইজ করে।
  • অত্যন্ত কার্যকর নেটওয়ার্ক রিসোর্স ব্যবহার।
  • প্রাইমারি কন্টেন্ট রিকোয়েস্টের ডেলিভারি টাইম কমায়।

স্টেটফুল হেডার কম্প্রেশন

ব্যবহারকারীরা মিডিয়া-রিচ কন্টেন্ট ওয়েবসাইট ব্রাউজ করার সময় HTTP ব্যবহার করে, ক্লায়েন্ট একাধিক করीব-करीব একই হেডার ফ্রেম পুশ করে। এটি ঘটে কারণ প্রতিটি ক্লায়েন্ট রিকোয়েস্টে সার্ভার যা কাঙ্ক্ষিত অপারেশন সম্পন্ন করার জন্য তথ্য দরকার সেটি থাকতে হয়। এই প্রক্রিয়া লেটেন্সি এবং অপ্রয়োজনীয় রিসোর্স খরচের দিকে নিয়ে যায়।

HTTP/2 রিডান্ড্যান্ট হেডার ফ্রেমের বড় সংখ্যক কম্প্রেস করার ক্ষমতা অন্তর্ভুক্ত করে। এটি HPACK স্পেসিফিকেশনে নির্ভর করে হেডার কম্প্রেশনের জন্য একটি সুরক্ষিত এবং সহজ পদ্ধতি হিসেবে। ক্লায়েন্ট এবং সার্ভার পূর্ববর্তী ক্লায়েন্ট-সার্ভার রিকোয়েস্টে ব্যবহৃত হেডারদের একটি তালিকা রক্ষা করে। এটি রিডান্ড্যান্ট হেডার ফ্রেমের চিন্তাগুলো সরাসরি সমাধান করে।

সুবিধা:

  • সাধারণভাবে ব্যবহৃত হেডার এবং বড় হেডার এনকোড করে। এতে সম্পূর্ণ হেডার ফ্রেম পাঠানোর প্রয়োজন নেই। প্রতিটি স্ট্রিমের আকার উল্লেখযোগ্যভাবে ছোট হয়।
  • CRIME-এর মতো সিকিউরিটি আক্রমণ প্রতিরোধ করে যা কম্প্রেসড হেডারের সাথে ডেটা স্ট্রিম এক্সপ্লোর করে।
  • মাল্টিপ্লেক্সিং মেকানিজমের দক্ষ ব্যবহার।
  • দক্ষ স্ট্রিম প্রায়োরিটাইজেশন।
  • রিসোর্স ওভারহেড কমায়।

HTTP/2 কী এবং এটি কী করে?

HTTP/2-এর বাস্তব সুবিধা

HTTP/2 প্রযুক্তির সম্ভাবনা সর্বাধিক করার ওপর ফোকাস করে, ভবিষ্যতের প্রয়োজন এবং প্রত্যাশা পূরণের জন্য। HTTP/2 ব্যবহারের বাস্তব সুবিধা নিচে:

ওয়েব পারফরম্যান্স এবং মোবাইল ওয়েব পারফরম্যান্স — HTTP/2 একটি ক্লায়েন্ট-সার্ভার কমিউনিকেশন সাইকেলে অধিক ডেটা পাঠাতে ও পেতে সক্ষম। এটি মোবাইল ডেটা নেটওয়ার্ক এবং প্রতি ব্যবহারকারী সীমিত ব্যান্ডউইডথवाले নেটওয়ার্কে ইন্টারনেট সেবা অ্যাক্সেসের লেটেন্সি কমাতে ভালো কাজ করে।

সস্তা হাই-স্পিড ইন্টারনেট — HTTP/2 ডেটা কমিউনিকেশনের কার্যকারিতা বাড়ায়। যা ইন্টারনেট প্রোভাইডারদের সামগ্রিক খরচ কমানোতে সক্ষম করে হাই-স্পিড ইন্টারনেটের মান বজায় রেখে।

সিকিউরিটি — HTTP/2 টেক্সট-ভিত্তিক অ্যাপ্লিকেশন লেয়ার প্রোটোকল লক্ষ্য করা হুমকির জন্য আতঙ্কিত নয়। மேலும், এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে সংবেদনশীল ডেটা ট্রান্সমিশন রক্ষার জন্য "Security by Obscurity" পদ্ধতি ব্যবহার করে।

ব্যাপক পৌঁছানойোগ্যতা — HTTP/2-এর সুবিধাগুলো প্রোভাইডারদের ইন্টারনেট আউটকাম কমায়। যা বিশ্বব্যাপী ব্রডব্যান্ড কভারেজ বাড়াতে সাহায্য করবে।

মিডিয়া-রিচ ওয়েব অভিজ্ঞতা — HTTP/2 যে প্রযুক্তিগত ফিচার এবং সুবিধা ওয়েবে আনে, সেগুলো দ্রুত পেজ-লোড স্পিডে মিডিয়া-রিচ কন্টেন্ট ডেলিভারি সক্ষম করে।

উপসংহার

HTTP/2 আপেক্ষিক নতুন প্রোটোকল, কিন্তু এর জন্য সাপোর্ট συνεχে বাড়ছে। আজকাল অধিকাংশ ইন্টারনেট ব্রাউজার HTTP/2 সাপোর্ট করে (Microsoft Edge, Google Chrome, Safari, Firefox, Chrome for Android)। অনেক ওয়েব সার্ভার HTTP/2 নেটিভ সাপোর্ট অন্তর্ভুক্ত করে (Apache HTTP Server, Tomcat, NGINX)। সন্দেহ নেই, HTTP/2 হল WWW প্রোটোকলের ভবিষ্যত।


  1. Android System WebView কী এবং এটি কী কাজ করে?

  2. ডিসেন্ট্রালাইজড ভিপিএন (dVPN) কী এবং এটি কীভাবে কাজ করে?

  3. NVIDIA ভার্চুয়াল অডিও কী এবং এটি কী করে?

  4. runtimebroker.exe কী এবং এর কাজ কী?