در این پست خواهید خواند:
HTTP یک زیرساخت ضروری اینترنت است. نحوه تبادل اطلاعات و واکشی منابع توسط پلتفرمهای ارتباطی و دستگاهها را مشخص میکند. به طور خلاصه، این چیزی است که به کاربران امکان بارگذاری وب سایت ها را می دهد.
HTTP/3 استاندارد جدیدی در توسعه وب است که بر نحوه ارتباط مرورگرهای وب و سرورها با ارتقاء قابل توجهی برای تجربه کاربر از جمله عملکرد، قابلیت اطمینان و امنیت تأثیر می گذارد.
پس از انتشار اولین پروتکل انتقال ابرمتن (HTTP) در سال 1991، وب سایت ها را بدون هیچ تغییری در کد اصلی سریعتر کرد.
چه چیزی در HTTP3 جدید میباشد؟
HTTP/3 اولین ارتقاء عمده پروتکل HTTP از زمان تایید HTTP/2 در سال 2015 خواهد میباشد.
یک تفاوت مهم در HTTP/3 این است که روی QUIC، یک پروتکل انتقال جدید، اجرا می شود. QUIC برای استفاده از اینترنت سنگین برای موبایل طراحی شده است که در آن افراد گوشیهای هوشمندی را حمل میکنند که در طول روز به طور مداوم از یک شبکه به شبکه دیگر سوئیچ میکنند. زمانی که اولین پروتکلهای اینترنتی توسعه یافتند، چنین نبود: دستگاهها کمتر قابل حمل بودند و اغلب شبکه شان را تغییر نمیدادند.
استفاده از QUIC به این معنی است که HTTP/3 به پروتکل UDP متکی است نه پروتکل TCP. تغییر به UDP ارتباطات سریعتر و تجربه کاربری سریعتر را هنگام مرور آنلاین ممکن می کند.
پروتکل QUIC در سال 2012 توسط گوگل معرفی شد و با شروع ایجاد استاندارد جدید HTTP/3 توسط گروه ویژه مهندسی اینترنت (IETF) - یک سازمان استانداردهای آزاد از فروشنده - پذیرفته شد. پس از مشورت با کارشناسان در سراسر جهان، IETF تغییرات زیادی را برای توسعه نسخه QUIC خود ایجاد کرده است.
چرا به ورژن جدیدی از HTTP احساس نیاز شد؟
QUIC به رفع برخی از بزرگترین کاستی های HTTP/2 کمک می کند:
- ایجاد راه حلی برای عملکرد ضعیف هنگام تغییر تلفن هوشمند از WiFi به اینترنت تلفن همراه (مانند هنگام خروج از خانه یا دفتر)
- کاهش اثرات از دست دادن اطلاعات(packet) - زمانی که یک بسته از اطلاعات به مقصد خود نمی رسد، دیگر تمام جریان های اطلاعات را مسدود نمی کند (مشکلی که به عنوان "مسدود کردن سر خط" شناخته می شود)
مزایای دیگر:
برقراری اتصال سریعتر: QUIC اجازه می دهد تا مذاکره نسخه TLS همزمان با ارتباط رمزنگاری و انتقال(cryptographic and transport handshakes) انجام شود.
زمان رفت و برگشت صفر (0-RTT): برای سرورهایی که قبلاً به آنها متصل شدهاند، مشتریان میتوانند نیاز به handshake (فرایند تأیید و تأیید یکدیگر برای تعیین نحوه ارتباط آنها) را نادیده بگیرند.
رمزگذاری جامع تر: رویکرد جدید QUIC برای handshake به طور پیش فرض رمزگذاری را ارائه می دهد - ارتقای عظیمی از HTTP/2 - و به کاهش خطر حملات کمک می کند.
مفهوم Encrypting By default:
نیاز به رمزگذاری در لایه انتقال، به جای لایه برنامه، پیامدهای مهمی برای امنیت دارد. این بدان معنی است که اتصال همیشه رمزگذاری خواهد شد. پیش از این، در HTTPS، اتصالات رمزگذاری و لایه انتقال به طور جداگانه انجام می شد. اتصالات TCP میتوانستند دادههای رمزگذاری شده یا رمزگذاری نشده را حمل کنند، و برقراری ارتباط TCP و TLS رویدادهای متمایز بودند. با این حال، QUIC اتصالات رمزگذاری شده را به طور پیش فرض در لایه انتقال تنظیم می کند - داده های لایه برنامه همیشه رمزگذاری می شوند.
QUIC این کار را با ترکیب دو handshake در یک زمان انجام می دهد و تاخیر را کاهش می دهد زیرا برنامه ها قبل از ارسال داده باید منتظر بمانند تا فقط یک handshake به پایان برسد. همچنین ابردادههای مربوط به هر اتصال، از جمله شماره بستهها و برخی دیگر از قسمتهای هدر را رمزگذاری میکند تا اطلاعات مربوط به رفتار کاربر را از دست مهاجمان دور نگه دارد. این ویژگی در HTTP/2 گنجانده نشده است. رمزگذاری این داده ها کمک می کند تا اطلاعات عملی در مورد رفتار کاربر از دست مهاجمان دور بماند.
استفاده سنتی HTTP از متن ساده برای درخواستها و پاسخها پیامدهای منفی برای امنیت دارد، زیرا هر کسی که ارتباطات را نظارت میکند میتواند آنها را بخواند. رمزگذاری بهطور پیشفرض به حفظ امنیت همه و محافظت از دادههای حساس کمک میکند.
آیا HTTP3 برای استفاده در دسترس میباشد؟
در حالی که استاندارد هنوز در حال توسعه است، صاحبان وب سایت و بازدیدکنندگان می توانند از طریق مرورگرها، سیستم عامل ها و سایر مشتریان، از HTTP/3 پشتیبانی دریافت کنند. البته، احتمالاً تغییرات بیشتری برای این استاندارد وجود دارد که قبلاً چندین پیاده سازی را پشت سر گذاشته است.
پس از انتشار HTTP/3، کل وب به یکباره تغییر نخواهند کرد. بسیاری از سایت ها هنوز حتی در HTTP/2 نیستند.
یکی از موانع احتمالی برای پروتکل جدید این است که نیاز به افزایش استفاده از CPU برای سرور و مشتری دارد. این احتمالاً در طول زمان با پیشرفت فناوری از تأثیر آن کاسته خواهد شد.
چه کسی تصمیم می گیرد چه چیزی در HTTP/3 گنجانده شود؟
IETF در سال 2016 گروه کاری QUIC را گردآوری کرد. افراد بسیاری از سازمان ها و شرکت ها در فرآیند توسعه مشارکت دارند - از جمله Cloudflare.
قبل از دریافت نام فعلی HTTP/3، استاندارد قبلاً با «HTTP-over-QUIC» و «HTTP/2 Semantics با استفاده از پروتکل حمل و نقل QUIC» استفاده می شد.
چگونه صاحبان وب سایت می توانند HTTP/3 را اکنون فعال کنند؟
در حال حاضر برخی سرویس دهنده ها مانند کلادفلر این امکان را به کاربران میدهند تا بدون تغییر در کدها، HTTP3 را روی سایت خود فعال نمایند.
مقایسه HTTP، HTTP2 و HTTP3: