RFC 9204 - QPACK: Compressione di campi per HTTP/3
Data di pubblicazione: Giugno 2022
Stato: Standards Track
Autori: C. Krasic, M. Bishop, A. Frindell (Meta)
Sommario (Abstract)
Questa specifica definisce QPACK: un formato di compressione per rappresentare in modo efficiente i campi HTTP da utilizzare in HTTP/3. È una variazione della compressione HPACK che cerca di ridurre il blocco head-of-line.
Indice dei contenuti (Contents)
- 1. Introduzione
- 1.1 Convenzioni e definizioni
- 1.2 Convenzioni di notazione
- 2. Panoramica del processo di compressione
- 2.1 Encoder
- 2.2 Decoder
- 3. Tabelle di riferimento
- 3.1 Tabella statica
- 3.2 Tabella dinamica
- 4. Formato wire
- 4.1 Primitive
- 4.2 Stream encoder e decoder
- 4.3 Istruzioni encoder
- 4.4 Istruzioni decoder
- 4.5 Rappresentazioni di righe di campo
- 5. Configurazione
- 6. Gestione degli errori
- 7. Considerazioni sulla sicurezza
- 7.1 Sondaggio dello stato della tabella dinamica
- 7.2 Codifica Huffman statica
- 7.3 Consumo di memoria
- 7.4 Limiti di implementazione
- 8. Considerazioni IANA
- 9. Riferimenti
Appendici (Appendices)
- Appendice A. Tabella statica
- Appendice B. Esempi di codifica e decodifica
- Appendice C. Esempio di algoritmo di codifica in un singolo passaggio
Risorse correlate
- RFC ufficiale: RFC 9204
- Pagina ufficiale: RFC 9204 DataTracker
- Errata: RFC Editor Errata
Riferimento rapido
Cos'è QPACK?
QPACK è il formato di compressione degli header per HTTP/3, basato su HPACK ma ottimizzato per le caratteristiche di consegna non ordinata di QUIC.
Miglioramenti principali
Modifiche principali rispetto a HPACK:
- ✅ Riduzione del blocco head-of-line - Consente la decodifica non ordinata
- ✅ Stream indipendenti - Encoder/Decoder utilizzano stream unidirezionali separati
- ✅ Compromessi flessibili - Equilibrio tra tasso di compressione e latenza
- ✅ Gestione della tabella dinamica - Meccanismi di controllo più fini
QPACK vs HPACK
| Caratteristica | HPACK (HTTP/2) | QPACK (HTTP/3) |
|---|---|---|
| Protocollo di trasporto | TCP | QUIC (UDP) |
| Blocco head-of-line | Grave | Significativamente ridotto |
| Tabella dinamica | Unificata | Encoder/Decoder separati |
| Tasso di compressione | Alto | Vicino a HPACK |
| Elaborazione non ordinata | Non supportata | Supportata |
| Modalità di riferimento | Solo indicizzazione assoluta | Tipi di indice multipli |
Fonte: RFC 9204 - QPACK: Field Compression for HTTP/3
Copyright: © 2022 IETF Trust. Vedere https://www.rfc-editor.org/info/rfc9204 per l'avviso di copyright completo.