Загрузка…
Загрузка…
HTTP/3 = HTTP поверх QUIC (UDP): независимые потоки без TCP head-of-line blocking, TLS встроен в handshake (1-RTT, 0-RTT resume), connection migration при смене сети.
QUIC — transport в user space. TCP в ядре OS, эволюция годами. QUIC в browser/server application — быстрые итерации; deployability была ключевой причиной ухода с TCP.
Streams first-class. Каждый QUIC stream со своей нумерацией. Packet loss восстанавливается per-stream — нет cross-stream blocking. HTTP/3 мапит request/response на stream; заголовки — QPACK (HPACK без HOL на header stream).
TLS baked in. Нет незашифрованного QUIC — TLS 1.3 часть handshake. Вместо TCP (1 RTT) + TLS (1 RTT) — 1 RTT к новому серверу, 0-RTT resume с cached key. Реальная экономия на mobile с высокой latency.
Connection migration. TCP = 4-tuple (src IP, port, dst IP, port) — смена IP убивает connection. QUIC идентифицирует Connection ID в пакетах, независимо от IP. Wi-Fi → cellular — звонок не рвётся.
Costs. UDP иногда throttle/block корпоративными firewall (fallback на HTTP/2). Congestion control в user space — больше CPU per byte на CDN scale. Browsers делают Happy Eyeballs: HTTP/3, fallback /2 через Alt-Svc.
HTTP/3 решает TCP HOL blocking и даёт быстрый encrypted handshake + migration; следите за UDP-blocking и CPU cost на edge.
