MUST is preferable to SHOULD

This commit is contained in:
Cory Benfield 2016-03-10 09:15:32 +00:00
parent a2d64f9335
commit ce0433f438

View File

@ -104,9 +104,9 @@ and underscores (``_``), plus an optional prefix character (see below).
Channels are a first-in, first out queue with at-most-once delivery Channels are a first-in, first out queue with at-most-once delivery
semantics. They can have multiple writers and multiple readers; only a single semantics. They can have multiple writers and multiple readers; only a single
reader should get each written message. Implementations should never reader should get each written message. Implementations must never deliver
deliver a message more than once or to more than one reader, and should a message more than once or to more than one reader, and must drop messages if
drop messages if this is necessary to achieve this restriction. this is necessary to achieve this restriction.
In order to aid with scaling and network architecture, a distinction In order to aid with scaling and network architecture, a distinction
is made between channels that have multiple readers (such as the is made between channels that have multiple readers (such as the
@ -259,7 +259,7 @@ receive messages in channel order.
Specification Details Specification Details
===================== =====================
A *channel layer* should provide an object with these attributes A *channel layer* must provide an object with these attributes
(all function arguments are positional): (all function arguments are positional):
* ``send(channel, message)``, a callable that takes two arguments; the * ``send(channel, message)``, a callable that takes two arguments; the
@ -408,10 +408,10 @@ different requests on the same connection different reply channels, and
correctly multiplex the responses back into the same stream as they come in. correctly multiplex the responses back into the same stream as they come in.
The HTTP version is available as a string in the request message. The HTTP version is available as a string in the request message.
HTTP/2 Server Push responses are included, but should be sent prior to the HTTP/2 Server Push responses are included, but must be sent prior to the
main response, and you should check for ``http_version = 2`` before sending main response, and applications must check for ``http_version = 2`` before
them; if a protocol server or connection incapable of Server Push receives sending them; if a protocol server or connection incapable of Server Push
these, it should simply drop them. receives these, it must drop them.
The HTTP specs are somewhat vague on the subject of multiple headers; The HTTP specs are somewhat vague on the subject of multiple headers;
RFC7230 explicitly says they must be merge-able with commas, while RFC6265 RFC7230 explicitly says they must be merge-able with commas, while RFC6265