IRCNF

HTTP/3 به صورت پیش‌فرض فعال شد؛ چه تغییری کرد و چرا این همه طول کشید؟

اشتراک‌گذاری:
HTTP/3 به صورت پیش‌فرض فعال شد؛ چه تغییری کرد و چرا این همه طول کشید؟

در بیشتر تاریخ اینترنت، پروتکلی که ترافیک وب را حمل می‌کرد TCP بود – یک لایه انتقال قابل اعتماد اما کهنه که در دهه ۱۹۷۰ طراحی شده بود. اما در سال ۲۰۲۶، این وضعیت دیگر پیش‌فرض نیست. HTTP/3 که روی پروتکل QUIC ساخته شده، از مرحله آزمایشی به مرحله انتظار عمومی رسیده است. بیش از ۳۴٪ از ۱۰ میلیون وب‌سایت برتر اکنون HTTP/3 را سرو می‌کنند، ۹۲٪ مرورگرها آن را به صورت بومی پشتیبانی می‌کنند و CDNهای بزرگی مثل Cloudflare، Fastly و Akamai آن را در گره‌های لبه خود به صورت پیش‌فرض فعال کرده‌اند. در اینجا می‌بینیم چه تغییری کرده، چرا مهم است و این انتقال چه مشکلاتی را حل نکرده است.

مشکلی که HTTP/3 واقعاً حل می‌کند

برای فهمیدن دلیل وجود HTTP/3 باید با head-of-line blocking آشنا شوید – عیبی که در HTTP/2 وجود داشت و بیشتر کاربران از آن بی‌خبر بودند. HTTP/2 اجازه می‌داد چندین درخواست یک اتصال TCP را به اشتراک بگذارند که بهبود بزرگی نسبت به HTTP/1.1 بود. اما TCP داده‌ها را به صورت یک جریان مرتب پردازش می‌کند. اگر یک بسته گم شود، تمام درخواست‌های دیگر روی آن اتصال متوقف می‌شوند تا بسته گمشده دوباره ارسال و دریافت شود. نرخ ۱٪ از دست دادن بسته – که در شبکه‌های موبایل رایج است – می‌تواند بیشتر مزیت HTTP/2 را از بین ببرد.

QUIC که توسط گوگل توسعه یافته و در سال ۲۰۲۱ توسط IETF استاندارد شد، این مشکل را با اجرا روی UDP به جای TCP و مدیریت مولتی‌پلکسینگ در سطح پروتکل حل می‌کند. هر جریان مستقل است. یک بسته گمشده فقط جریان مربوط به خود را به تأخیر می‌اندازد، نه تمام درخواست‌های دیگر روی اتصال را.

شکاف عملکردی در دنیای واقعی

تفاوت عملکرد بین HTTP/2 و HTTP/3 یکسان نیست. در اتصالات سریع با تأخیر کم – فیبر خانگی، اترنت اداری – این تفاوت کوچک و گاهی منفی است. آزمایش‌ها در ۱ گیگابیت بر ثانیه نشان داده HTTP/3 تا ۴۵٪ توان عملیاتی کمتری نسبت به HTTP/2 دارد که به دلیل سربار بالاتر پردازش هر بسته QUIC در فضای کاربری به جای کرنل است.

جایی که HTTP/3 قاطعانه برنده می‌شود جایی است که از دست دادن بسته و تأخیر بالا است: شبکه‌های موبایل، اتصالات راه دور و زیرساخت شلوغ. مطالعات نشان می‌دهد HTTP/3 در شبکه‌های با از دست دادن بسته متوسط تا بالا ۳۰ تا ۶۰٪ سریع‌تر از HTTP/2 بارگذاری می‌کند و قابلیت 0-RTT اتصال مجدد QUIC صدها میلی‌ثانیه در بازدیدهای تکراری ذخیره می‌کند. برای یک پلتفرم جهانی که بخش قابل توجهی از کاربران روی 4G یا 5G با کیفیت سیگنال متغیر هستند، این شکاف معنادار است.

مهاجرت اتصال: ویژگی که کسی درباره‌اش حرف نمی‌زند

یکی از عملی‌ترین ویژگی‌های QUIC که خیلی کمتر از آنچه شایسته است به آن توجه می‌شود، مهاجرت یکپارچه اتصال است. اتصالات TCP به یک آدرس IP و پورت خاص وابسته هستند. وقتی گوشی شما از Wi-Fi به شبکه موبایل سوئیچ می‌کند – یا بین دکل‌های مخابراتی جابه‌جا می‌شود – اتصال قطع می‌شود و باید دوباره برقرار شود. QUIC از یک Connection ID استفاده می‌کند که در تغییرات شبکه پایدار می‌ماند، به این معنی که یک دانلود فعال یا پخش ویدیو می‌تواند بدون قطعی یا دست‌دهی دوباره از تغییر شبکه عبور کند.

برای کاربران موبایل در سال ۲۰۲۶ که مرتب بین Wi-Fi، 5G و LTE جابه‌جا می‌شوند، این یک بهبود بزرگ در کیفیت زندگی است که هرگز در بنچمارک‌ها دیده نمی‌شود.

واقعیت پذیرش

پذیرش HTTP/3 در سمت کلاینت سریع‌تر از سمت سرور بوده است. همه مرورگرهای اصلی – کروم، فایرفاکس، سافاری، اج – به صورت بومی از HTTP/3 پشتیبانی می‌کنند. در سمت سرور، تصویر متنوع‌تر است. انجینکس از نسخه ۱.۲۵.۰ به بعد از HTTP/3 پشتیبانی می‌کند، Caddy آن را به صورت پیش‌فرض فعال می‌کند و هر CDN بزرگ آن را در لبه حتی برای سرورهای مبدایی که تنظیم نشده‌اند، مدیریت می‌کند.

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

گام بعدی

IETF در حال کار بر روی بهبودهای مشخصات QUIC است. اکوسیستم HTTP/3 به سرعت در حال بلوغ است: پیاده‌سازی‌های سرور کارآمدتر می‌شوند، شکاف پردازش بسته بین فضای کاربری و کرنل در حال کاهش است و پشتیبانی از QUIC در لود بالانسرها و WAFها اکنون در بین فروشندگان بزرگ استاندارد است. برای توسعه‌دهندگانی که امروز سرویس جدیدی راه‌اندازی می‌کنند، فعال کردن HTTP/3 در کنار HTTP/2 کم‌اصطکاک است و برای سهم رو به رشدی از کاربران بهبود عملکرد را به همراه دارد بدون اینکه چیزی را برای کاربران اتصالات سریع سیمی فدا کند.

انتقال پروتکلی که همیشه در افق به نظر می‌رسید، حالا به سادگی زیرساختی است که وب روی آن اجرا می‌شود.

اشتراک‌گذاری:
HTTP/3 به صورت پیش‌فرض فعال شد؛ چه تغییری کرد و چرا این همه طول کشید؟ | IRCNF - Intelligent Reliable Custom Next-gen Frameworks