پروتکل 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 اجرا شود.