Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't require that extensible priorities is used #1705

Merged
merged 1 commit into from
Sep 30, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions draft-ietf-httpbis-priority.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,9 @@ RFC 7540 stream priority (see {{Section 5.3 of RFC7540}}).

The SETTINGS_NO_RFC7540_PRIORITIES setting is defined by this document in
order to allow endpoints to explicitly opt out of using HTTP/2 priority signals
(see {{Section 5.3.2 of HTTP2}}). Endpoints are expected to use an alternative,
such as the scheme defined in this specification.
(see {{Section 5.3.2 of HTTP2}}). Endpoints are encouraged to use alternative
priority signals (for example, {{header-field}} or {{h2-update-frame}}) but
there is no requirement to use a specific signal type.

The value of SETTINGS_NO_RFC7540_PRIORITIES MUST be 0 or 1. Any value
other than 0 or 1 MUST be treated as a connection error (see {{Section 5.4.1 of
Expand All @@ -201,6 +202,13 @@ A sender MUST NOT change the SETTINGS_NO_RFC7540_PRIORITIES parameter value
after the first SETTINGS frame. Detection of a change by a receiver MUST be
treated as a connection error of type PROTOCOL_ERROR.

The SETTINGS frame precedes any HTTP/2 priority signal sent from a client, so a
server can determine if it needs to allocate any resource to signal handling
before they arrive. A server that receives SETTINGS_NO_RFC7540_PRIORITIES
with value of 1 MUST ignore HTTP/2 priority signals.

### Advice when Using Extensible Priorities as the Alternative

Until the client receives the SETTINGS frame from the server, the client SHOULD
send both the HTTP/2 priority signals and the signals of this prioritization
scheme (see {{header-field}} and {{h2-update-frame}}). When the client receives
Expand All @@ -212,14 +220,6 @@ the Priority header field ({{header-field}}), as it is an end-to-end signal that
might be useful to nodes behind the server that the client is directly connected
to.

The SETTINGS frame precedes any HTTP/2 priority signal sent from a client, so a
server can determine if it needs to allocate any resource to signal handling
before they arrive. A server that receives SETTINGS_NO_RFC7540_PRIORITIES
with value of 1 MUST ignore HTTP/2 priority signals.

Where both endpoints disable RFC 7540 stream priority, the client is expected to
send this scheme's priority signal. Handling of omitted signals is described in
{{parameters}}.

# Applicability of the Extensible Priority Scheme

Expand Down