> For the complete documentation index, see [llms.txt](https://http3-explained.haxx.se/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://http3-explained.haxx.se/fa/h3/h3-h2.md).

# مقایسه با HTTP/2

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

پروتکل HTTP/2 برای TCP طراحی شده است، و در نتیجه جریان‌ها را در لایه‌ی HTTP مدیریت می‌کند.

## شباهت‌ها

هر دوی پروتکل‌ها به کارخواهان مجموعه‌ای از ویژگی‌های کمابیش مشابه را ارائه می‌دهند.

* هر دو پروتکل پشتیبانی از server push را ارائه می‌دهند
* هر دو پروتکل دارای فشرده سازی سرایند هستند، و QPACK و HPACK در طراحی شبیه هستند.
* هر دو پروتکل توزیع بر روی یک تک-اتصال با استفاده از جریان‌ها را ارائه می‌دهند

## تفاوت‌ها

تفاوت‌ها در جزئیات و عمدتاً در این حیطه هستند به لطف استفاده‌ی HTTP/3 از QUIC:

* پروتکل HTTP/3 به لطف دست‌دهی 0-RTT پروتکلِ QUIC از داده‌ اولیه پشتیبانی بهتری می‌کند، هنگامیکه TCP Fast Open و TLS هماره داده کمتری ارسال می‌کنند و با مشکل مواجه می‌شوند.
* پروتکل HTTP/3 به لطف QUIC در مقایسه با TCP + TLS از دست‌دهی‌های به مراتب سریع‌تری برخوردار است.
* پروتکل HTTP/3 در نسخه‌ی نا-امن و بدون رمزگذاری وجود ندارد. پروتکل HTTP/2 می‌تواند بدون HTTPS پیاده‌سازی و استفاده شود - اگرچه در اینترنت کمتر بدین شکل دیده می‌شود.
* پروتکل HTTP/2 می‌تواند مستقیم داخل یک دست‌دهی TLS با افزونه ALPN قرار بگیرد، حال آنکه HTTP/3 بر روی QUIC است و ازینرو ابتدا به یک پاسخ سرایند `Alt-Svc:` نیاز دارد تا کارخواه را از این عامل آگاه سازد.
* پروتکل HTTP/3 اولویت‌بندی ندارد. رویکرد HTTP/2 در اولویت‌بندی پییچده

  تلقی می‌شود، و یا حتی صرفاً یک شکست، لذا کار بر روی ساخت موردی

  ساده‌تر در جریان است. لین طرح ساده‌تر هم برنامه‌ریزی شده تا

  پیش‌انتقال بتواند با استفاده از مکانیزم پسوند HTTP/2 بر روی HTTP/2 اجرا

  شود.
