Skip to content

Commit

Permalink
Move "Associating a Response to a Request" to Messaging.
Browse files Browse the repository at this point in the history
With a mention in Architecture to explain the its role in semantics.

Fixes #145.
  • Loading branch information
mnot committed Oct 15, 2018
1 parent 2a4052e commit 8f75cbc
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 19 deletions.
19 changes: 19 additions & 0 deletions draft-ietf-httpbis-messaging-latest.xml
Expand Up @@ -1718,6 +1718,25 @@ https://www.example.org
</t>
</section>

<section title="Associating a Response to a Request" anchor="associating.response.to.request">
<t>
HTTP/1.1 does not include a request identifier for associating a given
request message with its corresponding one or more response messages.
Hence, it relies on the order of response arrival to correspond exactly
to the order in which requests are made on the same connection.
More than one response message per request only occurs when one or more
informational responses (<x:ref>1xx</x:ref>, see <xref target="status.1xx"/>) precede a
final response to the same request.
</t>
<t>
A client that has more than one outstanding request on a connection &MUST;
maintain a list of outstanding requests in the order sent and &MUST;
associate each received response message on that connection to the highest
ordered request that has not yet received a final (non-<x:ref>1xx</x:ref>)
response.
</t>
</section>

<section title="Persistence" anchor="persistent.connections">
<x:anchor-alias value="persistent connections"/>
<t>
Expand Down
24 changes: 5 additions & 19 deletions draft-ietf-httpbis-semantics-latest.xml
Expand Up @@ -390,6 +390,11 @@
a message body containing the payload body (if any,
<xref target="message.body"/>).
</t>
<t>
The mechanism used to correlate between request and response messages is
version dependent; some versions of HTTP use implicit ordering of messages,
while others use an explicit identifier.
</t>
<t>
A connection might be used for multiple request/response exchanges,
as defined in <xref target="persistent.connections"/>.
Expand Down Expand Up @@ -1879,25 +1884,6 @@ Host: www.example.org
</t>
</section>

<section title="Associating a Response to a Request" anchor="associating.response.to.request">
<t>
HTTP does not include a request identifier for associating a given
request message with its corresponding one or more response messages.
Hence, it relies on the order of response arrival to correspond exactly
to the order in which requests are made on the same connection.
More than one response message per request only occurs when one or more
informational responses (<x:ref>1xx</x:ref>, see <xref target="status.1xx"/>) precede a
final response to the same request.
</t>
<t>
A client that has more than one outstanding request on a connection &MUST;
maintain a list of outstanding requests in the order sent and &MUST;
associate each received response message on that connection to the highest
ordered request that has not yet received a final (non-<x:ref>1xx</x:ref>)
response.
</t>
</section>

<section title="Message Forwarding" anchor="message.forwarding">
<t>
As described in <xref target="intermediaries"/>, intermediaries can serve
Expand Down

0 comments on commit 8f75cbc

Please sign in to comment.