Table of Contents
1. Introduction
- 1.1. Overview
- 1.2. Conventions
- 1.3. Terminology
2. Compression Process Overview
- 2.1. Header List Ordering
- 2.2. Encoding and Decoding Contexts
- 2.3. Indexing Tables
- 2.3.1. Static Table
- 2.3.2. Dynamic Table
- 2.3.3. Index Address Space
- 2.4. Header Field Representation
3. Header Block Decoding
4. Dynamic Table Management
- 4.1. Calculating Table Size
- 4.2. Maximum Table Size
- 4.3. Entry Eviction When Dynamic Table Size Changes
- 4.4. Entry Eviction When Adding New Entries
5. Primitive Type Representations
6. Binary Format
- 6.1. Indexed Header Field Representation
- 6.2. Literal Header Field Representation
- 6.2.1. Literal Header Field with Incremental Indexing
- 6.2.2. Literal Header Field without Indexing
- 6.2.3. Literal Header Field Never Indexed
- 6.3. Dynamic Table Size Update
7. Security Considerations
- 7.1. Probing Dynamic Table State
- 7.1.1. Applicability to HPACK and HTTP
- 7.1.2. Mitigation
- 7.1.3. Never-Indexed Literals
- 7.2. Static Huffman Encoding
- 7.3. Memory Consumption
- 7.4. Implementation Limits
8. References
这一章都是引用的论文,所以就不翻译了。
- 8.1. Normative References
- 8.2. Informative References
Appendix A. Static Table Definition
Appendix B. Huffman Code
Appendix C. Examples
- C.1. Integer Representation Examples
- C.1.1. Example 1: Encoding 10 Using a 5-Bit Prefix
- C.1.2. Example 2: Encoding 1337 Using a 5-Bit Prefix
- C.1.3. Example 3: Encoding 42 Starting at an Octet Boundary
- C.2. Header Field Representation Examples
- C.2.1. Literal Header Field with Indexing
- C.2.2. Literal Header Field without Indexing
- C.2.3. Literal Header Field Never Indexed
- C.2.4. Indexed Header Field
- C.3. Request Examples without Huffman Coding
- C.3.1. First Request
- C.3.2. Second Request
- C.3.3. Third Request
- C.4. Request Examples with Huffman Coding
- C.4.1. First Request
- C.4.2. Second Request
- C.4.3. Third Request
- C.5. Response Examples without Huffman Coding
- C.5.1. First Response
- C.5.2. Second Response
- C.5.3. Third Response
- C.6. Response Examples with Huffman Coding
- C.6.1. First Response
- C.6.2. Second Response
- C.6.3. Third Response
Reference:
GitHub Repo:Halfrost-Field
Follow: halfrost · GitHub