diff --git a/draft-ietf-quic-qpack.md b/draft-ietf-quic-qpack.md index c467a6e416..7e911eb805 100644 --- a/draft-ietf-quic-qpack.md +++ b/draft-ietf-quic-qpack.md @@ -104,6 +104,13 @@ when, and only when, they appear in all capitals, as shown here. Definitions of terms that are used in this document: +HTTP fields: + +: Metadata sent as part of an HTTP message. The term encompasses both header + and trailer fields. Colloquially, the term "headers" has often been used to + refer to HTTP header fields and trailer fields; this document uses "fields" + for generality. + HTTP field line: : A name-value pair sent as part of an HTTP field section. See Section 4 of @@ -167,26 +174,27 @@ x ... # Compression Process Overview -Like HPACK, QPACK uses two tables for associating field lines to indices. The -static table ({{header-table-static}}) is predefined and contains common field -lines (some of them with an empty value). The dynamic table +Like HPACK, QPACK uses two tables for associating field lines ("headers") to +indices. The static table ({{header-table-static}}) is predefined and contains +common header field lines (some of them with an empty value). The dynamic table ({{header-table-dynamic}}) is built up over the course of the connection and can -be used by the encoder to index field lines in the encoded field sections. +be used by the encoder to index both header and trailer field lines in the +encoded field sections. QPACK defines unidirectional streams for sending instructions from encoder to decoder and vice versa. ## Encoder -An encoder converts a field section into a series of representations by emitting -either an indexed or a literal representation for each field line in the list; -see {{field-line-representations}}. Indexed representations achieve high -compression by replacing the literal name and possibly the value with an index -to either the static or dynamic table. References to the static table and -literal representations do not require any dynamic state and never risk -head-of-line blocking. References to the dynamic table risk head-of-line -blocking if the encoder has not received an acknowledgement indicating the entry -is available at the decoder. +An encoder converts a header or trailer field section into a series of +representations by emitting either an indexed or a literal representation for +each field line in the list; see {{field-line-representations}}. Indexed +representations achieve high compression by replacing the literal name and +possibly the value with an index to either the static or dynamic table. +References to the static table and literal representations do not require any +dynamic state and never risk head-of-line blocking. References to the dynamic +table risk head-of-line blocking if the encoder has not received an +acknowledgement indicating the entry is available at the decoder. An encoder MAY insert any entry in the dynamic table it chooses; it is not limited to field lines it is compressing.