| rfc9204v4.txt | rfc9204.txt | |||
|---|---|---|---|---|
| Internet Engineering Task Force (IETF) C. Krasic | Internet Engineering Task Force (IETF) C. Krasic | |||
| Request for Comments: 9204 | Request for Comments: 9204 | |||
| Category: Standards Track M. Bishop | Category: Standards Track M. Bishop | |||
| ISSN: 2070-1721 Akamai Technologies | ISSN: 2070-1721 Akamai Technologies | |||
| A. Frindell, Ed. | A. Frindell, Ed. | |||
| May 2022 | June 2022 | |||
| QPACK: Field Compression for HTTP/3 | QPACK: Field Compression for HTTP/3 | |||
| Abstract | Abstract | |||
| This specification defines QPACK: a compression format for | This specification defines QPACK: a compression format for | |||
| efficiently representing HTTP fields that is to be used in HTTP/3. | efficiently representing HTTP fields that is to be used in HTTP/3. | |||
| This is a variation of HPACK compression that seeks to reduce head- | This is a variation of HPACK compression that seeks to reduce head- | |||
| of-line blocking. | of-line blocking. | |||
| skipping to change at line 277 ¶ | skipping to change at line 277 ¶ | |||
| this, the encoder can maintain a draining index, which is the | this, the encoder can maintain a draining index, which is the | |||
| smallest absolute index (Section 3.2.4) in the dynamic table that it | smallest absolute index (Section 3.2.4) in the dynamic table that it | |||
| will emit a reference for. As new entries are inserted, the encoder | will emit a reference for. As new entries are inserted, the encoder | |||
| increases the draining index to maintain the section of the table | increases the draining index to maintain the section of the table | |||
| that it will not reference. If the encoder does not create new | that it will not reference. If the encoder does not create new | |||
| references to entries with an absolute index lower than the draining | references to entries with an absolute index lower than the draining | |||
| index, the number of unacknowledged references to those entries will | index, the number of unacknowledged references to those entries will | |||
| eventually become zero, allowing them to be evicted. | eventually become zero, allowing them to be evicted. | |||
| <-- Newer Entries Older Entries --> | <-- Newer Entries Older Entries --> | |||
| (Larger Indicies) (Smaller Indicies) | (Larger Indices) (Smaller Indices) | |||
| +--------+---------------------------------+----------+ | +--------+---------------------------------+----------+ | |||
| | Unused | Referenceable | Draining | | | Unused | Referenceable | Draining | | |||
| | Space | Entries | Entries | | | Space | Entries | Entries | | |||
| +--------+---------------------------------+----------+ | +--------+---------------------------------+----------+ | |||
| ^ ^ ^ | ^ ^ ^ | |||
| | | | | | | | | |||
| Insertion Point Draining Index Dropping | Insertion Point Draining Index Dropping | |||
| Point | Point | |||
| Figure 1: Draining Dynamic Table Entries | Figure 1: Draining Dynamic Table Entries | |||
| skipping to change at line 1532 ¶ | skipping to change at line 1532 ¶ | |||
| +----------------------------+--------+-------------+---------------+ | +----------------------------+--------+-------------+---------------+ | |||
| Table 3: Additions to the HTTP/3 Error Codes Registry | Table 3: Additions to the HTTP/3 Error Codes Registry | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, | [HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, | |||
| Ed., "HTTP Semantics", STD 97, RFC 9110, | Ed., "HTTP Semantics", STD 97, RFC 9110, | |||
| DOI 10.17487/RFC9110, May 2022, | DOI 10.17487/RFC9110, June 2022, | |||
| <https://www.rfc-editor.org/info/rfc9110>. | <https://www.rfc-editor.org/info/rfc9110>. | |||
| [HTTP/3] Bishop, M., Ed., "Hypertext Transfer Protocol Version 3 | [HTTP/3] Bishop, M., Ed., "HTTP/3", RFC 9114, DOI 10.17487/RFC9114, | |||
| (HTTP/3)", RFC 9114, DOI 10.17487/RFC9114, May 2022, | June 2022, <https://www.rfc-editor.org/info/rfc9114>. | |||
| <https://www.rfc-editor.org/info/rfc9114>. | ||||
| [QUIC-TRANSPORT] | [QUIC-TRANSPORT] | |||
| Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based | |||
| Multiplexed and Secure Transport", RFC 9000, | Multiplexed and Secure Transport", RFC 9000, | |||
| DOI 10.17487/RFC9000, May 2021, | DOI 10.17487/RFC9000, May 2021, | |||
| <https://www.rfc-editor.org/info/rfc9000>. | <https://www.rfc-editor.org/info/rfc9000>. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| skipping to change at line 1568 ¶ | skipping to change at line 1567 ¶ | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [CRIME] Wikipedia, "CRIME", May 2015, <http://en.wikipedia.org/w/ | [CRIME] Wikipedia, "CRIME", May 2015, <http://en.wikipedia.org/w/ | |||
| index.php?title=CRIME&oldid=660948120>. | index.php?title=CRIME&oldid=660948120>. | |||
| [HTTP/2] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113, | [HTTP/2] Thomson, M., Ed. and C. Benfield, Ed., "HTTP/2", RFC 9113, | |||
| DOI 10.17487/RFC9113, May 2022, | DOI 10.17487/RFC9113, June 2022, | |||
| <https://www.rfc-editor.org/info/rfc9113>. | <https://www.rfc-editor.org/info/rfc9113>. | |||
| [PETAL] Tan, J. and J. Nahata, "PETAL: Preset Encoding | [PETAL] Tan, J. and J. Nahata, "PETAL: Preset Encoding | |||
| Table Information Leakage", April 2013, | Table Information Leakage", April 2013, | |||
| <http://www.pdl.cmu.edu/PDL-FTP/associated/CMU-PDL- | <http://www.pdl.cmu.edu/PDL-FTP/associated/CMU-PDL- | |||
| 13-106.pdf>. | 13-106.pdf>. | |||
| [RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification | [RFC1951] Deutsch, P., "DEFLATE Compressed Data Format Specification | |||
| version 1.3", RFC 1951, DOI 10.17487/RFC1951, May 1996, | version 1.3", RFC 1951, DOI 10.17487/RFC1951, May 1996, | |||
| <https://www.rfc-editor.org/info/rfc1951>. | <https://www.rfc-editor.org/info/rfc1951>. | |||
| End of changes. 5 change blocks. | ||||
| 7 lines changed or deleted | 6 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||