Skip to main content

RFC 9204 - QPACK: Field Compression for HTTP/3

  • Status: Proposed Standard
  • Published: June 2022
  • Stream: IETF
  • Errata: No Errata

Abstract​

This specification defines QPACK: a compression format for efficiently representing HTTP fields that is to be used in HTTP/3. This is a variation of HPACK compression that seeks to reduce head-of-line blocking.


Contents​

Appendices​



Quick Reference​

What is QPACK?​

QPACK is HTTP/3's header compression format, based on HPACK but optimized for QUIC's out-of-order delivery characteristics.

Core Improvements​

Major changes compared to HPACK:

  • ✅ Reduced Head-of-Line Blocking - Allows out-of-order decoding
  • ✅ Independent Streams - Encoder/decoder use separate unidirectional streams
  • ✅ Flexible Trade-offs - Balance between compression ratio and latency
  • ✅ Dynamic Table Management - More fine-grained control mechanisms

QPACK vs HPACK​

FeatureHPACK (HTTP/2)QPACK (HTTP/3)
Transport ProtocolTCPQUIC (UDP)
Head-of-Line BlockingSevereSignificantly Reduced
Dynamic TableSingleEncoder/Decoder Separated
Compression RatioHighClose to HPACK
Out-of-Order ProcessingNot SupportedSupported
Reference ModesAbsolute Index OnlyMultiple Index Types

Use Cases​

  • 🌐 HTTP/3 - Next generation HTTP protocol
  • 🚀 QUIC Protocol - Low latency transport
  • 📱 Mobile Applications - Unstable network environments
  • ⚡ Real-time Communication - WebRTC over HTTP/3