From ee0943ec7324c0e1db88e390d19834da05437140 Mon Sep 17 00:00:00 2001 From: Mike Bishop Date: Tue, 3 Jul 2018 16:26:07 -0700 Subject: [PATCH 1/2] Discuss headers in more detail --- draft-ietf-quic-http.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/draft-ietf-quic-http.md b/draft-ietf-quic-http.md index 42f4c89ec6..72ac4dc716 100644 --- a/draft-ietf-quic-http.md +++ b/draft-ietf-quic-http.md @@ -320,7 +320,25 @@ a result of having their request terminated abruptly, though clients can always discard responses at their discretion for other reasons. Servers MUST NOT abort a response in progress as a result of receiving a solicited RST_STREAM. -### Header Compression +### Header Formatting and Compression + +HTTP header fields carry information as a series of key-value pairs. For a +listing of registered HTTP headers, see the "Message Header Field" registry +maintained at . + +Just as in previous versions of HTTP, header field names are strings of ASCII +characters that are compared in a case-insensitive fashion. As in HTTP/2, +header field names MUST be converted to lowercase prior to their encoding. A +request or response containing uppercase header field names MUST be treated as +malformed. + +As in HTTP/2, HTTP/QUIC uses special pseudo-header fields beginning with ':' +character (ASCII 0x3a) to convey the target URI, the method of the request, and +the status code for the response. These pseudo-header fields are defined in +Section 8.1.2.3 and 8.1.2.4 of {{!RFC7540}}. Pseudo-header fields are not HTTP +header fields. Endpoints MUST NOT generate pseudo-header fields other than +those defined in {{!RFC7540}}. The restrictions on the use of pseudo-header +fields in Section 8.1.2.1 of {{!RFC7540}} also apply to HTTP/QUIC. HTTP/QUIC uses QPACK header compression as described in [QPACK], a variation of HPACK which allows the flexibility to avoid header-compression-induced From 0538a301f50eae84aa1db10a05cf8cc958db60f0 Mon Sep 17 00:00:00 2001 From: Mike Bishop Date: Thu, 5 Jul 2018 09:36:21 -0700 Subject: [PATCH 2/2] Reference 7230 for allowed header characteristics --- draft-ietf-quic-http.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/draft-ietf-quic-http.md b/draft-ietf-quic-http.md index 72ac4dc716..159b1dc027 100644 --- a/draft-ietf-quic-http.md +++ b/draft-ietf-quic-http.md @@ -327,7 +327,9 @@ listing of registered HTTP headers, see the "Message Header Field" registry maintained at . Just as in previous versions of HTTP, header field names are strings of ASCII -characters that are compared in a case-insensitive fashion. As in HTTP/2, +characters that are compared in a case-insensitive fashion. Properties of HTTP +header names and values are discussed in more detail in Section 3.2 of +{{!RFC7230}}, though the wire rendering in HTTP/QUIC differs. As in HTTP/2, header field names MUST be converted to lowercase prior to their encoding. A request or response containing uppercase header field names MUST be treated as malformed.