JavadAgha
JavadAgha
خواندن ۲ دقیقه·۶ ماه پیش

HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC)

هر نسل از HTTP چه مشکلی را حل می‌کند؟

نمودار زیر ویژگی‌های کلیدی را نشان می‌دهد.


  • HTTP 1.0 در سال 1996 نهایی و کاملاً مستند شد. هر درخواست به همان سرور نیاز به یک اتصال TCP جداگانه دارد.
  • HTTP 1.1 در سال 1997 منتشر شد. اتصال TCP می‌تواند برای استفاده مجدد باز نگه داشته شود (اتصال پایدار)، اما مشکل HOL (سر خط) را حل نمی‌کند.


‏ HOL blocking - هنگامی که تعداد درخواست‌های موازی مجاز در مرورگر تمام شود، درخواست‌های بعدی باید تا زمان اتمام قبلی‌ها صبر کنند.
  • ‏ HTTP 2.0 در سال 2015 منتشر شد. این مشکل HOL را از طریق multiplexing درخواست حل می‌کند، که مسدود شدن HOL در لایه برنامه را از بین می‌برد، اما HOL همچنان در لایه حمل و نقل (TCP) وجود دارد. همانطور که در نمودار می‌بینید، HTTP 2.0 مفهوم "جریان‌های"(streams) HTTP را معرفی کرد: انتزاعی که به تکثیر مبادلات HTTP مختلف در همان اتصال TCP اجازه می‌دهد. هر جریان نیاز ندارد به ترتیب ارسال شود.
  • ‏ HTTP 3.0 در سال 2020 برای اولین بار منتشر شد. این جانشین پیشنهادی HTTP 2.0 است. از QUIC به جای TCP برای پروتکل حمل و نقل(transport) زیربنایی استفاده می‌کند، بنابراین مسدود شدن HOL در لایه حمل و نقل را برطرف می‌کند. QUIC بر پایه UDP است. به عنوان شهروندان درجه اول (first-class citizens) در لایه حمل و نقل، جریان‌ها را معرفی می‌کند. اتصال‌های QUIC جریان‌ها را به اشتراک می‌گذارند، بنابراین برای ایجاد جدید نیازی به دست‌دادن‌های(Handshakes) اضافی و استارت‌های کند نیست، اما جریان‌های QUIC به صورت مستقل تحویل داده می‌شوند به طوری که در بیشتر موارد از دست رفتن بسته‌ها که یک جریان را تحت تأثیر قرار می‌دهد، بر سایر موارد تأثیر نمی‌گذارد.


چه زمانی باید به HTTP 3.0 ارتقا یابیم؟ مزایا و معایب ؟

HTTP 3.0 (نیز معروف به QUIC) یک پروتکل جدید اینترنتی است که به طور بالقوه می‌تواند جایگزین HTTP 2.0 شود. در اینجا چند نکته درباره زمان ارتقا به HTTP 3.0 و مزایا و معایب آن آورده شده است:


  • زمان ارتقا به HTTP 3.0:هنوز به طور گسترده پشتیبانی نمی‌شود و برخی از مرورگرها و سرورها هنوز آن را پشتیبانی نمی‌کنند. بنابراین تا زمانی که پشتیبانی گسترده‌تری پیدا کند، ارتقا به آن توصیه نمی‌شود.
  • زمانی که سرعت و کارایی وب سایت شما برای کاربران مهم باشد و HTTP 2.0 دیگر پاسخگو نباشد، می‌توانید به HTTP 3.0 ارتقا دهید.

مزایای HTTP 3.0:

  • سرعت بیشتر انتقال داده‌ها به دلیل استفاده از پروتکل QUIC به جای TCP
  • کاهش تأخیر به دلیل برقراری ارتباط سریع‌تر
  • امنیت بهتر به دلیل رمزگذاری پیش‌فرض
  • بهبود کارایی در شبکه‌های با کیفیت پایین

معایب HTTP 3.0:

  • نیاز به به‌روزرسانی زیرساخت‌های موجود برای پشتیبانی از آن
  • ممکن است با برخی تجهیزات شبکه و سرورهای قدیمی‌تر سازگار نباشد
  • پشتیبانی محدود در حال حاضر

در مجموع، زمان ارتقا به HTTP 3.0 بستگی به نیازهای خاص وب سایت شما دارد. اگر سرعت و کارایی مهم هستند و زیرساخت‌های شما آماده هستند، می‌توانید به آن ارتقا دهید.

httphttp2http3طراحی سیستم های نرم افزاریQUIC
کنجکاو در مباحث مهندسی نرم افزار
شاید از این پست‌ها خوشتان بیاید