Skip to content

Commit

Permalink
Extraneous frames aren't malformed messages; they're worse
Browse files Browse the repository at this point in the history
  • Loading branch information
MikeBishop committed Jan 16, 2020
1 parent b499553 commit 00496f5
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions draft-ietf-quic-http.md
Expand Up @@ -379,6 +379,9 @@ An HTTP message (request or response) consists of:
3. optionally, trailing headers, if present (see {{!RFC7230}}, Section 4.1.2),
sent as a single HEADERS frame.

Receipt of DATA and HEADERS frames in any other sequence MUST be treated as a
connection error of type H3_FRAME_UNEXPECTED ({{errors}}).

A server MAY send one or more PUSH_PROMISE (see {{frame-push-promise}}) or
DUPLICATE_PUSH (see {{frame-duplicate-push}}) frames before, after, or
interleaved with the frames of a response message. These PUSH_PROMISE and
Expand Down Expand Up @@ -610,9 +613,9 @@ permitted (e.g., idempotent actions like GET, PUT, or DELETE).
### Malformed Requests and Responses {#malformed}

A malformed request or response is one that is an otherwise valid sequence of
frames but is invalid due to the presence of extraneous frames, prohibited
header fields, the absence of mandatory header fields, or the inclusion of
uppercase header field names.
frames but is invalid due to the presence of prohibited header fields, the
absence of mandatory header fields, or the inclusion of uppercase header field
names.

A request or response that includes a payload body can include a
`content-length` header field. A request or response is also malformed if the
Expand Down

0 comments on commit 00496f5

Please sign in to comment.