HTTP/2: استریم‌ها و مولتی‌پلکسینگ

http2 streams multiplexing rfc9113
20 آبان 1403


در دنیای امروز اینترنت، سرعت بارگذاری صفحات وب و انتقال داده‌ها بسیار حیاتی است. به همین دلیل، پروتکل HTTP که به عنوان یکی از مهم‌ترین پروتکل‌های وب شناخته شده، به طور مستمر در حال بهبود و تغییر است. در سال‌های اخیر، یکی از این نسخ پیشرفته، یعنی HTTP/2 معرفی شد.


HTTP/2 با هدف بهبود کارایی و سرعت انتقال داده‌ها طراحی شده است. در این پروتکل، مفهوم استریم و مولتی‌پلکسینگ به شدت مورد توجه قرار گرفته است تا بتواند به طور همزمان چندین درخواست HTTP را مدیریت کند.


استریم در HTTP/2 به معنای یک کانال ارتباطی دو طرفه است که می‌توان به صورت جداگانه در آن داده ارسال و دریافت کرد. این روش باعث می‌شود تا نیازی به انتظار برای ارسال واحدی از داده نباشد. با استفاده از مولتی‌پلکسینگ، HTTP/2 توانایی ارسال همزمان چندین استریم را از طریق یک اتصال TCP دارد که این امر باعث افزایش چشمگیر کارایی می‌شود.


به زبان ساده، مولتی‌پلکسینگ به سرور و کلاینت اجازه می‌دهد تا چندین استریم را در یک ارتباط ترکیب کنند. این ویژگی باعث کاهش تاخیر و افزایش سرعت بارگذاری می‌شود چون نیازی نیست منتظر دریافت و پردازش سایر استریم‌ها بمانند.


در اینجا، چندین ویژگی کلیدی HTTP/2 را بررسی کردیم که شامل استریم و مولتی‌پلکسینگ می‌شوند. حالا بیایید نگاهی به یک مثال کد ساده که برخی از این مفاهیم را نشان می‌دهد، بیندازیم.


GET /index.html HTTP/2\r\nHost: example.com\r\n

در اینجا یک مثال ساده برای ارسال درخواست به یک سرور با استفاده از HTTP/2 ارائه شده است. حالا بیایید بررسی کنیم که هر خط از این کد چه معنایی دارد:


GET /index.html HTTP/2
این خط درخواست برای یک پرونده HTML به نام index بر اساس پروتکل HTTP/2 است.

Host: example.com
این خط میزبان یا دامنه هدف برای درخواست را نشان می‌دهد.

سوالات متداول

؟

خیلی ساده بگو، مولتی‌پلکسینگ چیه؟

؟

HTTP/2 واقعاً چه چیزی را بهتر می‌کند؟

؟

چرا استریم‌ها در HTTP/2 مهم هستند؟