Skip to main content

6. Notable Differences with HTTP Protocol Messages

This format differs from HTTP message encodings in several key ways:

  1. No HTTP version - The binary format does not include an HTTP version identifier

  2. Field names lowercase - All field names MUST be lowercase (following HTTP/2 convention)

  3. No transfer encoding - Content is directly encoded without Transfer-Encoding header

  4. Status code as integer - Response status codes are variable-length integers, not strings

  5. No reason phrase - Responses do not include a reason phrase with the status code

  6. Pseudo-headers as control data - HTTP/2-style pseudo-headers become control data fields

  7. Binary encoding - All lengths and values use QUIC variable-length integer encoding

  8. No chunked encoding - Indeterminate-length mode replaces chunked transfer encoding

These differences enable more efficient encoding and processing while preserving HTTP message semantics.