در اینجا میخواهیم دربارهی چگونگی اتصال و مدیریت کانکشنها در HTTP/3 بر اساس RFC 9114 صحبت کنیم. HTTP/3 که با استفاده از پروتکل QUIC ساخته شده، بهصورت خاصی برای بهبود کارایی و کاهش تأخیر در شبکههای مدرن طراحی شده است. یکی از بزرگترین مزایای HTTP/3 روش مدیریت اتصال جدید آن است که نگرانیهای معمول در مورد تأخیر و عملکرد شبکه را در HTTP/2 برطرف میکند.
در HTTP/2، به دلیل استفاده از TCP، هر گونه از دست دادن بستههای اطلاعاتی میتواند باعث تأخیر در انتقال دادهها شود، زیرا ترتیب بستهها باید حفظ شود و همهی آنها باید دوباره ارسال شوند تا ترتیب درست بازگردانده شود. در مقابل، HTTP/3 از QUIC بهره میبرد که یک پروتکل لایهی انتقال جدید است و این مشکل را با استفاده از روشهای پیشرفتهای برطرف میکند.
QUIC از یک سری مکانیسمهای امنیتی پیشفرض برای رمزنگاری اطلاعات در سطح نقل و انتقال استفاده میکند، و این امر امنیت در حالت اتصال را در مقایسه با پروتکلهای نسل قبلی افزایش داده است. با استفاده از UDP به جای TCP، QUIC قادر است تا اتصالات سریعتری بدون تأخیرهای متداول TCP ایجاد کند.
پیکربندی اتصالات در HTTP/3 با استفاده از handshake امنیتی ابتدایی SSL/TLS انجام میپذیرد، و چون پروتکل در لایهی انتقال ایمن است، برقراری اولین اتصال برای کاربران بسیار سریعتر بوده و بهبود قابلتوجهی در زمان بارگذاری صفحات وب نشان میدهد.
پروتکل QUIC همچنین به کنترل جریانهای متفاوت دادهها بهصورت جداگانه میپردازد، به گونهای که اگر مشکلی در یک جریان پیش آمد، مشکلات آن به بقیه جریانها تأثیری نمیگذارد، چیزی که در HTTP/2 به دلیل TCP ممکن نبود.
<!-- کد زیر نمونهای از یک ساختار ساده کانفیگ QUIC را نشان میدهد -->
{
"protocol": "quic",
"transport": "udp",
"security": {
"tls": "mandatory"
},
"version": "rfc9114"
}
حالا بیایید خط به خط کد را بررسی کنیم:
"protocol": "quic"
این خط پروتکل مورد استفاده را بهعنوان QUIC تعریف میکند.
"transport": "udp"
این خط نشان میدهد که پروتکل QUIC از UDP بهعنوان پروتکل حمل و نقل داده استفاده میکند که باعث سرعت بالاتر و کاهش تأخیر میشود.
"security": {"tls": "mandatory"}
اینجا مشخص میکنیم که استفاده از TLS در فرایند امنیتی اجباری است، که امنیت پیکربندی قبل از آنکه داده ارسال شود را تضمین میکند.
"version": "rfc9114"
این خط نسخهای که قرار است استفاده شود را مشخص میکند، به صورت پیشفرض RFC 9114 در اینجا ذکر شده است.