چگونه HTTP/3 و QUIC وبگردی شما را سرعت می‌بخشد

HTTP/3 در حال فراگيرتر شدن است. Cloudflare حالا از HTTP/3 پشتیبانی می‌کند که از قبل هم بخشی از Chrome Canary بود و قرار است به زودی به Firefox Nightly هم اضافه شود. این استاندارد جدید گشت و گذار شما در وب را سریع‌تر و امن‌تر می‌کند.

اما چرا HTTP/3 و QUIC اهمیت دارند

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

HTTP/3 به شکلی بازنگری شده تا داده‌ها را سریع‌تر و با خطای کمتری ارسال کند. این استاندارد به یک سیستم کدگذاری داخلی نیز مجهز است، که نتیجه آن سرعت و امنیت بیشتر خواهد بود. این تنها محدود به سرعت نقل و انتقال داده نمی‌شود، HTTP/3 باید زمان تاخیر (latency) را نیز کاهش دهد، به این معنا که وب‌سایت‌ها بعد از این که شما روی یک لینک کلیک کردید با سرعت بیشتر و در مدت زمان کمتری بارگیری خواهند شد.

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

از HTTP/1 به HTTP/2

1_183

نسخه اصلی HTTP از پروتکل هدایت انتقال (TCP) استفاده می‌کند. TCP که برای اولین بار در سال 1974 معرفی شد برای پاسخگویی به نیازهای وب امروزی طراحی نشده بود. گوگل سعی کرد با یک پروتکل جدید به نام SPDY خیلی از مشکلات TCP را برطرف کند که منجر به معرفی HTTP/2 شد.

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

W3Techs تخمین زده است که تا سپتامبر 2019 استاندارد HTTP/2 توسط 41% از وب‌سایت‌ها مورد استفاده قرار گرفته است.

HTTP/3 و QUIC چه هستند؟

HTTP/3 بیشتر شبیه به یک نسخه بازنويسی شده از پروتکل HTTP است. HTTP/3 به جای استفاده از TCP، از پروتکل QUIC گوگل استفاده می‌کند. HTTP/3 در ابتدا تحت عنوان HTTP-over-QUIC شناخته می‌شد. همچنین این پروتکل از کدگذاری TLS 1.3 برخوردار است، به همین دلیل نیازی به یک HTTPS جداگانه برای اضافه کردن امنیت به این پروتکل شبیه به آنچه در حال حاضر انجام می‌شود ندارد.

QUIC مخفف عبارت Quick UDP Internet Connections (اتصالات اینترنت UDP سریع) بود. این پروتکل طراحی شده بود تا با زمان تاخیر کمتر از TCP سریع‌تر باشد. QUIC در زمان برقراری یک اتصال سربار کمتر و نقل و انتقال داده سریع‌تری را ارائه می‌کند. بر خلاف TCP، یک خطا مثل بخشی از داده که در مسیر گم می‌شود باعث توقف اتصال و انتظار برای رفع مشکل نخواهد شد. QUIC تا رفع شدن مشکل به انتقال سایر داده‌ها ادامه خواهد داد.

در واقع QUIC در سال 2013 به گوگل کروم اضافه شده بود. کروم در زمان برقراری ارتباط با خدمات گوگل و برخی دیگر از وب‌سایت‌ها مثل فیسبوک از آن استفاده می‌کند و در اپلیکیشن‌های اندروید نیز موجود است. اما QUIC یک استاندارد الصاق شده به سایر مرورگرهای وب نیست. با HTTP/3 این فناوری تحت یک استاندارد به سایر مرورگرها نیز اضافه خواهد شد.

آنها در حال اضافه شدن به مرورگرهای وب اطراف شما هستند

HTTP/3 در سپتامبر 2019 و به صورت مخفيانه تحت یک command-line flag به نسخه Canary گوگل کروم اضافه شد. راه اندازی Chrome Canary با پارامتر خط فرمان –enable-quic –quic-version=h3-23  باعث فعال شدن HTTP/3 خواهد شد.

Mozilla نیز اعلام کرده است در حال کار برای اضافه کردن HTTP/3 به یک نسخه آزمایشی از Firefox Nightly در پاییز امسال است. نسخه جدید Chromium از Microsoft Edge نیز HTTP/3 را همراه خواهد داشت. انتظار ميرود اپل نیز برای اضافه کردن HTTP/3 به Safari اقداماتی انجام دهد.

Cloudflare اعلام کرده است که سازگاری HTTP/3 برای سایت‌هایی که از شبکه نقل و انتقال محتوای این خدمات دهنده استفاده می‌کنند را ساده‌تر کرده است. مشتريان Cloudflare به زودی قادر خواهند بود تا تنها با جابجایی یک سویچ HTTP/3 به همراه QUIC را برای سایت‌های خود فعال کنند.

HTTP/3 به دیگر نرم افزارها نیز اضافه خواهد شد. برای مثال، وب سرور Nginx مشغول کار روی پشتیبانی از HTTP/3 برای  Nginx version 1.17 است.

منبع:شبکه-مگ


پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *