Changeset 2718


Ignore:
Timestamp:
Jun 5, 2014, 6:59:46 AM (6 years ago)
Author:
julian.reschke@…
Message:

update AUTH48 versions (#553)

Location:
draft-ietf-httpbis/latest/auth48
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/auth48/rfc7230.abdiff.txt

    r2712 r2718  
    466466
    467467
     468Section 3.3.1., paragraph 8:
     469OLD:
     470
     471    Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), Transfer-
     472    Encoding is a property of the message, not of the representation, and
     473    any recipient along the request/response chain MAY decode the
     474    received transfer coding(s) or apply additional transfer coding(s) to
     475    the message body, assuming that corresponding changes are made to the
     476    Transfer-Encoding field-value.  Additional information about the
     477    encoding parameters can be provided by other header fields not
     478    defined by this specification.
     479
     480NEW:
     481
     482    Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]),
     483    Transfer-Encoding is a property of the message, not of the
     484    representation, and any recipient along the request/response chain
     485    MAY decode the received transfer coding(s) or apply additional
     486    transfer coding(s) to the message body, assuming that corresponding
     487    changes are made to the Transfer-Encoding field-value.  Additional
     488    information about the encoding parameters can be provided by other
     489    header fields not defined by this specification.
     490
     491
    468492Section 3.3.2., paragraph 10:
    469493OLD:
     
    764788
    765789
     790Section 19.7.1, paragraph 4:
     791OLD:
     792
     793    Clients are also encouraged to consider the use of Connection: keep-
     794    alive in requests carefully; while they can enable persistent
     795    connections with HTTP/1.0 servers, clients using them will need to
     796    monitor the connection for "hung" requests (which indicate that the
     797    client ought stop sending the header field), and this mechanism ought
     798    not be used by clients at all when a proxy is being used.
     799
     800NEW:
     801
     802    Clients are also encouraged to consider the use of Connection:
     803    keep-alive in requests carefully; while they can enable persistent
     804    connections with HTTP/1.0 servers, clients using them will need to
     805    monitor the connection for "hung" requests (which indicate that the
     806    client ought stop sending the header field), and this mechanism ought
     807    not be used by clients at all when a proxy is being used.
     808
     809
    766810Section 19.7.1, paragraph 21:
    767811OLD:
     
    780824 
    781825    The segment + query components of RFC 3986 have been used to define
    782     the request-target, instead of abs_path from RFC 1808.  The asterisk-
    783     form of the request-target is only allowed with the OPTIONS method.
    784     (Section 5.3)
     826    the request-target, instead of abs_path from RFC 1808.  The
     827    asterisk-form of the request-target is only allowed with the OPTIONS
     828    method.  (Section 5.3)
    785829
    786830
  • draft-ietf-httpbis/latest/auth48/rfc7230.diff.html

    r2712 r2718  
    461461      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7231]) switch to tunnel mode instead of having a message body.</td><td> </td><td class="right">   [RFC7231]) switch to tunnel mode instead of having a message body.</td><td class="lineno" valign="top"></td></tr>
    462462      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    463       <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 30, line 40</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 31, line 14</em></th><td></td></tr>
     463      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 28, line 50</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 29, line 25</em></th><td></td></tr>
     464      <tr><td class="lineno" valign="top"></td><td class="left">   by closing the connection.</td><td> </td><td class="right">   by closing the connection.</td><td class="lineno" valign="top"></td></tr>
     465      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     466      <tr><td class="lineno" valign="top"></td><td class="left">   For example,</td><td> </td><td class="right">   For example,</td><td class="lineno" valign="top"></td></tr>
     467      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     468      <tr><td class="lineno" valign="top"></td><td class="left">     Transfer-Encoding: gzip, chunked</td><td> </td><td class="right">     Transfer-Encoding: gzip, chunked</td><td class="lineno" valign="top"></td></tr>
     469      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     470      <tr><td class="lineno" valign="top"></td><td class="left">   indicates that the payload body has been compressed using the gzip</td><td> </td><td class="right">   indicates that the payload body has been compressed using the gzip</td><td class="lineno" valign="top"></td></tr>
     471      <tr><td class="lineno" valign="top"></td><td class="left">   coding and then chunked using the chunked coding while forming the</td><td> </td><td class="right">   coding and then chunked using the chunked coding while forming the</td><td class="lineno" valign="top"></td></tr>
     472      <tr><td class="lineno" valign="top"></td><td class="left">   message body.</td><td> </td><td class="right">   message body.</td><td class="lineno" valign="top"></td></tr>
     473      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     474      <tr><td><a name="diff0013" /></td></tr>
     475      <tr><td class="lineno" valign="top"></td><td class="lblock">   Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), <span class="delete">Transfer-</span></td><td> </td><td class="rblock">   Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]),</td><td class="lineno" valign="top"></td></tr>
     476      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Encoding</span> is a property of the message, not of the representation, and</td><td> </td><td class="rblock">   <span class="insert">Transfer-Encoding</span> is a property of the message, not of the</td><td class="lineno" valign="top"></td></tr>
     477      <tr><td class="lineno" valign="top"></td><td class="lblock">   any recipient along the request/response chain MAY decode the</td><td> </td><td class="rblock">   representation, and any recipient along the request/response chain</td><td class="lineno" valign="top"></td></tr>
     478      <tr><td class="lineno" valign="top"></td><td class="lblock">   received transfer coding(s) or apply additional transfer coding(s) to</td><td> </td><td class="rblock">   MAY decode the received transfer coding(s) or apply additional</td><td class="lineno" valign="top"></td></tr>
     479      <tr><td class="lineno" valign="top"></td><td class="lblock">   the message body, assuming that corresponding changes are made to the</td><td> </td><td class="rblock">   transfer coding(s) to the message body, assuming that corresponding</td><td class="lineno" valign="top"></td></tr>
     480      <tr><td class="lineno" valign="top"></td><td class="lblock">   Transfer-Encoding field-value.  Additional information about the</td><td> </td><td class="rblock">   changes are made to the Transfer-Encoding field-value.  Additional</td><td class="lineno" valign="top"></td></tr>
     481      <tr><td class="lineno" valign="top"></td><td class="lblock">   encoding parameters can be provided by other header fields not</td><td> </td><td class="rblock">   information about the encoding parameters can be provided by other</td><td class="lineno" valign="top"></td></tr>
     482      <tr><td class="lineno" valign="top"></td><td class="lblock">   defined by this specification.</td><td> </td><td class="rblock">   header fields not defined by this specification.</td><td class="lineno" valign="top"></td></tr>
     483      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     484      <tr><td class="lineno" valign="top"></td><td class="left">   Transfer-Encoding MAY be sent in a response to a HEAD request or in a</td><td> </td><td class="right">   Transfer-Encoding MAY be sent in a response to a HEAD request or in a</td><td class="lineno" valign="top"></td></tr>
     485      <tr><td class="lineno" valign="top"></td><td class="left">   304 (Not Modified) response (Section 4.1 of [RFC7232]) to a GET</td><td> </td><td class="right">   304 (Not Modified) response (Section 4.1 of [RFC7232]) to a GET</td><td class="lineno" valign="top"></td></tr>
     486      <tr><td class="lineno" valign="top"></td><td class="left">   request, neither of which includes a message body, to indicate that</td><td> </td><td class="right">   request, neither of which includes a message body, to indicate that</td><td class="lineno" valign="top"></td></tr>
     487      <tr><td class="lineno" valign="top"></td><td class="left">   the origin server would have applied a transfer coding to the message</td><td> </td><td class="right">   the origin server would have applied a transfer coding to the message</td><td class="lineno" valign="top"></td></tr>
     488      <tr><td class="lineno" valign="top"></td><td class="left">   body if the request had been an unconditional GET.  This indication</td><td> </td><td class="right">   body if the request had been an unconditional GET.  This indication</td><td class="lineno" valign="top"></td></tr>
     489      <tr><td class="lineno" valign="top"></td><td class="left">   is not required, however, because any recipient on the response chain</td><td> </td><td class="right">   is not required, however, because any recipient on the response chain</td><td class="lineno" valign="top"></td></tr>
     490      <tr><td class="lineno" valign="top"></td><td class="left">   (including the origin server) can remove transfer codings when they</td><td> </td><td class="right">   (including the origin server) can remove transfer codings when they</td><td class="lineno" valign="top"></td></tr>
     491      <tr><td class="lineno" valign="top"></td><td class="left">   are not needed.</td><td> </td><td class="right">   are not needed.</td><td class="lineno" valign="top"></td></tr>
     492      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     493      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     494      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 30, line 40</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 31, line 14</em></th><td></td></tr>
    464495      <tr><td class="lineno" valign="top"></td><td class="left">   unless its field-value equals the decimal number of octets that would</td><td> </td><td class="right">   unless its field-value equals the decimal number of octets that would</td><td class="lineno" valign="top"></td></tr>
    465496      <tr><td class="lineno" valign="top"></td><td class="left">   have been sent in the payload body of a 200 (OK) response to the same</td><td> </td><td class="right">   have been sent in the payload body of a 200 (OK) response to the same</td><td class="lineno" valign="top"></td></tr>
     
    472503      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7231]).</td><td> </td><td class="right">   [RFC7231]).</td><td class="lineno" valign="top"></td></tr>
    473504      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    474       <tr><td><a name="diff0013" /></td></tr>
     505      <tr><td><a name="diff0014" /></td></tr>
    475506      <tr><td class="lineno" valign="top"></td><td class="lblock">   Aside from the cases defined above, in the absence of <span class="delete">Transfer-</span></td><td> </td><td class="rblock">   Aside from the cases defined above, in the absence of</td><td class="lineno" valign="top"></td></tr>
    476507      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Encoding,</span> an origin server SHOULD send a Content-Length header field</td><td> </td><td class="rblock">   <span class="insert">Transfer-Encoding,</span> an origin server SHOULD send a Content-Length</td><td class="lineno" valign="top"></td></tr>
     
    499530      <tr><td class="lineno" valign="top"></td><td class="left">      Note: HTTP's use of Content-Length for message framing differs</td><td> </td><td class="right">      Note: HTTP's use of Content-Length for message framing differs</td><td class="lineno" valign="top"></td></tr>
    500531      <tr><td class="lineno" valign="top"></td><td class="left">      significantly from the same field's use in MIME, where it is an</td><td> </td><td class="right">      significantly from the same field's use in MIME, where it is an</td><td class="lineno" valign="top"></td></tr>
    501       <tr><td><a name="diff0014" /></td></tr>
     532      <tr><td><a name="diff0015" /></td></tr>
    502533      <tr><td class="lineno" valign="top"></td><td class="lblock">      optional field used only within the "message/external-body" <span class="delete">media-</span></td><td> </td><td class="rblock">      optional field used only within the "message/external-body"</td><td class="lineno" valign="top"></td></tr>
    503534      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      type.</span></td><td> </td><td class="rblock">      <span class="insert">media-type.</span></td><td class="lineno" valign="top"></td></tr>
     
    513544      <tr><td class="lineno" valign="top"></td><td class="left">       header fields, regardless of the header fields present in the</td><td> </td><td class="right">       header fields, regardless of the header fields present in the</td><td class="lineno" valign="top"></td></tr>
    514545      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    515       <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 32, line 39</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 33, line 23</em></th><td></td></tr>
     546      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 32, line 39</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 33, line 23</em></th><td></td></tr>
    516547      <tr><td class="lineno" valign="top"></td><td class="left">       incomplete and close the connection.</td><td> </td><td class="right">       incomplete and close the connection.</td><td class="lineno" valign="top"></td></tr>
    517548      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    524555      <tr><td class="lineno" valign="top"></td><td class="left">       connection.</td><td> </td><td class="right">       connection.</td><td class="lineno" valign="top"></td></tr>
    525556      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    526       <tr><td><a name="diff0015" /></td></tr>
     557      <tr><td><a name="diff0016" /></td></tr>
    527558      <tr><td class="lineno" valign="top"></td><td class="lblock">   Since there is no way to distinguish a successfully completed, <span class="delete">close-</span></td><td> </td><td class="rblock">   Since there is no way to distinguish a successfully completed,</td><td class="lineno" valign="top"></td></tr>
    528559      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   delimited</span> message from a partially received message interrupted by</td><td> </td><td class="rblock">   <span class="insert">close-delimited</span> message from a partially received message interrupted</td><td class="lineno" valign="top"></td></tr>
     
    541572      <tr><td class="lineno" valign="top"></td><td class="left">   status code even though they understand the chunked transfer coding.</td><td> </td><td class="right">   status code even though they understand the chunked transfer coding.</td><td class="lineno" valign="top"></td></tr>
    542573      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    543       <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 35, line 18</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>
     574      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 35, line 18</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>
    544575      <tr><td class="lineno" valign="top"></td><td class="left">                        / "gzip" ; Section 4.2.3</td><td> </td><td class="right">                        / "gzip" ; Section 4.2.3</td><td class="lineno" valign="top"></td></tr>
    545576      <tr><td class="lineno" valign="top"></td><td class="left">                        / transfer-extension</td><td> </td><td class="right">                        / transfer-extension</td><td class="lineno" valign="top"></td></tr>
     
    552583      <tr><td class="lineno" valign="top"></td><td class="left">   All transfer-coding names are case-insensitive and ought to be</td><td> </td><td class="right">   All transfer-coding names are case-insensitive and ought to be</td><td class="lineno" valign="top"></td></tr>
    553584      <tr><td class="lineno" valign="top"></td><td class="left">   registered within the HTTP Transfer Coding registry, as defined in</td><td> </td><td class="right">   registered within the HTTP Transfer Coding registry, as defined in</td><td class="lineno" valign="top"></td></tr>
    554       <tr><td><a name="diff0016" /></td></tr>
     585      <tr><td><a name="diff0017" /></td></tr>
    555586      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 8.4.  They are used in the TE (Section 4.3) and <span class="delete">Transfer-</span></td><td> </td><td class="rblock">   Section 8.4.  They are used in the TE (Section 4.3) and</td><td class="lineno" valign="top"></td></tr>
    556587      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Encoding</span> (Section 3.3.1) header fields.</td><td> </td><td class="rblock">   <span class="insert">Transfer-Encoding</span> (Section 3.3.1) header fields.</td><td class="lineno" valign="top"></td></tr>
     
    566597      <tr><td class="lineno" valign="top"></td><td class="left">   received the entire message.</td><td> </td><td class="right">   received the entire message.</td><td class="lineno" valign="top"></td></tr>
    567598      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    568       <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 36, line 9</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 36, line 39</em></th><td></td></tr>
     599      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 36, line 9</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 36, line 39</em></th><td></td></tr>
    569600      <tr><td class="lineno" valign="top"></td><td class="left">   when a chunk with a chunk-size of zero is received, possibly followed</td><td> </td><td class="right">   when a chunk with a chunk-size of zero is received, possibly followed</td><td class="lineno" valign="top"></td></tr>
    570601      <tr><td class="lineno" valign="top"></td><td class="left">   by a trailer, and finally terminated by an empty line.</td><td> </td><td class="right">   by a trailer, and finally terminated by an empty line.</td><td class="lineno" valign="top"></td></tr>
     
    577608      <tr><td class="lineno" valign="top"></td><td class="left">   The chunked encoding allows each chunk to include zero or more chunk</td><td> </td><td class="right">   The chunked encoding allows each chunk to include zero or more chunk</td><td class="lineno" valign="top"></td></tr>
    578609      <tr><td class="lineno" valign="top"></td><td class="left">   extensions, immediately following the chunk-size, for the sake of</td><td> </td><td class="right">   extensions, immediately following the chunk-size, for the sake of</td><td class="lineno" valign="top"></td></tr>
    579       <tr><td><a name="diff0017" /></td></tr>
     610      <tr><td><a name="diff0018" /></td></tr>
    580611      <tr><td class="lineno" valign="top"></td><td class="lblock">   supplying per-chunk metadata (such as a signature or hash), <span class="delete">mid-</span></td><td> </td><td class="rblock">   supplying per-chunk metadata (such as a signature or hash),</td><td class="lineno" valign="top"></td></tr>
    581612      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   message</span> control information, or randomization of message body size.</td><td> </td><td class="rblock">   <span class="insert">mid-message</span> control information, or randomization of message body</td><td class="lineno" valign="top"></td></tr>
     
    592623      <tr><td class="lineno" valign="top"></td><td class="left">   the extensions.  Hence, use of chunk extensions is generally limited</td><td> </td><td class="right">   the extensions.  Hence, use of chunk extensions is generally limited</td><td class="lineno" valign="top"></td></tr>
    593624      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    594       <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 40, line 7</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 40, line 41</em></th><td></td></tr>
     625      <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 40, line 7</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 40, line 41</em></th><td></td></tr>
    595626      <tr><td class="lineno" valign="top"></td><td class="left">5.  Message Routing</td><td> </td><td class="right">5.  Message Routing</td><td class="lineno" valign="top"></td></tr>
    596627      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    603634      <tr><td class="lineno" valign="top"></td><td class="left">5.1.  Identifying a Target Resource</td><td> </td><td class="right">5.1.  Identifying a Target Resource</td><td class="lineno" valign="top"></td></tr>
    604635      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    605       <tr><td><a name="diff0018" /></td></tr>
     636      <tr><td><a name="diff0019" /></td></tr>
    606637      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP is used in a wide variety of applications, ranging from <span class="delete">general-</span></td><td> </td><td class="rblock">   HTTP is used in a wide variety of applications, ranging from</td><td class="lineno" valign="top"></td></tr>
    607638      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   purpose</span> computers to home appliances.  In some cases, communication</td><td> </td><td class="rblock">   <span class="insert">general-purpose</span> computers to home appliances.  In some cases,</td><td class="lineno" valign="top"></td></tr>
     
    621652      <tr><td class="lineno" valign="top"></td><td class="left">   ([RFC3986], Section 3.5).</td><td> </td><td class="right">   ([RFC3986], Section 3.5).</td><td class="lineno" valign="top"></td></tr>
    622653      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    623       <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 43, line 48</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 44, line 37</em></th><td></td></tr>
     654      <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 43, line 48</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 44, line 37</em></th><td></td></tr>
    624655      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.example.org/pub/WWW/&gt; would begin with:</td><td> </td><td class="right">   &lt;http://www.example.org/pub/WWW/&gt; would begin with:</td><td class="lineno" valign="top"></td></tr>
    625656      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    632663      <tr><td class="lineno" valign="top"></td><td class="left">   that might not have implemented Host.</td><td> </td><td class="right">   that might not have implemented Host.</td><td class="lineno" valign="top"></td></tr>
    633664      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    634       <tr><td><a name="diff0019" /></td></tr>
     665      <tr><td><a name="diff0020" /></td></tr>
    635666      <tr><td class="lineno" valign="top"></td><td class="lblock">   When a proxy receives a request with an absolute-form of <span class="delete">request-</span></td><td> </td><td class="rblock">   When a proxy receives a request with an absolute-form of</td><td class="lineno" valign="top"></td></tr>
    636667      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   target,</span> the proxy MUST ignore the received Host header field (if any)</td><td> </td><td class="rblock">   <span class="insert">request-target,</span> the proxy MUST ignore the received Host header field</td><td class="lineno" valign="top"></td></tr>
     
    649680      <tr><td class="lineno" valign="top"></td><td class="left">   host.</td><td> </td><td class="right">   host.</td><td class="lineno" valign="top"></td></tr>
    650681      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    651       <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 46, line 18</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 47, line 8</em></th><td></td></tr>
     682      <tr bgcolor="gray" ><td></td><th><a name="part-l20" /><small>skipping to change at</small><em> page 46, line 18</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 47, line 8</em></th><td></td></tr>
    652683      <tr><td class="lineno" valign="top"></td><td class="left">   request message with its corresponding one or more response messages.</td><td> </td><td class="right">   request message with its corresponding one or more response messages.</td><td class="lineno" valign="top"></td></tr>
    653684      <tr><td class="lineno" valign="top"></td><td class="left">   Hence, it relies on the order of response arrival to correspond</td><td> </td><td class="right">   Hence, it relies on the order of response arrival to correspond</td><td class="lineno" valign="top"></td></tr>
     
    660691      <tr><td class="lineno" valign="top"></td><td class="left">   MUST maintain a list of outstanding requests in the order sent and</td><td> </td><td class="right">   MUST maintain a list of outstanding requests in the order sent and</td><td class="lineno" valign="top"></td></tr>
    661692      <tr><td class="lineno" valign="top"></td><td class="left">   MUST associate each received response message on that connection to</td><td> </td><td class="right">   MUST associate each received response message on that connection to</td><td class="lineno" valign="top"></td></tr>
    662       <tr><td><a name="diff0020" /></td></tr>
     693      <tr><td><a name="diff0021" /></td></tr>
    663694      <tr><td class="lineno" valign="top"></td><td class="lblock">   the highest ordered request that has not yet received a final <span class="delete">(non-</span></td><td> </td><td class="rblock">   the highest ordered request that has not yet received a final</td><td class="lineno" valign="top"></td></tr>
    664695      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   1xx)</span> response.</td><td> </td><td class="rblock">   <span class="insert">(non-1xx)</span> response.</td><td class="lineno" valign="top"></td></tr>
     
    674705      <tr><td class="lineno" valign="top"></td><td class="left">   intermediary can enhance (or interfere) with either direction of the</td><td> </td><td class="right">   intermediary can enhance (or interfere) with either direction of the</td><td class="lineno" valign="top"></td></tr>
    675706      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    676       <tr bgcolor="gray" ><td></td><th><a name="part-l20" /><small>skipping to change at</small><em> page 52, line 50</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 54, line 8</em></th><td></td></tr>
     707      <tr bgcolor="gray" ><td></td><th><a name="part-l21" /><small>skipping to change at</small><em> page 52, line 50</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 54, line 8</em></th><td></td></tr>
    677708      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    678709      <tr><td class="lineno" valign="top"></td><td class="left">6.3.1.  Retrying Requests</td><td> </td><td class="right">6.3.1.  Retrying Requests</td><td class="lineno" valign="top"></td></tr>
     
    685716      <tr><td class="lineno" valign="top"></td><td class="left">   new connection and automatically retransmit an aborted sequence of</td><td> </td><td class="right">   new connection and automatically retransmit an aborted sequence of</td><td class="lineno" valign="top"></td></tr>
    686717      <tr><td class="lineno" valign="top"></td><td class="left">   requests if all of those requests have idempotent methods (Section</td><td> </td><td class="right">   requests if all of those requests have idempotent methods (Section</td><td class="lineno" valign="top"></td></tr>
    687       <tr><td><a name="diff0021" /></td></tr>
     718      <tr><td><a name="diff0022" /></td></tr>
    688719      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.2.2 of [RFC7231]).  A proxy MUST NOT automatically retry <span class="delete">non-</span></td><td> </td><td class="rblock">   4.2.2 of [RFC7231]).  A proxy MUST NOT automatically retry</td><td class="lineno" valign="top"></td></tr>
    689720      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   idempotent</span> requests.</td><td> </td><td class="rblock">   <span class="insert">non-idempotent</span> requests.</td><td class="lineno" valign="top"></td></tr>
     
    699730      <tr><td class="lineno" valign="top"></td><td class="left">   from partial failure conditions by checking the target resource</td><td> </td><td class="right">   from partial failure conditions by checking the target resource</td><td class="lineno" valign="top"></td></tr>
    700731      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    701       <tr bgcolor="gray" ><td></td><th><a name="part-l21" /><small>skipping to change at</small><em> page 54, line 21</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 55, line 28</em></th><td></td></tr>
     732      <tr bgcolor="gray" ><td></td><th><a name="part-l22" /><small>skipping to change at</small><em> page 54, line 21</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 55, line 28</em></th><td></td></tr>
    702733      <tr><td class="lineno" valign="top"></td><td class="left">   A client ought to limit the number of simultaneous open connections</td><td> </td><td class="right">   A client ought to limit the number of simultaneous open connections</td><td class="lineno" valign="top"></td></tr>
    703734      <tr><td class="lineno" valign="top"></td><td class="left">   that it maintains to a given server.</td><td> </td><td class="right">   that it maintains to a given server.</td><td class="lineno" valign="top"></td></tr>
     
    710741      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    711742      <tr><td class="lineno" valign="top"></td><td class="left">   Multiple connections are typically used to avoid the "head-of-line</td><td> </td><td class="right">   Multiple connections are typically used to avoid the "head-of-line</td><td class="lineno" valign="top"></td></tr>
    712       <tr><td><a name="diff0022" /></td></tr>
     743      <tr><td><a name="diff0023" /></td></tr>
    713744      <tr><td class="lineno" valign="top"></td><td class="lblock">   blocking" problem, wherein a request that takes significant <span class="delete">server-</span></td><td> </td><td class="rblock">   blocking" problem, wherein a request that takes significant</td><td class="lineno" valign="top"></td></tr>
    714745      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   side</span> processing and/or has a large payload blocks subsequent requests</td><td> </td><td class="rblock">   <span class="insert">server-side</span> processing and/or has a large payload blocks subsequent</td><td class="lineno" valign="top"></td></tr>
     
    726757      <tr><td class="lineno" valign="top"></td><td class="left">   no longer maintain an inactive connection.  Proxy servers might make</td><td> </td><td class="right">   no longer maintain an inactive connection.  Proxy servers might make</td><td class="lineno" valign="top"></td></tr>
    727758      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    728       <tr bgcolor="gray" ><td></td><th><a name="part-l22" /><small>skipping to change at</small><em> page 58, line 32</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 59, line 48</em></th><td></td></tr>
     759      <tr bgcolor="gray" ><td></td><th><a name="part-l23" /><small>skipping to change at</small><em> page 58, line 32</em></th><th> </th><th><a name="part-r23" /><small>skipping to change at</small><em> page 59, line 48</em></th><td></td></tr>
    729760      <tr><td class="lineno" valign="top"></td><td class="left">   the family of Hypertext Transfer Protocols, as defined by the HTTP</td><td> </td><td class="right">   the family of Hypertext Transfer Protocols, as defined by the HTTP</td><td class="lineno" valign="top"></td></tr>
    730761      <tr><td class="lineno" valign="top"></td><td class="left">   version rules of Section 2.6 and future updates to this</td><td> </td><td class="right">   version rules of Section 2.6 and future updates to this</td><td class="lineno" valign="top"></td></tr>
     
    737768      <tr><td class="lineno" valign="top"></td><td class="left">   readability in the definitions of some header field values.</td><td> </td><td class="right">   readability in the definitions of some header field values.</td><td class="lineno" valign="top"></td></tr>
    738769      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    739       <tr><td><a name="diff0023" /></td></tr>
     770      <tr><td><a name="diff0024" /></td></tr>
    740771      <tr><td class="lineno" valign="top"></td><td class="lblock">   A construct "#" is defined, similar to "*", for defining <span class="delete">comma-</span></td><td> </td><td class="rblock">   A construct "#" is defined, similar to "*", for defining</td><td class="lineno" valign="top"></td></tr>
    741772      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   delimited</span> lists of elements.  The full form is "&lt;n&gt;#&lt;m&gt;element"</td><td> </td><td class="rblock">   <span class="insert">comma-delimited</span> lists of elements.  The full form is "&lt;n&gt;#&lt;m&gt;element"</td><td class="lineno" valign="top"></td></tr>
     
    751782      <tr><td class="lineno" valign="top"></td><td class="left">   and:</td><td> </td><td class="right">   and:</td><td class="lineno" valign="top"></td></tr>
    752783      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    753       <tr bgcolor="gray" ><td></td><th><a name="part-l23" /><small>skipping to change at</small><em> page 66, line 18</em></th><th> </th><th><a name="part-r23" /><small>skipping to change at</small><em> page 67, line 45</em></th><td></td></tr>
     784      <tr bgcolor="gray" ><td></td><th><a name="part-l24" /><small>skipping to change at</small><em> page 66, line 18</em></th><th> </th><th><a name="part-r24" /><small>skipping to change at</small><em> page 67, line 45</em></th><td></td></tr>
    754785      <tr><td class="lineno" valign="top"></td><td class="left">   and users of known security considerations relevant to HTTP message</td><td> </td><td class="right">   and users of known security considerations relevant to HTTP message</td><td class="lineno" valign="top"></td></tr>
    755786      <tr><td class="lineno" valign="top"></td><td class="left">   syntax, parsing, and routing.  Security considerations about HTTP</td><td> </td><td class="right">   syntax, parsing, and routing.  Security considerations about HTTP</td><td class="lineno" valign="top"></td></tr>
     
    762793      <tr><td class="lineno" valign="top"></td><td class="left">   identified within the target URI to be the most appropriate response</td><td> </td><td class="right">   identified within the target URI to be the most appropriate response</td><td class="lineno" valign="top"></td></tr>
    763794      <tr><td class="lineno" valign="top"></td><td class="left">   for that request given the state of the target resource at the time</td><td> </td><td class="right">   for that request given the state of the target resource at the time</td><td class="lineno" valign="top"></td></tr>
    764       <tr><td><a name="diff0024" /></td></tr>
     795      <tr><td><a name="diff0025" /></td></tr>
    765796      <tr><td class="lineno" valign="top"></td><td class="lblock">   of response message origination.  Providing a response from a <span class="delete">non-</span></td><td> </td><td class="rblock">   of response message origination.  Providing a response from a</td><td class="lineno" valign="top"></td></tr>
    766797      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   authoritative</span> source, such as a shared cache, is often useful to</td><td> </td><td class="rblock">   <span class="insert">non-authoritative</span> source, such as a shared cache, is often useful to</td><td class="lineno" valign="top"></td></tr>
     
    776807      <tr><td class="lineno" valign="top"></td><td class="left">   prior to making an action, by prominently distinguishing (or</td><td> </td><td class="right">   prior to making an action, by prominently distinguishing (or</td><td class="lineno" valign="top"></td></tr>
    777808      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    778       <tr bgcolor="gray" ><td></td><th><a name="part-l24" /><small>skipping to change at</small><em> page 69, line 22</em></th><th> </th><th><a name="part-r24" /><small>skipping to change at</small><em> page 70, line 48</em></th><td></td></tr>
     809      <tr bgcolor="gray" ><td></td><th><a name="part-l25" /><small>skipping to change at</small><em> page 69, line 22</em></th><th> </th><th><a name="part-r25" /><small>skipping to change at</small><em> page 70, line 48</em></th><td></td></tr>
    779810      <tr><td class="lineno" valign="top"></td><td class="left">   usage.</td><td> </td><td class="right">   usage.</td><td class="lineno" valign="top"></td></tr>
    780811      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    787818      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP does not define a specific mechanism for ensuring message</td><td> </td><td class="right">   HTTP does not define a specific mechanism for ensuring message</td><td class="lineno" valign="top"></td></tr>
    788819      <tr><td class="lineno" valign="top"></td><td class="left">   integrity, instead relying on the error-detection ability of</td><td> </td><td class="right">   integrity, instead relying on the error-detection ability of</td><td class="lineno" valign="top"></td></tr>
    789       <tr><td><a name="diff0025" /></td></tr>
     820      <tr><td><a name="diff0026" /></td></tr>
    790821      <tr><td class="lineno" valign="top"></td><td class="lblock">   underlying transport protocols and the use of length or <span class="delete">chunk-</span></td><td> </td><td class="rblock">   underlying transport protocols and the use of length or</td><td class="lineno" valign="top"></td></tr>
    791822      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   delimited</span> framing to detect completeness.  Additional integrity</td><td> </td><td class="rblock">   <span class="insert">chunk-delimited</span> framing to detect completeness.  Additional integrity</td><td class="lineno" valign="top"></td></tr>
     
    801832      <tr><td class="lineno" valign="top"></td><td class="left">   detecting and reporting failures of message integrity such that those</td><td> </td><td class="right">   detecting and reporting failures of message integrity such that those</td><td class="lineno" valign="top"></td></tr>
    802833      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    803       <tr bgcolor="gray" ><td></td><th><a name="part-l25" /><small>skipping to change at</small><em> page 70, line 27</em></th><th> </th><th><a name="part-r25" /><small>skipping to change at</small><em> page 72, line 7</em></th><td></td></tr>
     834      <tr bgcolor="gray" ><td></td><th><a name="part-l26" /><small>skipping to change at</small><em> page 70, line 27</em></th><th> </th><th><a name="part-r26" /><small>skipping to change at</small><em> page 72, line 7</em></th><td></td></tr>
    804835      <tr><td class="lineno" valign="top"></td><td class="left">   constrained by laws and regulations.  Log information needs to be</td><td> </td><td class="right">   constrained by laws and regulations.  Log information needs to be</td><td class="lineno" valign="top"></td></tr>
    805836      <tr><td class="lineno" valign="top"></td><td class="left">   securely stored and appropriate guidelines followed for its analysis.</td><td> </td><td class="right">   securely stored and appropriate guidelines followed for its analysis.</td><td class="lineno" valign="top"></td></tr>
     
    812843      <tr><td class="lineno" valign="top"></td><td class="left">   To minimize the risk of theft or accidental publication, log</td><td> </td><td class="right">   To minimize the risk of theft or accidental publication, log</td><td class="lineno" valign="top"></td></tr>
    813844      <tr><td class="lineno" valign="top"></td><td class="left">   information ought to be purged of personally identifiable</td><td> </td><td class="right">   information ought to be purged of personally identifiable</td><td class="lineno" valign="top"></td></tr>
    814       <tr><td><a name="diff0026" /></td></tr>
     845      <tr><td><a name="diff0027" /></td></tr>
    815846      <tr><td class="lineno" valign="top"></td><td class="lblock">   information, including user identifiers, IP addresses, and <span class="delete">user-</span></td><td> </td><td class="rblock">   information, including user identifiers, IP addresses, and</td><td class="lineno" valign="top"></td></tr>
    816847      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   provided</span> query parameters, as soon as that information is no longer</td><td> </td><td class="rblock">   <span class="insert">user-provided</span> query parameters, as soon as that information is no</td><td class="lineno" valign="top"></td></tr>
     
    828859      <tr><td class="lineno" valign="top"></td><td class="left">   Group Chair.</td><td> </td><td class="right">   Group Chair.</td><td class="lineno" valign="top"></td></tr>
    829860      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    830       <tr bgcolor="gray" ><td></td><th><a name="part-l26" /><small>skipping to change at</small><em> page 82, line 20</em></th><th> </th><th><a name="part-r26" /><small>skipping to change at</small><em> page 85, line 8</em></th><td></td></tr>
     861      <tr bgcolor="gray" ><td></td><th><a name="part-l27" /><small>skipping to change at</small><em> page 77, line 24</em></th><th> </th><th><a name="part-r27" /><small>skipping to change at</small><em> page 79, line 41</em></th><td></td></tr>
     862      <tr><td class="lineno" valign="top"></td><td class="left">   hung connection.</td><td> </td><td class="right">   hung connection.</td><td class="lineno" valign="top"></td></tr>
     863      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     864      <tr><td class="lineno" valign="top"></td><td class="left">   One attempted solution was the introduction of a Proxy-Connection</td><td> </td><td class="right">   One attempted solution was the introduction of a Proxy-Connection</td><td class="lineno" valign="top"></td></tr>
     865      <tr><td class="lineno" valign="top"></td><td class="left">   header field, targeted specifically at proxies.  In practice, this</td><td> </td><td class="right">   header field, targeted specifically at proxies.  In practice, this</td><td class="lineno" valign="top"></td></tr>
     866      <tr><td class="lineno" valign="top"></td><td class="left">   was also unworkable, because proxies are often deployed in multiple</td><td> </td><td class="right">   was also unworkable, because proxies are often deployed in multiple</td><td class="lineno" valign="top"></td></tr>
     867      <tr><td class="lineno" valign="top"></td><td class="left">   layers, bringing about the same problem discussed above.</td><td> </td><td class="right">   layers, bringing about the same problem discussed above.</td><td class="lineno" valign="top"></td></tr>
     868      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     869      <tr><td class="lineno" valign="top"></td><td class="left">   As a result, clients are encouraged not to send the Proxy-Connection</td><td> </td><td class="right">   As a result, clients are encouraged not to send the Proxy-Connection</td><td class="lineno" valign="top"></td></tr>
     870      <tr><td class="lineno" valign="top"></td><td class="left">   header field in any requests.</td><td> </td><td class="right">   header field in any requests.</td><td class="lineno" valign="top"></td></tr>
     871      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     872      <tr><td><a name="diff0028" /></td></tr>
     873      <tr><td class="lineno" valign="top"></td><td class="lblock">   Clients are also encouraged to consider the use of Connection: <span class="delete">keep-</span></td><td> </td><td class="rblock">   Clients are also encouraged to consider the use of Connection:</td><td class="lineno" valign="top"></td></tr>
     874      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   alive</span> in requests carefully; while they can enable persistent</td><td> </td><td class="rblock">   <span class="insert">keep-alive</span> in requests carefully; while they can enable persistent</td><td class="lineno" valign="top"></td></tr>
     875      <tr><td class="lineno" valign="top"></td><td class="left">   connections with HTTP/1.0 servers, clients using them will need to</td><td> </td><td class="right">   connections with HTTP/1.0 servers, clients using them will need to</td><td class="lineno" valign="top"></td></tr>
     876      <tr><td class="lineno" valign="top"></td><td class="left">   monitor the connection for "hung" requests (which indicate that the</td><td> </td><td class="right">   monitor the connection for "hung" requests (which indicate that the</td><td class="lineno" valign="top"></td></tr>
     877      <tr><td class="lineno" valign="top"></td><td class="left">   client ought stop sending the header field), and this mechanism ought</td><td> </td><td class="right">   client ought stop sending the header field), and this mechanism ought</td><td class="lineno" valign="top"></td></tr>
     878      <tr><td class="lineno" valign="top"></td><td class="left">   not be used by clients at all when a proxy is being used.</td><td> </td><td class="right">   not be used by clients at all when a proxy is being used.</td><td class="lineno" valign="top"></td></tr>
     879      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     880      <tr><td class="lineno" valign="top"></td><td class="left">A.1.3.  Introduction of Transfer-Encoding</td><td> </td><td class="right">A.1.3.  Introduction of Transfer-Encoding</td><td class="lineno" valign="top"></td></tr>
     881      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     882      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 introduces the Transfer-Encoding header field</td><td> </td><td class="right">   HTTP/1.1 introduces the Transfer-Encoding header field</td><td class="lineno" valign="top"></td></tr>
     883      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 3.3.1).  Transfer codings need to be decoded prior to</td><td> </td><td class="right">   (Section 3.3.1).  Transfer codings need to be decoded prior to</td><td class="lineno" valign="top"></td></tr>
     884      <tr><td class="lineno" valign="top"></td><td class="left">   forwarding an HTTP message over a MIME-compliant protocol.</td><td> </td><td class="right">   forwarding an HTTP message over a MIME-compliant protocol.</td><td class="lineno" valign="top"></td></tr>
     885      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     886      <tr bgcolor="gray" ><td></td><th><a name="part-l28" /><small>skipping to change at</small><em> page 79, line 4</em></th><th> </th><th><a name="part-r28" /><small>skipping to change at</small><em> page 81, line 18</em></th><td></td></tr>
     887      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     888      <tr><td class="lineno" valign="top"></td><td class="left">   The "identity" transfer coding token has been removed.  (Sections 3.3</td><td> </td><td class="right">   The "identity" transfer coding token has been removed.  (Sections 3.3</td><td class="lineno" valign="top"></td></tr>
     889      <tr><td class="lineno" valign="top"></td><td class="left">   and 4)</td><td> </td><td class="right">   and 4)</td><td class="lineno" valign="top"></td></tr>
     890      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     891      <tr><td class="lineno" valign="top"></td><td class="left">   Chunk length does not include the count of the octets in the chunk</td><td> </td><td class="right">   Chunk length does not include the count of the octets in the chunk</td><td class="lineno" valign="top"></td></tr>
     892      <tr><td class="lineno" valign="top"></td><td class="left">   header and trailer.  Line folding in chunk extensions is disallowed.</td><td> </td><td class="right">   header and trailer.  Line folding in chunk extensions is disallowed.</td><td class="lineno" valign="top"></td></tr>
     893      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.1)</td><td> </td><td class="right">   (Section 4.1)</td><td class="lineno" valign="top"></td></tr>
     894      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     895      <tr><td class="lineno" valign="top"></td><td class="left">   The meaning of the "deflate" content coding has been clarified.</td><td> </td><td class="right">   The meaning of the "deflate" content coding has been clarified.</td><td class="lineno" valign="top"></td></tr>
     896      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2.2)</td><td> </td><td class="right">   (Section 4.2.2)</td><td class="lineno" valign="top"></td></tr>
     897      <tr><td><a name="diff0029" /></td></tr>
     898      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">                                                                         </span></td><td class="lineno" valign="top"></td></tr>
     899      <tr><td class="lineno" valign="top"></td><td class="left">   The segment + query components of RFC 3986 have been used to define</td><td> </td><td class="right">   The segment + query components of RFC 3986 have been used to define</td><td class="lineno" valign="top"></td></tr>
     900      <tr><td><a name="diff0030" /></td></tr>
     901      <tr><td class="lineno" valign="top"></td><td class="lblock">   the request-target, instead of abs_path from RFC 1808.  The <span class="delete">asterisk-</span></td><td> </td><td class="rblock">   the request-target, instead of abs_path from RFC 1808.  The</td><td class="lineno" valign="top"></td></tr>
     902      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   form</span> of the request-target is only allowed with the OPTIONS method.</td><td> </td><td class="rblock">   <span class="insert">asterisk-form</span> of the request-target is only allowed with the OPTIONS</td><td class="lineno" valign="top"></td></tr>
     903      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section 5.3)</td><td> </td><td class="rblock">   method.  (Section 5.3)</td><td class="lineno" valign="top"></td></tr>
     904      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     905      <tr><td class="lineno" valign="top"></td><td class="left">   The term "Effective Request URI" has been introduced.  (Section 5.5)</td><td> </td><td class="right">   The term "Effective Request URI" has been introduced.  (Section 5.5)</td><td class="lineno" valign="top"></td></tr>
     906      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     907      <tr><td class="lineno" valign="top"></td><td class="left">   Gateways do not need to generate Via header fields anymore.</td><td> </td><td class="right">   Gateways do not need to generate Via header fields anymore.</td><td class="lineno" valign="top"></td></tr>
     908      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.7.1)</td><td> </td><td class="right">   (Section 5.7.1)</td><td class="lineno" valign="top"></td></tr>
     909      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     910      <tr><td class="lineno" valign="top"></td><td class="left">   Exactly when "close" connection options have to be sent has been</td><td> </td><td class="right">   Exactly when "close" connection options have to be sent has been</td><td class="lineno" valign="top"></td></tr>
     911      <tr><td class="lineno" valign="top"></td><td class="left">   clarified.  Also, "hop-by-hop" header fields are required to appear</td><td> </td><td class="right">   clarified.  Also, "hop-by-hop" header fields are required to appear</td><td class="lineno" valign="top"></td></tr>
     912      <tr><td class="lineno" valign="top"></td><td class="left">   in the Connection header field; just because they're defined as hop-</td><td> </td><td class="right">   in the Connection header field; just because they're defined as hop-</td><td class="lineno" valign="top"></td></tr>
     913      <tr><td class="lineno" valign="top"></td><td class="left">   by-hop in this specification doesn't exempt them.  (Section 6.1)</td><td> </td><td class="right">   by-hop in this specification doesn't exempt them.  (Section 6.1)</td><td class="lineno" valign="top"></td></tr>
     914      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     915      <tr bgcolor="gray" ><td></td><th><a name="part-l29" /><small>skipping to change at</small><em> page 82, line 20</em></th><th> </th><th><a name="part-r29" /><small>skipping to change at</small><em> page 85, line 8</em></th><td></td></tr>
    831916      <tr><td class="lineno" valign="top"></td><td class="left">   transfer-coding = "chunked" / "compress" / "deflate" / "gzip" /</td><td> </td><td class="right">   transfer-coding = "chunked" / "compress" / "deflate" / "gzip" /</td><td class="lineno" valign="top"></td></tr>
    832917      <tr><td class="lineno" valign="top"></td><td class="left">    transfer-extension</td><td> </td><td class="right">    transfer-extension</td><td class="lineno" valign="top"></td></tr>
     
    839924      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    840925      <tr><td class="lineno" valign="top"></td><td class="left">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
    841       <tr><td><a name="diff0027" /></td></tr>
     926      <tr><td><a name="diff0031" /></td></tr>
    842927      <tr><td class="lineno" valign="top"></td><td class="lblock">      absolute-form (of request-target)  4<span class="delete">1</span></td><td> </td><td class="rblock">      absolute-form (of request-target)  4<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    843928      <tr><td class="lineno" valign="top"></td><td class="left">      accelerator  10</td><td> </td><td class="right">      accelerator  10</td><td class="lineno" valign="top"></td></tr>
    844       <tr><td><a name="diff0028" /></td></tr>
     929      <tr><td><a name="diff0032" /></td></tr>
    845930      <tr><td class="lineno" valign="top"></td><td class="lblock">      application/http Media Type  <span class="delete">62</span></td><td> </td><td class="rblock">      application/http Media Type  <span class="insert">63</span></td><td class="lineno" valign="top"></td></tr>
    846931      <tr><td class="lineno" valign="top"></td><td class="lblock">      asterisk-form (of request-target)  <span class="delete">42</span></td><td> </td><td class="rblock">      asterisk-form (of request-target)  <span class="insert">43</span></td><td class="lineno" valign="top"></td></tr>
     
    853938      <tr><td class="lineno" valign="top"></td><td class="left">   C</td><td> </td><td class="right">   C</td><td class="lineno" valign="top"></td></tr>
    854939      <tr><td class="lineno" valign="top"></td><td class="left">      cache  11</td><td> </td><td class="right">      cache  11</td><td class="lineno" valign="top"></td></tr>
    855       <tr><td><a name="diff0029" /></td></tr>
     940      <tr><td><a name="diff0033" /></td></tr>
    856941      <tr><td class="lineno" valign="top"></td><td class="lblock">      cacheable  1<span class="delete">1</span></td><td> </td><td class="rblock">      cacheable  1<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    857942      <tr><td class="lineno" valign="top"></td><td class="left">      captive portal  11</td><td> </td><td class="right">      captive portal  11</td><td class="lineno" valign="top"></td></tr>
    858       <tr><td><a name="diff0030" /></td></tr>
     943      <tr><td><a name="diff0034" /></td></tr>
    859944      <tr><td class="lineno" valign="top"></td><td class="lblock">      chunked (Coding Format)  28, 3<span class="delete">1, 35</span></td><td> </td><td class="rblock">      chunked (Coding Format)  28, 3<span class="insert">2, 36</span></td><td class="lineno" valign="top"></td></tr>
    860945      <tr><td class="lineno" valign="top"></td><td class="left">      client  7</td><td> </td><td class="right">      client  7</td><td class="lineno" valign="top"></td></tr>
    861       <tr><td><a name="diff0031" /></td></tr>
     946      <tr><td><a name="diff0035" /></td></tr>
    862947      <tr><td class="lineno" valign="top"></td><td class="lblock">      close  5<span class="delete">0, 55</span></td><td> </td><td class="rblock">      close  5<span class="insert">1, 56</span></td><td class="lineno" valign="top"></td></tr>
    863948      <tr><td class="lineno" valign="top"></td><td class="left">      compress (Coding Format)  38</td><td> </td><td class="right">      compress (Coding Format)  38</td><td class="lineno" valign="top"></td></tr>
    864949      <tr><td class="lineno" valign="top"></td><td class="left">      connection  7</td><td> </td><td class="right">      connection  7</td><td class="lineno" valign="top"></td></tr>
    865       <tr><td><a name="diff0032" /></td></tr>
     950      <tr><td><a name="diff0036" /></td></tr>
    866951      <tr><td class="lineno" valign="top"></td><td class="lblock">      Connection header field  <span class="delete">50, 55</span></td><td> </td><td class="rblock">      Connection header field  <span class="insert">51, 56</span></td><td class="lineno" valign="top"></td></tr>
    867952      <tr><td class="lineno" valign="top"></td><td class="lblock">      Content-Length header field  <span class="delete">29</span></td><td> </td><td class="rblock">      Content-Length header field  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
     
    869954      <tr><td class="lineno" valign="top"></td><td class="left">   D</td><td> </td><td class="right">   D</td><td class="lineno" valign="top"></td></tr>
    870955      <tr><td class="lineno" valign="top"></td><td class="left">      deflate (Coding Format)  38</td><td> </td><td class="right">      deflate (Coding Format)  38</td><td class="lineno" valign="top"></td></tr>
    871       <tr><td><a name="diff0033" /></td></tr>
     956      <tr><td><a name="diff0037" /></td></tr>
    872957      <tr><td class="lineno" valign="top"></td><td class="lblock">      Delimiters  <span class="delete">26</span></td><td> </td><td class="rblock">      Delimiters  <span class="insert">27</span></td><td class="lineno" valign="top"></td></tr>
    873958      <tr><td class="lineno" valign="top"></td><td class="lblock">      downstream  <span class="delete">9</span></td><td> </td><td class="rblock">      downstream  <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
    874959      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    875960      <tr><td class="lineno" valign="top"></td><td class="left">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
    876       <tr><td><a name="diff0034" /></td></tr>
     961      <tr><td><a name="diff0038" /></td></tr>
    877962      <tr><td class="lineno" valign="top"></td><td class="lblock">      effective request URI  4<span class="delete">4</span></td><td> </td><td class="rblock">      effective request URI  4<span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
    878963      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    880965      <tr><td class="lineno" valign="top"></td><td class="left">      gateway  10</td><td> </td><td class="right">      gateway  10</td><td class="lineno" valign="top"></td></tr>
    881966      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
    882       <tr><td><a name="diff0035" /></td></tr>
     967      <tr><td><a name="diff0039" /></td></tr>
    883968      <tr><td class="lineno" valign="top"></td><td class="lblock">         absolute-form  4<span class="delete">1</span></td><td> </td><td class="rblock">         absolute-form  4<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    884969      <tr><td class="lineno" valign="top"></td><td class="left">         absolute-path  16</td><td> </td><td class="right">         absolute-path  16</td><td class="lineno" valign="top"></td></tr>
    885970      <tr><td class="lineno" valign="top"></td><td class="left">         absolute-URI  16</td><td> </td><td class="right">         absolute-URI  16</td><td class="lineno" valign="top"></td></tr>
    886971      <tr><td class="lineno" valign="top"></td><td class="left">         ALPHA  6</td><td> </td><td class="right">         ALPHA  6</td><td class="lineno" valign="top"></td></tr>
    887       <tr><td><a name="diff0036" /></td></tr>
     972      <tr><td><a name="diff0040" /></td></tr>
    888973      <tr><td class="lineno" valign="top"></td><td class="lblock">         asterisk-form  41<span class="delete">-42</span></td><td> </td><td class="rblock">         asterisk-form  41<span class="insert">, 43</span></td><td class="lineno" valign="top"></td></tr>
    889974      <tr><td class="lineno" valign="top"></td><td class="left">         authority  16</td><td> </td><td class="right">         authority  16</td><td class="lineno" valign="top"></td></tr>
    890       <tr><td><a name="diff0037" /></td></tr>
     975      <tr><td><a name="diff0041" /></td></tr>
    891976      <tr><td class="lineno" valign="top"></td><td class="lblock">         authority-form  <span class="delete">41-42</span></td><td> </td><td class="rblock">         authority-form  <span class="insert">42-43</span></td><td class="lineno" valign="top"></td></tr>
    892977      <tr><td class="lineno" valign="top"></td><td class="lblock">         BWS  <span class="delete">24</span></td><td> </td><td class="rblock">         BWS  <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
     
    896981      <tr><td class="lineno" valign="top"></td><td class="left">         chunk-ext-name  36</td><td> </td><td class="right">         chunk-ext-name  36</td><td class="lineno" valign="top"></td></tr>
    897982      <tr><td class="lineno" valign="top"></td><td class="left">         chunk-ext-val  36</td><td> </td><td class="right">         chunk-ext-val  36</td><td class="lineno" valign="top"></td></tr>
    898       <tr><td><a name="diff0038" /></td></tr>
     983      <tr><td><a name="diff0042" /></td></tr>
    899984      <tr><td class="lineno" valign="top"></td><td class="lblock">         chunk-size  <span class="delete">35</span></td><td> </td><td class="rblock">         chunk-size  <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr>
    900985      <tr><td class="lineno" valign="top"></td><td class="lblock">         chunked-body  <span class="delete">35-36</span></td><td> </td><td class="rblock">         chunked-body  <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr>
    901986      <tr><td class="lineno" valign="top"></td><td class="left">         comment  27</td><td> </td><td class="right">         comment  27</td><td class="lineno" valign="top"></td></tr>
    902       <tr><td><a name="diff0039" /></td></tr>
     987      <tr><td><a name="diff0043" /></td></tr>
    903988      <tr><td class="lineno" valign="top"></td><td class="lblock">         Connection  <span class="delete">50</span></td><td> </td><td class="rblock">         Connection  <span class="insert">51</span></td><td class="lineno" valign="top"></td></tr>
    904989      <tr><td class="lineno" valign="top"></td><td class="lblock">         connection-option  <span class="delete">50</span></td><td> </td><td class="rblock">         connection-option  <span class="insert">51</span></td><td class="lineno" valign="top"></td></tr>
     
    910995      <tr><td class="lineno" valign="top"></td><td class="left">         DIGIT  6</td><td> </td><td class="right">         DIGIT  6</td><td class="lineno" valign="top"></td></tr>
    911996      <tr><td class="lineno" valign="top"></td><td class="left">         DQUOTE  6</td><td> </td><td class="right">         DQUOTE  6</td><td class="lineno" valign="top"></td></tr>
    912       <tr><td><a name="diff0040" /></td></tr>
     997      <tr><td><a name="diff0044" /></td></tr>
    913998      <tr><td class="lineno" valign="top"></td><td class="lblock">         field-content  <span class="delete">22</span></td><td> </td><td class="rblock">         field-content  <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
    914999      <tr><td class="lineno" valign="top"></td><td class="lblock">         field-name  <span class="delete">22, 39</span></td><td> </td><td class="rblock">         field-name  <span class="insert">23, 40</span></td><td class="lineno" valign="top"></td></tr>
     
    9161001      <tr><td class="lineno" valign="top"></td><td class="lblock">         field-vchar  <span class="delete">22</span></td><td> </td><td class="rblock">         field-vchar  <span class="insert">23</span></td><td class="lineno" valign="top"></td></tr>
    9171002      <tr><td class="lineno" valign="top"></td><td class="left">         fragment  16</td><td> </td><td class="right">         fragment  16</td><td class="lineno" valign="top"></td></tr>
    918       <tr><td><a name="diff0041" /></td></tr>
     1003      <tr><td><a name="diff0045" /></td></tr>
    9191004      <tr><td class="lineno" valign="top"></td><td class="lblock">         header-field  2<span class="delete">2, 36</span></td><td> </td><td class="rblock">         header-field  2<span class="insert">3, 37</span></td><td class="lineno" valign="top"></td></tr>
    9201005      <tr><td class="lineno" valign="top"></td><td class="left">         HEXDIG  6</td><td> </td><td class="right">         HEXDIG  6</td><td class="lineno" valign="top"></td></tr>
    921       <tr><td><a name="diff0042" /></td></tr>
     1006      <tr><td><a name="diff0046" /></td></tr>
    9221007      <tr><td class="lineno" valign="top"></td><td class="lblock">         Host  4<span class="delete">3</span></td><td> </td><td class="rblock">         Host  4<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
    9231008      <tr><td class="lineno" valign="top"></td><td class="left">         HTAB  6</td><td> </td><td class="right">         HTAB  6</td><td class="lineno" valign="top"></td></tr>
    9241009      <tr><td class="lineno" valign="top"></td><td class="left">         HTTP-message  19</td><td> </td><td class="right">         HTTP-message  19</td><td class="lineno" valign="top"></td></tr>
    925       <tr><td><a name="diff0043" /></td></tr>
     1010      <tr><td><a name="diff0047" /></td></tr>
    9261011      <tr><td class="lineno" valign="top"></td><td class="lblock">         HTTP-name  <span class="delete">13</span></td><td> </td><td class="rblock">         HTTP-name  <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
    9271012      <tr><td class="lineno" valign="top"></td><td class="lblock">         http-URI  <span class="delete">16</span></td><td> </td><td class="rblock">         http-URI  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
    9281013      <tr><td class="lineno" valign="top"></td><td class="lblock">         HTTP-version  <span class="delete">13</span></td><td> </td><td class="rblock">         HTTP-version  <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
    9291014      <tr><td class="lineno" valign="top"></td><td class="left">         https-URI  18</td><td> </td><td class="right">         https-URI  18</td><td class="lineno" valign="top"></td></tr>
    930       <tr><td><a name="diff0044" /></td></tr>
     1015      <tr><td><a name="diff0048" /></td></tr>
    9311016      <tr><td class="lineno" valign="top"></td><td class="lblock">         last-chunk  3<span class="delete">5</span></td><td> </td><td class="rblock">         last-chunk  3<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
    9321017      <tr><td class="lineno" valign="top"></td><td class="left">         LF  6</td><td> </td><td class="right">         LF  6</td><td class="lineno" valign="top"></td></tr>
    933       <tr><td><a name="diff0045" /></td></tr>
     1018      <tr><td><a name="diff0049" /></td></tr>
    9341019      <tr><td class="lineno" valign="top"></td><td class="lblock">         message-body  2<span class="delete">7</span></td><td> </td><td class="rblock">         message-body  2<span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
    9351020      <tr><td class="lineno" valign="top"></td><td class="left">         method  21</td><td> </td><td class="right">         method  21</td><td class="lineno" valign="top"></td></tr>
    936       <tr><td><a name="diff0046" /></td></tr>
     1021      <tr><td><a name="diff0050" /></td></tr>
    9371022      <tr><td class="lineno" valign="top"></td><td class="lblock">         obs-fold  2<span class="delete">2</span></td><td> </td><td class="rblock">         obs-fold  2<span class="insert">3</span></td><td class="lineno" valign="top"></td></tr>
    9381023      <tr><td class="lineno" valign="top"></td><td class="left">         obs-text  27</td><td> </td><td class="right">         obs-text  27</td><td class="lineno" valign="top"></td></tr>
    9391024      <tr><td class="lineno" valign="top"></td><td class="left">         OCTET  6</td><td> </td><td class="right">         OCTET  6</td><td class="lineno" valign="top"></td></tr>
    940       <tr><td><a name="diff0047" /></td></tr>
     1025      <tr><td><a name="diff0051" /></td></tr>
    9411026      <tr><td class="lineno" valign="top"></td><td class="lblock">         origin-form  <span class="delete">41</span></td><td> </td><td class="rblock">         origin-form  <span class="insert">42</span></td><td class="lineno" valign="top"></td></tr>
    9421027      <tr><td class="lineno" valign="top"></td><td class="lblock">         OWS  <span class="delete">24</span></td><td> </td><td class="rblock">         OWS  <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
     
    9501035      <tr><td class="lineno" valign="top"></td><td class="left">         quoted-pair  27</td><td> </td><td class="right">         quoted-pair  27</td><td class="lineno" valign="top"></td></tr>
    9511036      <tr><td class="lineno" valign="top"></td><td class="left">         quoted-string  27</td><td> </td><td class="right">         quoted-string  27</td><td class="lineno" valign="top"></td></tr>
    952       <tr><td><a name="diff0048" /></td></tr>
     1037      <tr><td><a name="diff0052" /></td></tr>
    9531038      <tr><td class="lineno" valign="top"></td><td class="lblock">         rank  3<span class="delete">8</span></td><td> </td><td class="rblock">         rank  3<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    9541039      <tr><td class="lineno" valign="top"></td><td class="left">         reason-phrase  22</td><td> </td><td class="right">         reason-phrase  22</td><td class="lineno" valign="top"></td></tr>
     
    9571042      <tr><td class="lineno" valign="top"></td><td class="left">         request-line  21</td><td> </td><td class="right">         request-line  21</td><td class="lineno" valign="top"></td></tr>
    9581043      <tr><td class="lineno" valign="top"></td><td class="left">         request-target  41</td><td> </td><td class="right">         request-target  41</td><td class="lineno" valign="top"></td></tr>
    959       <tr><td><a name="diff0049" /></td></tr>
     1044      <tr><td><a name="diff0053" /></td></tr>
    9601045      <tr><td class="lineno" valign="top"></td><td class="lblock">         RWS  2<span class="delete">4</span></td><td> </td><td class="rblock">         RWS  2<span class="insert">5</span></td><td class="lineno" valign="top"></td></tr>
    9611046      <tr><td class="lineno" valign="top"></td><td class="left">         scheme  16</td><td> </td><td class="right">         scheme  16</td><td class="lineno" valign="top"></td></tr>
    9621047      <tr><td class="lineno" valign="top"></td><td class="left">         segment  16</td><td> </td><td class="right">         segment  16</td><td class="lineno" valign="top"></td></tr>
    9631048      <tr><td class="lineno" valign="top"></td><td class="left">         SP  6</td><td> </td><td class="right">         SP  6</td><td class="lineno" valign="top"></td></tr>
    964       <tr><td><a name="diff0050" /></td></tr>
     1049      <tr><td><a name="diff0054" /></td></tr>
    9651050      <tr><td class="lineno" valign="top"></td><td class="lblock">         start-line  2<span class="delete">0</span></td><td> </td><td class="rblock">         start-line  2<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
    9661051      <tr><td class="lineno" valign="top"></td><td class="left">         status-code  22</td><td> </td><td class="right">         status-code  22</td><td class="lineno" valign="top"></td></tr>
    9671052      <tr><td class="lineno" valign="top"></td><td class="left">         status-line  22</td><td> </td><td class="right">         status-line  22</td><td class="lineno" valign="top"></td></tr>
    968       <tr><td><a name="diff0051" /></td></tr>
     1053      <tr><td><a name="diff0055" /></td></tr>
    9691054      <tr><td class="lineno" valign="top"></td><td class="lblock">         t-codings  <span class="delete">38</span></td><td> </td><td class="rblock">         t-codings  <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr>
    9701055      <tr><td class="lineno" valign="top"></td><td class="lblock">         t-ranking  <span class="delete">38</span></td><td> </td><td class="rblock">         t-ranking  <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr>
     
    9781063      <tr><td class="lineno" valign="top"></td><td class="left">         transfer-extension  35</td><td> </td><td class="right">         transfer-extension  35</td><td class="lineno" valign="top"></td></tr>
    9791064      <tr><td class="lineno" valign="top"></td><td class="left">         transfer-parameter  35</td><td> </td><td class="right">         transfer-parameter  35</td><td class="lineno" valign="top"></td></tr>
    980       <tr><td><a name="diff0052" /></td></tr>
     1065      <tr><td><a name="diff0056" /></td></tr>
    9811066      <tr><td class="lineno" valign="top"></td><td class="lblock">         Upgrade  5<span class="delete">6</span></td><td> </td><td class="rblock">         Upgrade  5<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    9821067      <tr><td class="lineno" valign="top"></td><td class="left">         uri-host  16</td><td> </td><td class="right">         uri-host  16</td><td class="lineno" valign="top"></td></tr>
     
    9841069      <tr><td class="lineno" valign="top"></td><td class="left">         VCHAR  6</td><td> </td><td class="right">         VCHAR  6</td><td class="lineno" valign="top"></td></tr>
    9851070      <tr><td class="lineno" valign="top"></td><td class="left">         Via  47</td><td> </td><td class="right">         Via  47</td><td class="lineno" valign="top"></td></tr>
    986       <tr><td><a name="diff0053" /></td></tr>
     1071      <tr><td><a name="diff0057" /></td></tr>
    9871072      <tr><td class="lineno" valign="top"></td><td class="lblock">      gzip (Coding Format)  3<span class="delete">8</span></td><td> </td><td class="rblock">      gzip (Coding Format)  3<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    9881073      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    9911076      <tr><td class="lineno" valign="top"></td><td class="left">      header section  19</td><td> </td><td class="right">      header section  19</td><td class="lineno" valign="top"></td></tr>
    9921077      <tr><td class="lineno" valign="top"></td><td class="left">      headers  19</td><td> </td><td class="right">      headers  19</td><td class="lineno" valign="top"></td></tr>
    993       <tr><td><a name="diff0054" /></td></tr>
     1078      <tr><td><a name="diff0058" /></td></tr>
    9941079      <tr><td class="lineno" valign="top"></td><td class="lblock">      Host header field  <span class="delete">43</span></td><td> </td><td class="rblock">      Host header field  <span class="insert">44</span></td><td class="lineno" valign="top"></td></tr>
    9951080      <tr><td class="lineno" valign="top"></td><td class="lblock">      http URI scheme  <span class="delete">16</span></td><td> </td><td class="rblock">      http URI scheme  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
     
    10031088      <tr><td class="lineno" valign="top"></td><td class="left">   M</td><td> </td><td class="right">   M</td><td class="lineno" valign="top"></td></tr>
    10041089      <tr><td class="lineno" valign="top"></td><td class="left">      Media Type</td><td> </td><td class="right">      Media Type</td><td class="lineno" valign="top"></td></tr>
    1005       <tr><td><a name="diff0055" /></td></tr>
     1090      <tr><td><a name="diff0059" /></td></tr>
    10061091      <tr><td class="lineno" valign="top"></td><td class="lblock">         application/http  <span class="delete">62</span></td><td> </td><td class="rblock">         application/http  <span class="insert">63</span></td><td class="lineno" valign="top"></td></tr>
    10071092      <tr><td class="lineno" valign="top"></td><td class="lblock">         message/http  <span class="delete">61</span></td><td> </td><td class="rblock">         message/http  <span class="insert">62</span></td><td class="lineno" valign="top"></td></tr>
    10081093      <tr><td class="lineno" valign="top"></td><td class="left">      message  7</td><td> </td><td class="right">      message  7</td><td class="lineno" valign="top"></td></tr>
    1009       <tr><td><a name="diff0056" /></td></tr>
     1094      <tr><td><a name="diff0060" /></td></tr>
    10101095      <tr><td class="lineno" valign="top"></td><td class="lblock">      message/http Media Type  6<span class="delete">1</span></td><td> </td><td class="rblock">      message/http Media Type  6<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    10111096      <tr><td class="lineno" valign="top"></td><td class="left">      method  21</td><td> </td><td class="right">      method  21</td><td class="lineno" valign="top"></td></tr>
    10121097      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    10131098      <tr><td class="lineno" valign="top"></td><td class="left">   N</td><td> </td><td class="right">   N</td><td class="lineno" valign="top"></td></tr>
    1014       <tr><td><a name="diff0057" /></td></tr>
     1099      <tr><td><a name="diff0061" /></td></tr>
    10151100      <tr><td class="lineno" valign="top"></td><td class="lblock">      non-transforming proxy  4<span class="delete">8</span></td><td> </td><td class="rblock">      non-transforming proxy  4<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    10161101      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    10171102      <tr><td class="lineno" valign="top"></td><td class="left">   O</td><td> </td><td class="right">   O</td><td class="lineno" valign="top"></td></tr>
    10181103      <tr><td class="lineno" valign="top"></td><td class="left">      origin server  7</td><td> </td><td class="right">      origin server  7</td><td class="lineno" valign="top"></td></tr>
    1019       <tr><td><a name="diff0058" /></td></tr>
     1104      <tr><td><a name="diff0062" /></td></tr>
    10201105      <tr><td class="lineno" valign="top"></td><td class="lblock">      origin-form (of request-target)  <span class="delete">41</span></td><td> </td><td class="rblock">      origin-form (of request-target)  <span class="insert">42</span></td><td class="lineno" valign="top"></td></tr>
    10211106      <tr><td class="lineno" valign="top"></td><td class="lblock">      outbound  <span class="delete">9</span></td><td> </td><td class="rblock">      outbound  <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
    10221107      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    10231108      <tr><td class="lineno" valign="top"></td><td class="left">   P</td><td> </td><td class="right">   P</td><td class="lineno" valign="top"></td></tr>
    1024       <tr><td><a name="diff0059" /></td></tr>
     1109      <tr><td><a name="diff0063" /></td></tr>
    10251110      <tr><td class="lineno" valign="top"></td><td class="lblock">      phishing  6<span class="delete">6</span></td><td> </td><td class="rblock">      phishing  6<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    10261111      <tr><td class="lineno" valign="top"></td><td class="left">      proxy  10</td><td> </td><td class="right">      proxy  10</td><td class="lineno" valign="top"></td></tr>
     
    10421127      <tr><td class="lineno" valign="top"></td><td class="left">      target resource  40</td><td> </td><td class="right">      target resource  40</td><td class="lineno" valign="top"></td></tr>
    10431128      <tr><td class="lineno" valign="top"></td><td class="left">      target URI  40</td><td> </td><td class="right">      target URI  40</td><td class="lineno" valign="top"></td></tr>
    1044       <tr><td><a name="diff0060" /></td></tr>
     1129      <tr><td><a name="diff0064" /></td></tr>
    10451130      <tr><td class="lineno" valign="top"></td><td class="lblock">      TE header field  <span class="delete">38</span></td><td> </td><td class="rblock">      TE header field  <span class="insert">39</span></td><td class="lineno" valign="top"></td></tr>
    10461131      <tr><td class="lineno" valign="top"></td><td class="lblock">      Trailer header field  <span class="delete">39</span></td><td> </td><td class="rblock">      Trailer header field  <span class="insert">40</span></td><td class="lineno" valign="top"></td></tr>
    10471132      <tr><td class="lineno" valign="top"></td><td class="left">      Transfer-Encoding header field  28</td><td> </td><td class="right">      Transfer-Encoding header field  28</td><td class="lineno" valign="top"></td></tr>
    1048       <tr><td><a name="diff0061" /></td></tr>
     1133      <tr><td><a name="diff0065" /></td></tr>
    10491134      <tr><td class="lineno" valign="top"></td><td class="lblock">      transforming proxy  4<span class="delete">8</span></td><td> </td><td class="rblock">      transforming proxy  4<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    10501135      <tr><td class="lineno" valign="top"></td><td class="left">      transparent proxy  11</td><td> </td><td class="right">      transparent proxy  11</td><td class="lineno" valign="top"></td></tr>
     
    10521137      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    10531138      <tr><td class="lineno" valign="top"></td><td class="left">   U</td><td> </td><td class="right">   U</td><td class="lineno" valign="top"></td></tr>
    1054       <tr><td><a name="diff0062" /></td></tr>
     1139      <tr><td><a name="diff0066" /></td></tr>
    10551140      <tr><td class="lineno" valign="top"></td><td class="lblock">      Upgrade header field  5<span class="delete">6</span></td><td> </td><td class="rblock">      Upgrade header field  5<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    10561141      <tr><td class="lineno" valign="top"></td><td class="left">      upstream  9</td><td> </td><td class="right">      upstream  9</td><td class="lineno" valign="top"></td></tr>
    10571142      <tr><td class="lineno" valign="top"></td><td class="left">      URI scheme</td><td> </td><td class="right">      URI scheme</td><td class="lineno" valign="top"></td></tr>
    1058       <tr><td><a name="diff0063" /></td></tr>
     1143      <tr><td><a name="diff0067" /></td></tr>
    10591144      <tr><td class="lineno" valign="top"></td><td class="lblock">         http  <span class="delete">16</span></td><td> </td><td class="rblock">         http  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
    10601145      <tr><td class="lineno" valign="top"></td><td class="lblock">         https  <span class="delete">18</span></td><td> </td><td class="rblock">         https  <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
     
    10621147      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    10631148      <tr><td class="lineno" valign="top"></td><td class="left">   V</td><td> </td><td class="right">   V</td><td class="lineno" valign="top"></td></tr>
    1064       <tr><td><a name="diff0064" /></td></tr>
     1149      <tr><td><a name="diff0068" /></td></tr>
    10651150      <tr><td class="lineno" valign="top"></td><td class="lblock">      Via header field  4<span class="delete">6</span></td><td> </td><td class="rblock">      Via header field  4<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    10661151      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    10761161
    10771162     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
    1078      <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 64 change blocks.&nbsp;</a></th></tr>
    1079      <tr class="stats"><td></td><th><i>260 lines changed or deleted</i></th><th><i> </i></th><th><i>248 lines changed or added</i></th><td></td></tr>
     1163     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 68 change blocks.&nbsp;</a></th></tr>
     1164     <tr class="stats"><td></td><th><i>273 lines changed or deleted</i></th><th><i> </i></th><th><i>262 lines changed or added</i></th><td></td></tr>
    10801165     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
    10811166   </table>
  • draft-ietf-httpbis/latest/auth48/rfc7230.txt

    r2712 r2718  
    16211621   message body.
    16221622
    1623    Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]), Transfer-
    1624    Encoding is a property of the message, not of the representation, and
    1625    any recipient along the request/response chain MAY decode the
    1626    received transfer coding(s) or apply additional transfer coding(s) to
    1627    the message body, assuming that corresponding changes are made to the
    1628    Transfer-Encoding field-value.  Additional information about the
    1629    encoding parameters can be provided by other header fields not
    1630    defined by this specification.
     1623   Unlike Content-Encoding (Section 3.1.2.1 of [RFC7231]),
     1624   Transfer-Encoding is a property of the message, not of the
     1625   representation, and any recipient along the request/response chain
     1626   MAY decode the received transfer coding(s) or apply additional
     1627   transfer coding(s) to the message body, assuming that corresponding
     1628   changes are made to the Transfer-Encoding field-value.  Additional
     1629   information about the encoding parameters can be provided by other
     1630   header fields not defined by this specification.
    16311631
    16321632   Transfer-Encoding MAY be sent in a response to a HEAD request or in a
     
    44874487   header field in any requests.
    44884488
    4489    Clients are also encouraged to consider the use of Connection: keep-
    4490    alive in requests carefully; while they can enable persistent
     4489   Clients are also encouraged to consider the use of Connection:
     4490   keep-alive in requests carefully; while they can enable persistent
    44914491   connections with HTTP/1.0 servers, clients using them will need to
    44924492   monitor the connection for "hung" requests (which indicate that the
     
    45814581
    45824582   The segment + query components of RFC 3986 have been used to define
    4583    the request-target, instead of abs_path from RFC 1808.  The asterisk-
    4584    form of the request-target is only allowed with the OPTIONS method.
    4585    (Section 5.3)
     4583   the request-target, instead of abs_path from RFC 1808.  The
     4584   asterisk-form of the request-target is only allowed with the OPTIONS
     4585   method.  (Section 5.3)
    45864586
    45874587   The term "Effective Request URI" has been introduced.  (Section 5.5)
  • draft-ietf-httpbis/latest/auth48/rfc7232.abdiff.txt

    r2710 r2718  
    3838    document authors.  All rights reserved.
    3939
     40
     41INTRODUCTION, paragraph 13:
     42OLD:
     43
     44    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     45      1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4
     46      1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4
     47    2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     48      2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5
     49      2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7
     50        2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7
     51        2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8
     52      2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     53        2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10
     54        2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10
     55        2.3.3.  Example: Entity-Tags Varying on Content-Negotiated
     56                Resources  . . . . . . . . . . . . . . . . . . . . . . 11
     57      2.4.  When to Use Entity-Tags and Last-Modified Dates  . . . . . 12
     58    3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13
     59      3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13
     60      3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14
     61      3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15
     62      3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16
     63      3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18
     64    4.  Status Code Definitions  . . . . . . . . . . . . . . . . . . . 18
     65      4.1.  304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18
     66      4.2.  412 Precondition Failed  . . . . . . . . . . . . . . . . . 18
     67    5.  Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
     68    6.  Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . 19
     69    7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
     70      7.1.  Status Code Registration . . . . . . . . . . . . . . . . . 21
     71      7.2.  Header Field Registration  . . . . . . . . . . . . . . . . 21
     72    8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 22
     73    9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22
     74    10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     75      10.1. Normative References . . . . . . . . . . . . . . . . . . . 23
     76      10.2. Informative References . . . . . . . . . . . . . . . . . . 23
     77    Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 23
     78    Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 24
     79    Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 24
     80    Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
     81
     82NEW:
     83
     84    1. Introduction ....................................................4
     85       1.1. Conformance and Error Handling .............................4
     86       1.2. Syntax Notation ............................................4
     87    2. Validators ......................................................5
     88       2.1. Weak versus Strong .........................................5
     89       2.2. Last-Modified ..............................................7
     90            2.2.1. Generation ..........................................7
     91            2.2.2. Comparison ..........................................8
     92       2.3. ETag .......................................................9
     93            2.3.1. Generation .........................................10
     94            2.3.2. Comparison .........................................10
     95            2.3.3. Example: Entity-Tags Varying on
     96                   Content-Negotiated Resources .......................11
     97       2.4. When to Use Entity-Tags and Last-Modified Dates ...........12
     98    3. Precondition Header Fields .....................................13
     99       3.1. If-Match ..................................................13
     100       3.2. If-None-Match .............................................14
     101       3.3. If-Modified-Since .........................................16
     102       3.4. If-Unmodified-Since .......................................17
     103       3.5. If-Range ..................................................18
     104    4. Status Code Definitions ........................................18
     105       4.1. 304 Not Modified ..........................................18
     106       4.2. 412 Precondition Failed ...................................19
     107    5. Evaluation .....................................................19
     108    6. Precedence .....................................................20
     109    7. IANA Considerations ............................................22
     110       7.1. Status Code Registration ..................................22
     111       7.2. Header Field Registration .................................22
     112    8. Security Considerations ........................................22
     113    9. Acknowledgments ................................................23
     114    10. References ....................................................24
     115       10.1. Normative References .....................................24
     116       10.2. Informative References ...................................24
     117    Appendix A. Changes from RFC 2616 .................................25
     118    Appendix B. Imported ABNF .........................................25
     119    Appendix C. Collected ABNF ........................................26
     120    Index .............................................................27
     121
     122
     123Section 1., paragraph 2:
     124OLD:
     125
     126    Conditional GET requests are the most efficient mechanism for HTTP
     127    cache updates [RFC7234].  Conditionals can also be applied to state-
     128    changing methods, such as PUT and DELETE, to prevent the "lost
     129    update" problem: one client accidentally overwriting the work of
     130    another client that has been acting in parallel.
     131
     132NEW:
     133
     134    Conditional GET requests are the most efficient mechanism for HTTP
     135    cache updates [RFC7234].  Conditionals can also be applied to
     136    state-changing methods, such as PUT and DELETE, to prevent the "lost
     137    update" problem: one client accidentally overwriting the work of
     138    another client that has been acting in parallel.
     139
     140
     141Section 2.2.2., paragraph 5:
     142OLD:
     143
     144    o  The validator is about to be used by a client in an If-Modified-
     145       Since, If-Unmodified-Since, or If-Range header field, because the
     146       client has a cache entry for the associated representation, and
     147
     148NEW:
     149
     150    o  The validator is about to be used by a client in an
     151       If-Modified-Since, If-Unmodified-Since, or If-Range header field,
     152       because the client has a cache entry for the associated
     153       representation, and
     154
     155
     156Section 2.2.2., paragraph 12:
     157OLD:
     158
     159    This method relies on the fact that if two different responses were
     160    sent by the origin server during the same second, but both had the
     161    same Last-Modified time, then at least one of those responses would
     162    have a Date value equal to its Last-Modified time.  The arbitrary 60-
     163    second limit guards against the possibility that the Date and Last-
     164    Modified values are generated from different clocks or at somewhat
     165    different times during the preparation of the response.  An
     166    implementation MAY use a value larger than 60 seconds, if it is
     167    believed that 60 seconds is too short.
     168
     169NEW:
     170
     171    This method relies on the fact that if two different responses were
     172    sent by the origin server during the same second, but both had the
     173    same Last-Modified time, then at least one of those responses would
     174    have a Date value equal to its Last-Modified time.  The arbitrary
     175    60-second limit guards against the possibility that the Date and
     176    Last-Modified values are generated from different clocks or at
     177    somewhat different times during the preparation of the response.  An
     178    implementation MAY use a value larger than 60 seconds, if it is
     179    believed that 60 seconds is too short.
     180
     181
     182Section 2.3.2., paragraph 3:
     183OLD:
     184
     185    o  Weak comparison: two entity-tags are equivalent if their opaque-
     186       tags match character-by-character, regardless of either or both
     187       being tagged as "weak".
     188
     189NEW:
     190
     191    o  Weak comparison: two entity-tags are equivalent if their
     192       opaque-tags match character-by-character, regardless of either or
     193       both being tagged as "weak".
     194
     195
     196Section 2.4., paragraph 8:
     197OLD:
     198
     199    o  SHOULD send the Last-Modified value in non-subrange cache
     200       validation requests (using If-Modified-Since) if only a Last-
     201       Modified value has been provided by the origin server.
     202
     203NEW:
     204
     205    o  SHOULD send the Last-Modified value in non-subrange cache
     206       validation requests (using If-Modified-Since) if only a
     207       Last-Modified value has been provided by the origin server.
     208
     209
     210Section 3.3., paragraph 5:
     211OLD:
     212
     213    A recipient MUST ignore If-Modified-Since if the request contains an
     214    If-None-Match header field; the condition in If-None-Match is
     215    considered to be a more accurate replacement for the condition in If-
     216    Modified-Since, and the two are only combined for the sake of
     217    interoperating with older intermediaries that might not implement If-
     218    None-Match.
     219
     220NEW:
     221
     222    A recipient MUST ignore If-Modified-Since if the request contains an
     223    If-None-Match header field; the condition in If-None-Match is
     224    considered to be a more accurate replacement for the condition in
     225    If-Modified-Since, and the two are only combined for the sake of
     226    interoperating with older intermediaries that might not implement
     227    If-None-Match.
     228
     229
     230Section 3.3., paragraph 9:
     231OLD:
     232
     233    When used for cache updates, a cache will typically use the value of
     234    the cached message's Last-Modified field to generate the field value
     235    of If-Modified-Since.  This behavior is most interoperable for cases
     236    where clocks are poorly synchronized or when the server has chosen to
     237    only honor exact timestamp matches (due to a problem with Last-
     238    Modified dates that appear to go "back in time" when the origin
     239    server's clock is corrected or a representation is restored from an
     240    archived backup).  However, caches occasionally generate the field
     241    value based on other data, such as the Date header field of the
     242    cached message or the local clock time that the message was received,
     243    particularly when the cached message does not contain a Last-Modified
     244    field.
     245
     246NEW:
     247
     248    When used for cache updates, a cache will typically use the value of
     249    the cached message's Last-Modified field to generate the field value
     250    of If-Modified-Since.  This behavior is most interoperable for cases
     251    where clocks are poorly synchronized or when the server has chosen to
     252    only honor exact timestamp matches (due to a problem with
     253    Last-Modified dates that appear to go "back in time" when the origin
     254    server's clock is corrected or a representation is restored from an
     255    archived backup).  However, caches occasionally generate the field
     256    value based on other data, such as the Date header field of the
     257    cached message or the local clock time that the message was received,
     258    particularly when the cached message does not contain a Last-Modified
     259    field.
     260
     261
     262Section 3.3., paragraph 10:
     263OLD:
     264
     265    When used for limiting the scope of retrieval to a recent time
     266    window, a user agent will generate an If-Modified-Since field value
     267    based on either its own local clock or a Date header field received
     268    from the server in a prior response.  Origin servers that choose an
     269    exact timestamp match based on the selected representation's Last-
     270    Modified field will not be able to help the user agent limit its data
     271    transfers to only those changed during the specified window.
     272
     273NEW:
     274
     275    When used for limiting the scope of retrieval to a recent time
     276    window, a user agent will generate an If-Modified-Since field value
     277    based on either its own local clock or a Date header field received
     278    from the server in a prior response.  Origin servers that choose an
     279    exact timestamp match based on the selected representation's
     280    Last-Modified field will not be able to help the user agent limit its
     281    data transfers to only those changed during the specified window.
     282
     283
     284Section 3.4., paragraph 5:
     285OLD:
     286
     287    A recipient MUST ignore If-Unmodified-Since if the request contains
     288    an If-Match header field; the condition in If-Match is considered to
     289    be a more accurate replacement for the condition in If-Unmodified-
     290    Since, and the two are only combined for the sake of interoperating
     291    with older intermediaries that might not implement If-Match.
     292
     293NEW:
     294
     295    A recipient MUST ignore If-Unmodified-Since if the request contains
     296    an If-Match header field; the condition in If-Match is considered to
     297    be a more accurate replacement for the condition in
     298    If-Unmodified-Since, and the two are only combined for the sake of
     299    interoperating with older intermediaries that might not implement
     300    If-Match.
     301
     302
     303Section 10.1., paragraph 0:
     304OLD:
     305
     306 10.  References
     307 10.1.  Normative References
     308
     309NEW:
     310
     311 10.  References
     312 
     313 10.1.  Normative References
     314
     315
     316Appendix A., paragraph 3:
     317OLD:
     318
     319    The ETag header field ABNF has been changed to not use quoted-string,
     320    thus avoiding escaping issues.  (Section 2.3)
     321    ETag is defined to provide an entity tag for the selected
     322    representation, thereby clarifying what it applies to in various
     323    situations (such as a PUT response).  (Section 2.3)
     324
     325NEW:
     326
     327    The ETag header field ABNF has been changed to not use quoted-string,
     328    thus avoiding escaping issues.  (Section 2.3)
     329 
     330    ETag is defined to provide an entity tag for the selected
     331    representation, thereby clarifying what it applies to in various
     332    situations (such as a PUT response).  (Section 2.3)
     333
     334
     335Section 1.2, paragraph 10:
     336OLD:
     337
     338    3
     339       304 Not Modified (status code)  18
     340
     341NEW:
     342
     343    3
     344       304 Not Modified (status code)  19
     345
     346
     347Section 1.2, paragraph 13:
     348OLD:
     349
     350    G
     351       Grammar
     352          entity-tag  9
     353          ETag  9
     354          etagc  9
     355          If-Match  13
     356          If-Modified-Since  15
     357          If-None-Match  14
     358          If-Unmodified-Since  16
     359          Last-Modified  7
     360          opaque-tag  9
     361          weak  9
     362
     363NEW:
     364
     365    G
     366       Grammar
     367          entity-tag  9
     368          ETag  9
     369          etagc  9
     370          If-Match  13
     371          If-Modified-Since  15
     372          If-None-Match  14
     373          If-Unmodified-Since  17
     374          Last-Modified  7
     375          opaque-tag  9
     376          weak  9
     377
     378
     379Section 1.2, paragraph 14:
     380OLD:
     381
     382    I
     383       If-Match header field  13
     384       If-Modified-Since header field  15
     385       If-None-Match header field  14
     386       If-Unmodified-Since header field  16
     387
     388NEW:
     389
     390    I
     391       If-Match header field  13
     392       If-Modified-Since header field  16
     393       If-None-Match header field  14
     394       If-Unmodified-Since header field  17
     395
  • draft-ietf-httpbis/latest/auth48/rfc7232.diff.html

    r2712 r2718  
    149149      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 3 of [RFC7231]) will be consistent over time if the server</td><td> </td><td class="right">   (Section 3 of [RFC7231]) will be consistent over time if the server</td><td class="lineno" valign="top"></td></tr>
    150150      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    151       <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 8, line 48</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 9, line 4</em></th><td></td></tr>
     151      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 8, line 24</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 8, line 28</em></th><td></td></tr>
     152      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     153      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is being compared by an origin server to the actual</td><td> </td><td class="right">   o  The validator is being compared by an origin server to the actual</td><td class="lineno" valign="top"></td></tr>
     154      <tr><td class="lineno" valign="top"></td><td class="left">      current validator for the representation and,</td><td> </td><td class="right">      current validator for the representation and,</td><td class="lineno" valign="top"></td></tr>
     155      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     156      <tr><td class="lineno" valign="top"></td><td class="left">   o  That origin server reliably knows that the associated</td><td> </td><td class="right">   o  That origin server reliably knows that the associated</td><td class="lineno" valign="top"></td></tr>
     157      <tr><td class="lineno" valign="top"></td><td class="left">      representation did not change twice during the second covered by</td><td> </td><td class="right">      representation did not change twice during the second covered by</td><td class="lineno" valign="top"></td></tr>
     158      <tr><td class="lineno" valign="top"></td><td class="left">      the presented validator.</td><td> </td><td class="right">      the presented validator.</td><td class="lineno" valign="top"></td></tr>
     159      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     160      <tr><td class="lineno" valign="top"></td><td class="left">   or</td><td> </td><td class="right">   or</td><td class="lineno" valign="top"></td></tr>
     161      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     162      <tr><td><a name="diff0004" /></td></tr>
     163      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  The validator is about to be used by a client in an <span class="delete">If-Modified-</span></td><td> </td><td class="rblock">   o  The validator is about to be used by a client in an</td><td class="lineno" valign="top"></td></tr>
     164      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Since,</span> If-Unmodified-Since, or If-Range header field, because the</td><td> </td><td class="rblock">      <span class="insert">If-Modified-Since,</span> If-Unmodified-Since, or If-Range header field,</td><td class="lineno" valign="top"></td></tr>
     165      <tr><td class="lineno" valign="top"></td><td class="lblock">      client has a cache entry for the associated representation, and</td><td> </td><td class="rblock">      because the client has a cache entry for the associated</td><td class="lineno" valign="top"></td></tr>
     166      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">      representation, and</td><td class="lineno" valign="top"></td></tr>
     167      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     168      <tr><td class="lineno" valign="top"></td><td class="left">   o  That cache entry includes a Date value, which gives the time when</td><td> </td><td class="right">   o  That cache entry includes a Date value, which gives the time when</td><td class="lineno" valign="top"></td></tr>
     169      <tr><td class="lineno" valign="top"></td><td class="left">      the origin server sent the original response, and</td><td> </td><td class="right">      the origin server sent the original response, and</td><td class="lineno" valign="top"></td></tr>
     170      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     171      <tr><td class="lineno" valign="top"></td><td class="left">   o  The presented Last-Modified time is at least 60 seconds before the</td><td> </td><td class="right">   o  The presented Last-Modified time is at least 60 seconds before the</td><td class="lineno" valign="top"></td></tr>
     172      <tr><td class="lineno" valign="top"></td><td class="left">      Date value.</td><td> </td><td class="right">      Date value.</td><td class="lineno" valign="top"></td></tr>
     173      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     174      <tr><td class="lineno" valign="top"></td><td class="left">   or</td><td> </td><td class="right">   or</td><td class="lineno" valign="top"></td></tr>
     175      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     176      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is being compared by an intermediate cache to the</td><td> </td><td class="right">   o  The validator is being compared by an intermediate cache to the</td><td class="lineno" valign="top"></td></tr>
     177      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     178      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 48</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 9, line 8</em></th><td></td></tr>
    152179      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    153180      <tr><td class="lineno" valign="top"></td><td class="left">   o  That cache entry includes a Date value, which gives the time when</td><td> </td><td class="right">   o  That cache entry includes a Date value, which gives the time when</td><td class="lineno" valign="top"></td></tr>
     
    160187      <tr><td class="lineno" valign="top"></td><td class="left">   sent by the origin server during the same second, but both had the</td><td> </td><td class="right">   sent by the origin server during the same second, but both had the</td><td class="lineno" valign="top"></td></tr>
    161188      <tr><td class="lineno" valign="top"></td><td class="left">   same Last-Modified time, then at least one of those responses would</td><td> </td><td class="right">   same Last-Modified time, then at least one of those responses would</td><td class="lineno" valign="top"></td></tr>
    162       <tr><td><a name="diff0004" /></td></tr>
     189      <tr><td><a name="diff0005" /></td></tr>
    163190      <tr><td class="lineno" valign="top"></td><td class="lblock">   have a Date value equal to its Last-Modified time.  The arbitrary <span class="delete">60-</span></td><td> </td><td class="rblock">   have a Date value equal to its Last-Modified time.  The arbitrary</td><td class="lineno" valign="top"></td></tr>
    164191      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   second</span> limit guards against the possibility that the Date and <span class="delete">Last-</span></td><td> </td><td class="rblock">   <span class="insert">60-second</span> limit guards against the possibility that the Date and</td><td class="lineno" valign="top"></td></tr>
     
    176203      <tr><td class="lineno" valign="top"></td><td class="left">   resource, regardless of whether those multiple representations are</td><td> </td><td class="right">   resource, regardless of whether those multiple representations are</td><td class="lineno" valign="top"></td></tr>
    177204      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    178       <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 12, line 37</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 13, line 6</em></th><td></td></tr>
     205      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 10, line 37</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 10, line 44</em></th><td></td></tr>
     206      <tr><td class="lineno" valign="top"></td><td class="left">   improving service scalability and reliability.</td><td> </td><td class="right">   improving service scalability and reliability.</td><td class="lineno" valign="top"></td></tr>
     207      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     208      <tr><td class="lineno" valign="top"></td><td class="left">2.3.2.  Comparison</td><td> </td><td class="right">2.3.2.  Comparison</td><td class="lineno" valign="top"></td></tr>
     209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     210      <tr><td class="lineno" valign="top"></td><td class="left">   There are two entity-tag comparison functions, depending on whether</td><td> </td><td class="right">   There are two entity-tag comparison functions, depending on whether</td><td class="lineno" valign="top"></td></tr>
     211      <tr><td class="lineno" valign="top"></td><td class="left">   or not the comparison context allows the use of weak validators:</td><td> </td><td class="right">   or not the comparison context allows the use of weak validators:</td><td class="lineno" valign="top"></td></tr>
     212      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     213      <tr><td class="lineno" valign="top"></td><td class="left">   o  Strong comparison: two entity-tags are equivalent if both are not</td><td> </td><td class="right">   o  Strong comparison: two entity-tags are equivalent if both are not</td><td class="lineno" valign="top"></td></tr>
     214      <tr><td class="lineno" valign="top"></td><td class="left">      weak and their opaque-tags match character-by-character.</td><td> </td><td class="right">      weak and their opaque-tags match character-by-character.</td><td class="lineno" valign="top"></td></tr>
     215      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     216      <tr><td><a name="diff0006" /></td></tr>
     217      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  Weak comparison: two entity-tags are equivalent if their <span class="delete">opaque-</span></td><td> </td><td class="rblock">   o  Weak comparison: two entity-tags are equivalent if their</td><td class="lineno" valign="top"></td></tr>
     218      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      tags</span> match character-by-character, regardless of either or both</td><td> </td><td class="rblock">      <span class="insert">opaque-tags</span> match character-by-character, regardless of either or</td><td class="lineno" valign="top"></td></tr>
     219      <tr><td class="lineno" valign="top"></td><td class="lblock">      being tagged as "weak".</td><td> </td><td class="rblock">      both being tagged as "weak".</td><td class="lineno" valign="top"></td></tr>
     220      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     221      <tr><td class="lineno" valign="top"></td><td class="left">   The example below shows the results for a set of entity-tag pairs and</td><td> </td><td class="right">   The example below shows the results for a set of entity-tag pairs and</td><td class="lineno" valign="top"></td></tr>
     222      <tr><td class="lineno" valign="top"></td><td class="left">   both the weak and strong comparison function results:</td><td> </td><td class="right">   both the weak and strong comparison function results:</td><td class="lineno" valign="top"></td></tr>
     223      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     224      <tr><td class="lineno" valign="top"></td><td class="left">   +--------+--------+-------------------+-----------------+</td><td> </td><td class="right">   +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr>
     225      <tr><td class="lineno" valign="top"></td><td class="left">   | ETag 1 | ETag 2 | Strong Comparison | Weak Comparison |</td><td> </td><td class="right">   | ETag 1 | ETag 2 | Strong Comparison | Weak Comparison |</td><td class="lineno" valign="top"></td></tr>
     226      <tr><td class="lineno" valign="top"></td><td class="left">   +--------+--------+-------------------+-----------------+</td><td> </td><td class="right">   +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr>
     227      <tr><td class="lineno" valign="top"></td><td class="left">   | W/"1"  | W/"1"  | no match          | match           |</td><td> </td><td class="right">   | W/"1"  | W/"1"  | no match          | match           |</td><td class="lineno" valign="top"></td></tr>
     228      <tr><td class="lineno" valign="top"></td><td class="left">   | W/"1"  | W/"2"  | no match          | no match        |</td><td> </td><td class="right">   | W/"1"  | W/"2"  | no match          | no match        |</td><td class="lineno" valign="top"></td></tr>
     229      <tr><td class="lineno" valign="top"></td><td class="left">   | W/"1"  | "1"    | no match          | match           |</td><td> </td><td class="right">   | W/"1"  | "1"    | no match          | match           |</td><td class="lineno" valign="top"></td></tr>
     230      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     231      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 12, line 37</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 13, line 6</em></th><td></td></tr>
    179232      <tr><td class="lineno" valign="top"></td><td class="left">   send both a strong entity-tag and a Last-Modified value in successful</td><td> </td><td class="right">   send both a strong entity-tag and a Last-Modified value in successful</td><td class="lineno" valign="top"></td></tr>
    180233      <tr><td class="lineno" valign="top"></td><td class="left">   responses to a retrieval request.</td><td> </td><td class="right">   responses to a retrieval request.</td><td class="lineno" valign="top"></td></tr>
     
    187240      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    188241      <tr><td class="lineno" valign="top"></td><td class="left">   o  SHOULD send the Last-Modified value in non-subrange cache</td><td> </td><td class="right">   o  SHOULD send the Last-Modified value in non-subrange cache</td><td class="lineno" valign="top"></td></tr>
    189       <tr><td><a name="diff0005" /></td></tr>
     242      <tr><td><a name="diff0007" /></td></tr>
    190243      <tr><td class="lineno" valign="top"></td><td class="lblock">      validation requests (using If-Modified-Since) if only a <span class="delete">Last-</span></td><td> </td><td class="rblock">      validation requests (using If-Modified-Since) if only a</td><td class="lineno" valign="top"></td></tr>
    191244      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Modified</span> value has been provided by the origin server.</td><td> </td><td class="rblock">      <span class="insert">Last-Modified</span> value has been provided by the origin server.</td><td class="lineno" valign="top"></td></tr>
     
    201254      <tr><td class="lineno" valign="top"></td><td class="left">      respond appropriately.</td><td> </td><td class="right">      respond appropriately.</td><td class="lineno" valign="top"></td></tr>
    202255      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    203       <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 15, line 42</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 16, line 21</em></th><td></td></tr>
     256      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 15, line 42</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 16, line 21</em></th><td></td></tr>
    204257      <tr><td class="lineno" valign="top"></td><td class="left">   data has not changed.</td><td> </td><td class="right">   data has not changed.</td><td class="lineno" valign="top"></td></tr>
    205258      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    212265      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore If-Modified-Since if the request contains an</td><td> </td><td class="right">   A recipient MUST ignore If-Modified-Since if the request contains an</td><td class="lineno" valign="top"></td></tr>
    213266      <tr><td class="lineno" valign="top"></td><td class="left">   If-None-Match header field; the condition in If-None-Match is</td><td> </td><td class="right">   If-None-Match header field; the condition in If-None-Match is</td><td class="lineno" valign="top"></td></tr>
    214       <tr><td><a name="diff0006" /></td></tr>
     267      <tr><td><a name="diff0008" /></td></tr>
    215268      <tr><td class="lineno" valign="top"></td><td class="lblock">   considered to be a more accurate replacement for the condition in <span class="delete">If-</span></td><td> </td><td class="rblock">   considered to be a more accurate replacement for the condition in</td><td class="lineno" valign="top"></td></tr>
    216269      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified-Since,</span> and the two are only combined for the sake of</td><td> </td><td class="rblock">   <span class="insert">If-Modified-Since,</span> and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr>
     
    234287      <tr><td class="lineno" valign="top"></td><td class="left">   of If-Modified-Since.  This behavior is most interoperable for cases</td><td> </td><td class="right">   of If-Modified-Since.  This behavior is most interoperable for cases</td><td class="lineno" valign="top"></td></tr>
    235288      <tr><td class="lineno" valign="top"></td><td class="left">   where clocks are poorly synchronized or when the server has chosen to</td><td> </td><td class="right">   where clocks are poorly synchronized or when the server has chosen to</td><td class="lineno" valign="top"></td></tr>
    236       <tr><td><a name="diff0007" /></td></tr>
     289      <tr><td><a name="diff0009" /></td></tr>
    237290      <tr><td class="lineno" valign="top"></td><td class="lblock">   only honor exact timestamp matches (due to a problem with <span class="delete">Last-</span></td><td> </td><td class="rblock">   only honor exact timestamp matches (due to a problem with</td><td class="lineno" valign="top"></td></tr>
    238291      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified</span> dates that appear to go "back in time" when the origin</td><td> </td><td class="rblock">   <span class="insert">Last-Modified</span> dates that appear to go "back in time" when the origin</td><td class="lineno" valign="top"></td></tr>
     
    248301      <tr><td class="lineno" valign="top"></td><td class="left">   based on either its own local clock or a Date header field received</td><td> </td><td class="right">   based on either its own local clock or a Date header field received</td><td class="lineno" valign="top"></td></tr>
    249302      <tr><td class="lineno" valign="top"></td><td class="left">   from the server in a prior response.  Origin servers that choose an</td><td> </td><td class="right">   from the server in a prior response.  Origin servers that choose an</td><td class="lineno" valign="top"></td></tr>
    250       <tr><td><a name="diff0008" /></td></tr>
     303      <tr><td><a name="diff0010" /></td></tr>
    251304      <tr><td class="lineno" valign="top"></td><td class="lblock">   exact timestamp match based on the selected representation's <span class="delete">Last-</span></td><td> </td><td class="rblock">   exact timestamp match based on the selected representation's</td><td class="lineno" valign="top"></td></tr>
    252305      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified</span> field will not be able to help the user agent limit its data</td><td> </td><td class="rblock">   <span class="insert">Last-Modified</span> field will not be able to help the user agent limit its</td><td class="lineno" valign="top"></td></tr>
     
    263316      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    264317      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    265       <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 17, line 13</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 17, line 41</em></th><td></td></tr>
     318      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 17, line 13</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 41</em></th><td></td></tr>
    266319      <tr><td class="lineno" valign="top"></td><td class="left">   the user agent does not have an entity-tag for the representation.</td><td> </td><td class="right">   the user agent does not have an entity-tag for the representation.</td><td class="lineno" valign="top"></td></tr>
    267320      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    274327      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore If-Unmodified-Since if the request contains</td><td> </td><td class="right">   A recipient MUST ignore If-Unmodified-Since if the request contains</td><td class="lineno" valign="top"></td></tr>
    275328      <tr><td class="lineno" valign="top"></td><td class="left">   an If-Match header field; the condition in If-Match is considered to</td><td> </td><td class="right">   an If-Match header field; the condition in If-Match is considered to</td><td class="lineno" valign="top"></td></tr>
    276       <tr><td><a name="diff0009" /></td></tr>
     329      <tr><td><a name="diff0011" /></td></tr>
    277330      <tr><td class="lineno" valign="top"></td><td class="lblock">   be a more accurate replacement for the condition in <span class="delete">If-Unmodified-</span></td><td> </td><td class="rblock">   be a more accurate replacement for the condition in</td><td class="lineno" valign="top"></td></tr>
    278331      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Since,</span> and the two are only combined for the sake of interoperating</td><td> </td><td class="rblock">   <span class="insert">If-Unmodified-Since,</span> and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr>
     
    290343      <tr><td class="lineno" valign="top"></td><td class="left">   multiple user agents might be acting in parallel on a resource that</td><td> </td><td class="right">   multiple user agents might be acting in parallel on a resource that</td><td class="lineno" valign="top"></td></tr>
    291344      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    292       <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 25, line 32</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 27, line 8</em></th><td></td></tr>
     345      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 25, line 32</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 27, line 8</em></th><td></td></tr>
    293346      <tr><td class="lineno" valign="top"></td><td class="left">    / obs-text</td><td> </td><td class="right">    / obs-text</td><td class="lineno" valign="top"></td></tr>
    294347      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    301354      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    302355      <tr><td class="lineno" valign="top"></td><td class="left">   3</td><td> </td><td class="right">   3</td><td class="lineno" valign="top"></td></tr>
    303       <tr><td><a name="diff0010" /></td></tr>
     356      <tr><td><a name="diff0012" /></td></tr>
    304357      <tr><td class="lineno" valign="top"></td><td class="lblock">      304 Not Modified (status code)  1<span class="delete">8</span></td><td> </td><td class="rblock">      304 Not Modified (status code)  1<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    305358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    318371      <tr><td class="lineno" valign="top"></td><td class="left">         If-Modified-Since  15</td><td> </td><td class="right">         If-Modified-Since  15</td><td class="lineno" valign="top"></td></tr>
    319372      <tr><td class="lineno" valign="top"></td><td class="left">         If-None-Match  14</td><td> </td><td class="right">         If-None-Match  14</td><td class="lineno" valign="top"></td></tr>
    320       <tr><td><a name="diff0011" /></td></tr>
     373      <tr><td><a name="diff0013" /></td></tr>
    321374      <tr><td class="lineno" valign="top"></td><td class="lblock">         If-Unmodified-Since  1<span class="delete">6</span></td><td> </td><td class="rblock">         If-Unmodified-Since  1<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    322375      <tr><td class="lineno" valign="top"></td><td class="left">         Last-Modified  7</td><td> </td><td class="right">         Last-Modified  7</td><td class="lineno" valign="top"></td></tr>
     
    326379      <tr><td class="lineno" valign="top"></td><td class="left">   I</td><td> </td><td class="right">   I</td><td class="lineno" valign="top"></td></tr>
    327380      <tr><td class="lineno" valign="top"></td><td class="left">      If-Match header field  13</td><td> </td><td class="right">      If-Match header field  13</td><td class="lineno" valign="top"></td></tr>
    328       <tr><td><a name="diff0012" /></td></tr>
     381      <tr><td><a name="diff0014" /></td></tr>
    329382      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Modified-Since header field  1<span class="delete">5</span></td><td> </td><td class="rblock">      If-Modified-Since header field  1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
    330383      <tr><td class="lineno" valign="top"></td><td class="left">      If-None-Match header field  14</td><td> </td><td class="right">      If-None-Match header field  14</td><td class="lineno" valign="top"></td></tr>
    331       <tr><td><a name="diff0013" /></td></tr>
     384      <tr><td><a name="diff0015" /></td></tr>
    332385      <tr><td class="lineno" valign="top"></td><td class="lblock">      If-Unmodified-Since header field  1<span class="delete">6</span></td><td> </td><td class="rblock">      If-Unmodified-Since header field  1<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    333386      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    343396
    344397     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
    345      <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 13 change blocks.&nbsp;</a></th></tr>
    346      <tr class="stats"><td></td><th><i>75 lines changed or deleted</i></th><th><i> </i></th><th><i>62 lines changed or added</i></th><td></td></tr>
     398     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 15 change blocks.&nbsp;</a></th></tr>
     399     <tr class="stats"><td></td><th><i>81 lines changed or deleted</i></th><th><i> </i></th><th><i>69 lines changed or added</i></th><td></td></tr>
    347400     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
    348401   </table>
  • draft-ietf-httpbis/latest/auth48/rfc7232.txt

    r2712 r2718  
    428428   or
    429429
    430    o  The validator is about to be used by a client in an If-Modified-
    431       Since, If-Unmodified-Since, or If-Range header field, because the
    432       client has a cache entry for the associated representation, and
     430   o  The validator is about to be used by a client in an
     431      If-Modified-Since, If-Unmodified-Since, or If-Range header field,
     432      because the client has a cache entry for the associated
     433      representation, and
    433434
    434435   o  That cache entry includes a Date value, which gives the time when
     
    448449   o  The presented Last-Modified time is at least 60 seconds before the
    449450      Date value.
     451
     452
     453
     454
     455
     456
     457Fielding & Reschke           Standards Track                    [Page 8]
     458
     459
     460RFC 7232              HTTP/1.1 Conditional Requests            June 2014
     461
    450462
    451463   This method relies on the fact that if two different responses were
    452464   sent by the origin server during the same second, but both had the
    453465   same Last-Modified time, then at least one of those responses would
    454 
    455 
    456 
    457 Fielding & Reschke           Standards Track                    [Page 8]
    458 
    459 
    460 RFC 7232              HTTP/1.1 Conditional Requests            June 2014
    461 
    462 
    463466   have a Date value equal to its Last-Modified time.  The arbitrary
    464467   60-second limit guards against the possibility that the Date and
     
    505508     ETag: ""
    506509
     510
     511
     512
     513
     514Fielding & Reschke           Standards Track                    [Page 9]
     515
     516
     517RFC 7232              HTTP/1.1 Conditional Requests            June 2014
     518
     519
    507520   An entity-tag can be either a weak or strong validator, with strong
    508521   being the default.  If an origin server provides an entity-tag for a
    509522   representation and the generation of that entity-tag does not satisfy
    510 
    511 
    512 
    513 
    514 Fielding & Reschke           Standards Track                    [Page 9]
    515 
    516 
    517 RFC 7232              HTTP/1.1 Conditional Requests            June 2014
    518 
    519 
    520523   all of the characteristics of a strong validator (Section 2.1), then
    521524   the origin server MUST mark the entity-tag as weak by prefixing its
     
    554557      weak and their opaque-tags match character-by-character.
    555558
    556    o  Weak comparison: two entity-tags are equivalent if their opaque-
    557       tags match character-by-character, regardless of either or both
    558       being tagged as "weak".
    559 
    560 
    561 
     559   o  Weak comparison: two entity-tags are equivalent if their
     560      opaque-tags match character-by-character, regardless of either or
     561      both being tagged as "weak".
    562562
    563563
  • draft-ietf-httpbis/latest/auth48/rfc7234.abdiff.txt

    r2711 r2718  
    3838    document authors.  All rights reserved.
    3939
     40
     41INTRODUCTION, paragraph 13:
     42OLD:
     43
     44    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     45      1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4
     46      1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4
     47        1.2.1.  Delta Seconds  . . . . . . . . . . . . . . . . . . . .  5
     48    2.  Overview of Cache Operation  . . . . . . . . . . . . . . . . .  5
     49    3.  Storing Responses in Caches  . . . . . . . . . . . . . . . . .  6
     50      3.1.  Storing Incomplete Responses . . . . . . . . . . . . . . .  7
     51      3.2.  Storing Responses to Authenticated Requests  . . . . . . .  7
     52      3.3.  Combining Partial Content  . . . . . . . . . . . . . . . .  8
     53    4.  Constructing Responses from Caches . . . . . . . . . . . . . .  8
     54      4.1.  Calculating Secondary Keys with Vary . . . . . . . . . . .  9
     55      4.2.  Freshness  . . . . . . . . . . . . . . . . . . . . . . . . 10
     56        4.2.1.  Calculating Freshness Lifetime . . . . . . . . . . . . 12
     57        4.2.2.  Calculating Heuristic Freshness  . . . . . . . . . . . 12
     58        4.2.3.  Calculating Age  . . . . . . . . . . . . . . . . . . . 13
     59        4.2.4.  Serving Stale Responses  . . . . . . . . . . . . . . . 15
     60      4.3.  Validation . . . . . . . . . . . . . . . . . . . . . . . . 15
     61        4.3.1.  Sending a Validation Request . . . . . . . . . . . . . 15
     62        4.3.2.  Handling a Received Validation Request . . . . . . . . 16
     63        4.3.3.  Handling a Validation Response . . . . . . . . . . . . 17
     64        4.3.4.  Freshening Stored Responses upon Validation  . . . . . 18
     65        4.3.5.  Freshening Responses via HEAD  . . . . . . . . . . . . 19
     66      4.4.  Invalidation . . . . . . . . . . . . . . . . . . . . . . . 19
     67    5.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 20
     68      5.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
     69      5.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 21
     70        5.2.1.  Request Cache-Control Directives . . . . . . . . . . . 21
     71        5.2.2.  Response Cache-Control Directives  . . . . . . . . . . 23
     72        5.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . 26
     73      5.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . 27
     74      5.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28
     75      5.5.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . 29
     76        5.5.1.  Warning: 110 - "Response is Stale" . . . . . . . . . . 30
     77        5.5.2.  Warning: 111 - "Revalidation Failed" . . . . . . . . . 31
     78        5.5.3.  Warning: 112 - "Disconnected Operation"  . . . . . . . 31
     79        5.5.4.  Warning: 113 - "Heuristic Expiration"  . . . . . . . . 31
     80        5.5.5.  Warning: 199 - "Miscellaneous Warning" . . . . . . . . 31
     81        5.5.6.  Warning: 214 - "Transformation Applied"  . . . . . . . 31
     82        5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"  . . 31
     83    6.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . 31
     84    7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 32
     85      7.1.  Cache Directive Registry . . . . . . . . . . . . . . . . . 32
     86        7.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 32
     87        7.1.2.  Considerations for New Cache Control Directives  . . . 32
     88        7.1.3.  Registrations  . . . . . . . . . . . . . . . . . . . . 32
     89      7.2.  Warn Code Registry . . . . . . . . . . . . . . . . . . . . 33
     90        7.2.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 33
     91        7.2.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 33
     92      7.3.  Header Field Registration  . . . . . . . . . . . . . . . . 34
     93    8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 34
     94    9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 35
     95    10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35
     96      10.1. Normative References . . . . . . . . . . . . . . . . . . . 35
     97      10.2. Informative References . . . . . . . . . . . . . . . . . . 36
     98    Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 36
     99    Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 38
     100    Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 38
     101    Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
     102
     103NEW:
     104
     105    1. Introduction ....................................................4
     106       1.1. Conformance and Error Handling .............................4
     107       1.2. Syntax Notation ............................................4
     108            1.2.1. Delta Seconds .......................................5
     109    2. Overview of Cache Operation .....................................5
     110    3. Storing Responses in Caches .....................................6
     111       3.1. Storing Incomplete Responses ...............................7
     112       3.2. Storing Responses to Authenticated Requests ................7
     113       3.3. Combining Partial Content ..................................8
     114    4. Constructing Responses from Caches ..............................8
     115       4.1. Calculating Secondary Keys with Vary .......................9
     116       4.2. Freshness .................................................11
     117            4.2.1. Calculating Freshness Lifetime .....................12
     118            4.2.2. Calculating Heuristic Freshness ....................13
     119            4.2.3. Calculating Age ....................................13
     120            4.2.4. Serving Stale Responses ............................15
     121       4.3. Validation ................................................16
     122            4.3.1. Sending a Validation Request .......................16
     123            4.3.2. Handling a Received Validation Request .............16
     124            4.3.3. Handling a Validation Response .....................18
     125            4.3.4. Freshening Stored Responses upon Validation ........18
     126            4.3.5. Freshening Responses via HEAD ......................19
     127       4.4. Invalidation ..............................................20
     128    5. Header Field Definitions .......................................21
     129       5.1. Age .......................................................21
     130       5.2. Cache-Control .............................................21
     131            5.2.1. Request Cache-Control Directives ...................22
     132            5.2.2. Response Cache-Control Directives ..................24
     133            5.2.3. Cache Control Extensions ...........................27
     134       5.3. Expires ...................................................28
     135       5.4. Pragma ....................................................29
     136       5.5. Warning ...................................................29
     137            5.5.1. Warning: 110 - "Response is Stale" .................31
     138            5.5.2. Warning: 111 - "Revalidation Failed" ...............31
     139            5.5.3. Warning: 112 - "Disconnected Operation" ............31
     140            5.5.4. Warning: 113 - "Heuristic Expiration" ..............31
     141            5.5.5. Warning: 199 - "Miscellaneous Warning" .............32
     142            5.5.6. Warning: 214 - "Transformation Applied" ............32
     143            5.5.7. Warning: 299 - "Miscellaneous Persistent Warning" ..32
     144    6. History Lists ..................................................32
     145    7. IANA Considerations ............................................32
     146       7.1. Cache Directive Registry ..................................32
     147            7.1.1. Procedure ..........................................32
     148            7.1.2. Considerations for New Cache Control Directives ....33
     149            7.1.3. Registrations ......................................33
     150       7.2. Warn Code Registry ........................................34
     151            7.2.1. Procedure ..........................................34
     152            7.2.2. Registrations ......................................34
     153       7.3. Header Field Registration .................................34
     154    8. Security Considerations ........................................35
     155    9. Acknowledgments ................................................36
     156    10. References ....................................................36
     157       10.1. Normative References .....................................36
     158       10.2. Informative References ...................................37
     159    Appendix A. Changes from RFC 2616 .................................38
     160    Appendix B. Imported ABNF .........................................39
     161    Appendix C. Collected ABNF ........................................39
     162    Index .............................................................41
     163
     164
     165Section 1.2.1., paragraph 3:
     166OLD:
     167
     168    A recipient parsing a delta-seconds value and converting it to binary
     169    form ought to use an arithmetic type of at least 31 bits of non-
     170    negative integer range.  If a cache receives a delta-seconds value
     171    greater than the greatest integer it can represent, or if any of its
     172    subsequent calculations overflows, the cache MUST consider the value
     173    to be either 2147483648 (2^31) or the greatest positive integer it
     174    can conveniently represent.
     175
     176NEW:
     177
     178    A recipient parsing a delta-seconds value and converting it to binary
     179    form ought to use an arithmetic type of at least 31 bits of
     180    non-negative integer range.  If a cache receives a delta-seconds
     181    value greater than the greatest integer it can represent, or if any
     182    of its subsequent calculations overflows, the cache MUST consider the
     183    value to be either 2147483648 (2^31) or the greatest positive integer
     184    it can conveniently represent.
     185
     186
     187Section 3.3., paragraph 3:
     188OLD:
     189
     190    o  delete any Warning header fields in the stored response with warn-
     191       code 1xx (see Section 5.5);
     192
     193NEW:
     194
     195    o  delete any Warning header fields in the stored response with
     196       warn-code 1xx (see Section 5.5);
     197
     198
     199Section 3.3., paragraph 4:
     200OLD:
     201
     202    o  retain any Warning header fields in the stored response with warn-
     203       code 2xx; and,
     204
     205NEW:
     206
     207    o  retain any Warning header fields in the stored response with
     208       warn-code 2xx; and,
     209
     210
     211Section 4.2., paragraph 13:
     212OLD:
     213
     214    o  Although all date formats are specified to be case-sensitive, a
     215       cache recipient SHOULD match day, week, and time-zone names case-
     216       insensitively.
     217
     218NEW:
     219
     220    o  Although all date formats are specified to be case-sensitive, a
     221       cache recipient SHOULD match day, week, and time-zone names
     222       case-insensitively.
     223
     224
     225Section 4.2.4., paragraph 3:
     226OLD:
     227
     228    A cache MUST NOT send stale responses unless it is disconnected
     229    (i.e., it cannot contact the origin server or otherwise find a
     230    forward path) or doing so is explicitly allowed (e.g., by the max-
     231    stale request directive; see Section 5.2.1).
     232
     233NEW:
     234
     235    A cache MUST NOT send stale responses unless it is disconnected
     236    (i.e., it cannot contact the origin server or otherwise find a
     237    forward path) or doing so is explicitly allowed (e.g., by the
     238    max-stale request directive; see Section 5.2.1).
     239
     240
     241Section 4.3.1., paragraph 2:
     242OLD:
     243
     244    One such validator is the timestamp given in a Last-Modified header
     245    field (Section 2.2 of [RFC7232]), which can be used in an If-
     246    Modified-Since header field for response validation, or in an If-
     247    Unmodified-Since or If-Range header field for representation
     248    selection (i.e., the client is referring specifically to a previously
     249    obtained representation with that timestamp).
     250
     251NEW:
     252
     253    One such validator is the timestamp given in a Last-Modified header
     254    field (Section 2.2 of [RFC7232]), which can be used in an
     255    If-Modified-Since header field for response validation, or in an
     256    If-Unmodified-Since or If-Range header field for representation
     257    selection (i.e., the client is referring specifically to a previously
     258    obtained representation with that timestamp).
     259
     260
     261Section 4.3.2., paragraph 3:
     262OLD:
     263
     264    The proper evaluation of conditional requests by a cache depends on
     265    the received precondition header fields and their precedence, as
     266    defined in Section 6 of [RFC7232].  The If-Match and If-Unmodified-
     267    Since conditional header fields are not applicable to a cache.
     268
     269NEW:
     270
     271    The proper evaluation of conditional requests by a cache depends on
     272    the received precondition header fields and their precedence, as
     273    defined in Section 6 of [RFC7232].  The If-Match and
     274    If-Unmodified-Since conditional header fields are not applicable to a
     275    cache.
     276
     277
     278Section 4.3.2., paragraph 6:
     279OLD:
     280
     281    If an If-None-Match header field is not present, a request containing
     282    an If-Modified-Since header field (Section 3.3 of [RFC7232])
     283    indicates that the client wants to validate one or more of its own
     284    stored responses by modification date.  A cache recipient SHOULD
     285    generate a 304 (Not Modified) response (using the metadata of the
     286    selected stored response) if one of the following cases is true: 1)
     287    the selected stored response has a Last-Modified field-value that is
     288    earlier than or equal to the conditional timestamp; 2) no Last-
     289    Modified field is present in the selected stored response, but it has
     290    a Date field-value that is earlier than or equal to the conditional
     291    timestamp; or, 3) neither Last-Modified nor Date is present in the
     292    selected stored response, but the cache recorded it as having been
     293    received at a time earlier than or equal to the conditional
     294    timestamp.
     295
     296NEW:
     297
     298    If an If-None-Match header field is not present, a request containing
     299    an If-Modified-Since header field (Section 3.3 of [RFC7232])
     300    indicates that the client wants to validate one or more of its own
     301    stored responses by modification date.  A cache recipient SHOULD
     302    generate a 304 (Not Modified) response (using the metadata of the
     303    selected stored response) if one of the following cases is true: 1)
     304    the selected stored response has a Last-Modified field-value that is
     305    earlier than or equal to the conditional timestamp; 2) no
     306    Last-Modified field is present in the selected stored response, but
     307    it has a Date field-value that is earlier than or equal to the
     308    conditional timestamp; or, 3) neither Last-Modified nor Date is
     309    present in the selected stored response, but the cache recorded it as
     310    having been received at a time earlier than or equal to the
     311    conditional timestamp.
     312
     313
     314Section 4.3.4., paragraph 7:
     315OLD:
     316
     317    o  delete any Warning header fields in the stored response with warn-
     318       code 1xx (see Section 5.5);
     319
     320NEW:
     321
     322    o  delete any Warning header fields in the stored response with
     323       warn-code 1xx (see Section 5.5);
     324
     325
     326Section 4.3.4., paragraph 8:
     327OLD:
     328
     329    o  retain any Warning header fields in the stored response with warn-
     330       code 2xx; and,
     331
     332NEW:
     333
     334    o  retain any Warning header fields in the stored response with
     335       warn-code 2xx; and,
     336
     337
     338Section 4.3.5., paragraph 3:
     339OLD:
     340
     341    For each of the stored responses that could have been selected, if
     342    the stored response and HEAD response have matching values for any
     343    received validator fields (ETag and Last-Modified) and, if the HEAD
     344    response has a Content-Length header field, the value of Content-
     345    Length matches that of the stored response, the cache SHOULD update
     346    the stored response as described below; otherwise, the cache SHOULD
     347    consider the stored response to be stale.
     348
     349NEW:
     350
     351    For each of the stored responses that could have been selected, if
     352    the stored response and HEAD response have matching values for any
     353    received validator fields (ETag and Last-Modified) and, if the HEAD
     354    response has a Content-Length header field, the value of
     355    Content-Length matches that of the stored response, the cache SHOULD
     356    update the stored response as described below; otherwise, the cache
     357    SHOULD consider the stored response to be stale.
     358
     359
     360Section 4.3.5., paragraph 5:
     361OLD:
     362
     363    o  delete any Warning header fields in the stored response with warn-
     364       code 1xx (see Section 5.5);
     365
     366NEW:
     367
     368    o  delete any Warning header fields in the stored response with
     369       warn-code 1xx (see Section 5.5);
     370
     371
     372Section 4.3.5., paragraph 6:
     373OLD:
     374
     375    o  retain any Warning header fields in the stored response with warn-
     376       code 2xx; and,
     377
     378NEW:
     379
     380    o  retain any Warning header fields in the stored response with
     381       warn-code 2xx; and,
     382
     383
     384Section 5.2., paragraph 5:
     385OLD:
     386
     387    Cache directives are identified by a token, to be compared case-
     388    insensitively, and have an optional argument, that can use both token
     389    and quoted-string syntax.  For the directives defined below that
     390    define arguments, recipients ought to accept both forms, even if one
     391    is documented to be preferred.  For any directive not defined by this
     392    specification, a recipient MUST accept both forms.
     393
     394NEW:
     395
     396    Cache directives are identified by a token, to be compared
     397    case-insensitively, and have an optional argument, that can use both
     398    token and quoted-string syntax.  For the directives defined below
     399    that define arguments, recipients ought to accept both forms, even if
     400    one is documented to be preferred.  For any directive not defined by
     401    this specification, a recipient MUST accept both forms.
     402
     403
     404Section 5.2.1.5., paragraph 1:
     405OLD:
     406
     407    The "no-store" request directive indicates that a cache MUST NOT
     408    store any part of either this request or any response to it.  This
     409    directive applies to both private and shared caches.  "MUST NOT
     410    store" in this context means that the cache MUST NOT intentionally
     411    store the information in non-volatile storage, and MUST make a best-
     412    effort attempt to remove the information from volatile storage as
     413    promptly as possible after forwarding it.
     414
     415NEW:
     416
     417    The "no-store" request directive indicates that a cache MUST NOT
     418    store any part of either this request or any response to it.  This
     419    directive applies to both private and shared caches.  "MUST NOT
     420    store" in this context means that the cache MUST NOT intentionally
     421    store the information in non-volatile storage, and MUST make a
     422    best-effort attempt to remove the information from volatile storage
     423    as promptly as possible after forwarding it.
     424
     425
     426Section 5.2.2.2., paragraph 7:
     427OLD:
     428
     429    Note: Although it has been back-ported to many implementations, some
     430    HTTP/1.0 caches will not recognize or obey this directive.  Also, no-
     431    cache response directives with field-names are often handled by
     432    caches as if an unqualified no-cache directive was received; i.e.,
     433    the special handling for the qualified form is not widely
     434    implemented.
     435
     436NEW:
     437
     438    Note: Although it has been back-ported to many implementations, some
     439    HTTP/1.0 caches will not recognize or obey this directive.  Also,
     440    no-cache response directives with field-names are often handled by
     441    caches as if an unqualified no-cache directive was received; i.e.,
     442    the special handling for the qualified form is not widely
     443    implemented.
     444
     445
     446Section 5.2.2.3., paragraph 1:
     447OLD:
     448
     449    The "no-store" response directive indicates that a cache MUST NOT
     450    store any part of either the immediate request or response.  This
     451    directive applies to both private and shared caches.  "MUST NOT
     452    store" in this context means that the cache MUST NOT intentionally
     453    store the information in non-volatile storage, and MUST make a best-
     454    effort attempt to remove the information from volatile storage as
     455    promptly as possible after forwarding it.
     456
     457NEW:
     458
     459    The "no-store" response directive indicates that a cache MUST NOT
     460    store any part of either the immediate request or response.  This
     461    directive applies to both private and shared caches.  "MUST NOT
     462    store" in this context means that the cache MUST NOT intentionally
     463    store the information in non-volatile storage, and MUST make a
     464    best-effort attempt to remove the information from volatile storage
     465    as promptly as possible after forwarding it.
     466
     467
     468Section 5.5., paragraph 15:
     469OLD:
     470
     471    If a recipient that uses, evaluates, or displays Warning header
     472    fields receives a warn-date that is different from the Date value in
     473    the same message, the recipient MUST exclude the warning-value
     474    containing that warn-date before storing, forwarding, or using the
     475    message.  This allows recipients to exclude warning-values that were
     476    improperly retained after a cache validation.  If all of the warning-
     477    values are excluded, the recipient MUST exclude the Warning header
     478    field as well.
     479
     480NEW:
     481
     482    If a recipient that uses, evaluates, or displays Warning header
     483    fields receives a warn-date that is different from the Date value in
     484    the same message, the recipient MUST exclude the warning-value
     485    containing that warn-date before storing, forwarding, or using the
     486    message.  This allows recipients to exclude warning-values that were
     487    improperly retained after a cache validation.  If all of the
     488    warning-values are excluded, the recipient MUST exclude the Warning
     489    header field as well.
     490
     491
     492Section 5.5.6., paragraph 1:
     493OLD:
     494
     495    This Warning code MUST be added by a proxy if it applies any
     496    transformation to the representation, such as changing the content-
     497    coding, media-type, or modifying the representation data, unless this
     498    Warning code already appears in the response.
     499
     500NEW:
     501
     502    This Warning code MUST be added by a proxy if it applies any
     503    transformation to the representation, such as changing the
     504    content-coding, media-type, or modifying the representation data,
     505    unless this Warning code already appears in the response.
     506
     507
     508Section 7.1.1., paragraph 2:
     509OLD:
     510
     511    o  Cache Directive Name
     512 
     513    o  Pointer to specification text
     514
     515NEW:
     516
     517    o  Cache Directive Name
     518    o  Pointer to specification text
     519
     520
     521Appendix A., paragraph 3:
     522OLD:
     523
     524    New status codes can now define that caches are allowed to use
     525    heuristic freshness with them.  Caches are now allowed to calculate
     526    heuristic freshness for URIs with query components.  (Section 4.2.2)
     527    The algorithm for calculating age is now less conservative.  Caches
     528    are now required to handle dates with time zones as if they're
     529    invalid, because it's not possible to accurately guess.
     530    (Section 4.2.3)
     531
     532NEW:
     533
     534    New status codes can now define that caches are allowed to use
     535    heuristic freshness with them.  Caches are now allowed to calculate
     536    heuristic freshness for URIs with query components.  (Section 4.2.2)
     537 
     538    The algorithm for calculating age is now less conservative.  Caches
     539    are now required to handle dates with time zones as if they're
     540    invalid, because it's not possible to accurately guess.
     541    (Section 4.2.3)
     542
     543
     544Appendix A., paragraph 11:
     545OLD:
     546
     547    The "no-cache" response directive's meaning has been clarified.
     548    (Section 5.2.2.2)
     549 
     550    The one-year limit on Expires header field values has been removed;
     551    instead, the reasoning for using a sensible value is given.
     552    (Section 5.3)
     553
     554NEW:
     555
     556    The "no-cache" response directive's meaning has been clarified.
     557    (Section 5.2.2.2)
     558    The one-year limit on Expires header field values has been removed;
     559    instead, the reasoning for using a sensible value is given.
     560    (Section 5.3)
     561
     562
     563Section 1.2, paragraph 18:
     564OLD:
     565
     566    1
     567       110 (warn-code)  30
     568       111 (warn-code)  31
     569       112 (warn-code)  31
     570       113 (warn-code)  31
     571       199 (warn-code)  31
     572
     573NEW:
     574
     575    1
     576       110 (warn-code)  31
     577       111 (warn-code)  31
     578       112 (warn-code)  31
     579       113 (warn-code)  31
     580       199 (warn-code)  32
     581
     582
     583Section 1.2, paragraph 19:
     584OLD:
     585
     586    2
     587       214 (warn-code)  31
     588       299 (warn-code)  31
     589
     590NEW:
     591
     592    2
     593       214 (warn-code)  32
     594       299 (warn-code)  32
     595
     596
     597Section 1.2, paragraph 20:
     598OLD:
     599
     600    A
     601       age  10
     602       Age header field  20
     603
     604NEW:
     605
     606    A
     607       age  11
     608       Age header field  21
     609
     610
     611Section 1.2, paragraph 23:
     612OLD:
     613
     614    E
     615       Expires header field  27
     616       explicit expiration time  10
     617
     618NEW:
     619
     620    E
     621       Expires header field  28
     622       explicit expiration time  11
     623
     624
     625Section 1.2, paragraph 24:
     626OLD:
     627
     628    F
     629       fresh  10
     630       freshness lifetime  10
     631
     632NEW:
     633
     634    F
     635       fresh  11
     636       freshness lifetime  11
     637
     638
     639Section 1.2, paragraph 25:
     640OLD:
     641
     642    G
     643       Grammar
     644          Age  20
     645          Cache-Control  21
     646          cache-directive  21
     647          delta-seconds  5
     648          Expires  27
     649          extension-pragma  28
     650          Pragma  28
     651          pragma-directive  28
     652          warn-agent  29
     653          warn-code  29
     654          warn-date  29
     655          warn-text  29
     656          Warning  29
     657          warning-value  29
     658
     659NEW:
     660
     661    G
     662       Grammar
     663          Age  21
     664          Cache-Control  22
     665          cache-directive  22
     666          delta-seconds  5
     667          Expires  28
     668          extension-pragma  29
     669          Pragma  29
     670          pragma-directive  29
     671          warn-agent  29
     672          warn-code  29
     673          warn-date  29
     674          warn-text  29
     675          Warning  29
     676          warning-value  29
     677
     678
     679Section 1.2, paragraph 26:
     680OLD:
     681
     682    H
     683       Heuristic Expiration (warn-text)  31
     684       heuristic expiration time  10
     685 
     686    M
     687       max-age (cache directive)  21, 26
     688       max-stale (cache directive)  22
     689       min-fresh (cache directive)  22
     690       Miscellaneous Persistent Warning (warn-text)  31
     691       Miscellaneous Warning (warn-text)  31
     692       must-revalidate (cache directive)  23
     693
     694NEW:
     695
     696    H
     697       Heuristic Expiration (warn-text)  31
     698       heuristic expiration time  11
     699    M
     700       max-age (cache directive)  22, 26
     701       max-stale (cache directive)  22
     702       min-fresh (cache directive)  22
     703       Miscellaneous Persistent Warning (warn-text)  32
     704       Miscellaneous Warning (warn-text)  32
     705       must-revalidate (cache directive)  24
     706
     707
     708Section 1.2, paragraph 27:
     709OLD:
     710
     711    N
     712       no-cache (cache directive)  22, 24
     713       no-store (cache directive)  22, 24
     714       no-transform (cache directive)  23, 25
     715
     716NEW:
     717
     718    N
     719       no-cache (cache directive)  23, 25
     720       no-store (cache directive)  23, 24
     721       no-transform (cache directive)  23, 25
     722
     723
     724Section 1.2, paragraph 29:
     725OLD:
     726
     727    P
     728       Pragma header field  28
     729       private (cache directive)  25
     730       private cache  4
     731       proxy-revalidate (cache directive)  26
     732       public (cache directive)  25
     733
     734NEW:
     735
     736    P
     737       Pragma header field  29
     738       private (cache directive)  25
     739       private cache  4
     740       proxy-revalidate (cache directive)  26
     741       public (cache directive)  25
     742
     743
     744Section 1.2, paragraph 31:
     745OLD:
     746
     747    S
     748       s-maxage (cache directive)  26
     749       shared cache  4
     750       stale  10
     751       strong validator  18
     752
     753NEW:
     754
     755    S
     756       s-maxage (cache directive)  27
     757       shared cache  4
     758       stale  11
     759       strong validator  18
     760
     761
     762Section 1.2, paragraph 32:
     763OLD:
     764
     765    T
     766       Transformation Applied (warn-text)  31
     767
     768NEW:
     769
     770    T
     771       Transformation Applied (warn-text)  32
     772
     773
     774Section 1.2, paragraph 33:
     775OLD:
     776
     777    V
     778       validator  15
     779
     780NEW:
     781
     782    V
     783       validator  16
     784
  • draft-ietf-httpbis/latest/auth48/rfc7234.diff.html

    r2712 r2718  
    185185      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    186186      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    187       <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 12, line 8</em></th><td></td></tr>
     187      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 23</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 8, line 26</em></th><td></td></tr>
     188      <tr><td class="lineno" valign="top"></td><td class="left">   Range specifiers ([RFC7233]).  After several such transfers, a cache</td><td> </td><td class="right">   Range specifiers ([RFC7233]).  After several such transfers, a cache</td><td class="lineno" valign="top"></td></tr>
     189      <tr><td class="lineno" valign="top"></td><td class="left">   might have received several ranges of the same representation.  A</td><td> </td><td class="right">   might have received several ranges of the same representation.  A</td><td class="lineno" valign="top"></td></tr>
     190      <tr><td class="lineno" valign="top"></td><td class="left">   cache MAY combine these ranges into a single stored response, and</td><td> </td><td class="right">   cache MAY combine these ranges into a single stored response, and</td><td class="lineno" valign="top"></td></tr>
     191      <tr><td class="lineno" valign="top"></td><td class="left">   reuse that response to satisfy later requests, if they all share the</td><td> </td><td class="right">   reuse that response to satisfy later requests, if they all share the</td><td class="lineno" valign="top"></td></tr>
     192      <tr><td class="lineno" valign="top"></td><td class="left">   same strong validator and the cache complies with the client</td><td> </td><td class="right">   same strong validator and the cache complies with the client</td><td class="lineno" valign="top"></td></tr>
     193      <tr><td class="lineno" valign="top"></td><td class="left">   requirements in Section 4.3 of [RFC7233].</td><td> </td><td class="right">   requirements in Section 4.3 of [RFC7233].</td><td class="lineno" valign="top"></td></tr>
     194      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     195      <tr><td class="lineno" valign="top"></td><td class="left">   When combining the new response with one or more stored responses, a</td><td> </td><td class="right">   When combining the new response with one or more stored responses, a</td><td class="lineno" valign="top"></td></tr>
     196      <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST:</td><td> </td><td class="right">   cache MUST:</td><td class="lineno" valign="top"></td></tr>
     197      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     198      <tr><td><a name="diff0004" /></td></tr>
     199      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     200      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
     201      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     202      <tr><td><a name="diff0005" /></td></tr>
     203      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     204      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
     205      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     206      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the new response, aside from</td><td> </td><td class="right">   o  use other header fields provided in the new response, aside from</td><td class="lineno" valign="top"></td></tr>
     207      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Range, to replace all instances of the corresponding</td><td> </td><td class="right">      Content-Range, to replace all instances of the corresponding</td><td class="lineno" valign="top"></td></tr>
     208      <tr><td class="lineno" valign="top"></td><td class="left">      header fields in the stored response.</td><td> </td><td class="right">      header fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
     209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     210      <tr><td class="lineno" valign="top"></td><td class="left">4.  Constructing Responses from Caches</td><td> </td><td class="right">4.  Constructing Responses from Caches</td><td class="lineno" valign="top"></td></tr>
     211      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     212      <tr><td class="lineno" valign="top"></td><td class="left">   When presented with a request, a cache MUST NOT reuse a stored</td><td> </td><td class="right">   When presented with a request, a cache MUST NOT reuse a stored</td><td class="lineno" valign="top"></td></tr>
     213      <tr><td class="lineno" valign="top"></td><td class="left">   response, unless:</td><td> </td><td class="right">   response, unless:</td><td class="lineno" valign="top"></td></tr>
     214      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     215      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     216      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 8</em></th><td></td></tr>
    188217      <tr><td class="lineno" valign="top"></td><td class="left">   freshness_lifetime is defined in Section 4.2.1; current_age is</td><td> </td><td class="right">   freshness_lifetime is defined in Section 4.2.1; current_age is</td><td class="lineno" valign="top"></td></tr>
    189218      <tr><td class="lineno" valign="top"></td><td class="left">   defined in Section 4.2.3.</td><td> </td><td class="right">   defined in Section 4.2.3.</td><td class="lineno" valign="top"></td></tr>
     
    196225      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    197226      <tr><td class="lineno" valign="top"></td><td class="left">   o  Although all date formats are specified to be case-sensitive, a</td><td> </td><td class="right">   o  Although all date formats are specified to be case-sensitive, a</td><td class="lineno" valign="top"></td></tr>
    198       <tr><td><a name="diff0004" /></td></tr>
     227      <tr><td><a name="diff0006" /></td></tr>
    199228      <tr><td class="lineno" valign="top"></td><td class="lblock">      cache recipient SHOULD match day, week, and time-zone names <span class="delete">case-</span></td><td> </td><td class="rblock">      cache recipient SHOULD match day, week, and time-zone names</td><td class="lineno" valign="top"></td></tr>
    200229      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      insensitively.</span></td><td> </td><td class="rblock">      <span class="insert">case-insensitively.</span></td><td class="lineno" valign="top"></td></tr>
     
    210239      <tr><td class="lineno" valign="top"></td><td class="left">   o  A cache recipient SHOULD consider a date with a zone abbreviation</td><td> </td><td class="right">   o  A cache recipient SHOULD consider a date with a zone abbreviation</td><td class="lineno" valign="top"></td></tr>
    211240      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    212       <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 15, line 22</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 15, line 40</em></th><td></td></tr>
     241      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 15, line 22</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 15, line 40</em></th><td></td></tr>
    213242      <tr><td class="lineno" valign="top"></td><td class="left">   according to the calculations in Section 4.2.</td><td> </td><td class="right">   according to the calculations in Section 4.2.</td><td class="lineno" valign="top"></td></tr>
    214243      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    221250      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT send stale responses unless it is disconnected</td><td> </td><td class="right">   A cache MUST NOT send stale responses unless it is disconnected</td><td class="lineno" valign="top"></td></tr>
    222251      <tr><td class="lineno" valign="top"></td><td class="left">   (i.e., it cannot contact the origin server or otherwise find a</td><td> </td><td class="right">   (i.e., it cannot contact the origin server or otherwise find a</td><td class="lineno" valign="top"></td></tr>
    223       <tr><td><a name="diff0005" /></td></tr>
     252      <tr><td><a name="diff0007" /></td></tr>
    224253      <tr><td class="lineno" valign="top"></td><td class="lblock">   forward path) or doing so is explicitly allowed (e.g., by the <span class="delete">max-</span></td><td> </td><td class="rblock">   forward path) or doing so is explicitly allowed (e.g., by the</td><td class="lineno" valign="top"></td></tr>
    225254      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   stale</span> request directive; see Section 5.2.1).</td><td> </td><td class="rblock">   <span class="insert">max-stale</span> request directive; see Section 5.2.1).</td><td class="lineno" valign="top"></td></tr>
     
    235264      <tr><td class="lineno" valign="top"></td><td class="left">   that merely became stale in transit.</td><td> </td><td class="right">   that merely became stale in transit.</td><td class="lineno" valign="top"></td></tr>
    236265      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    237       <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 16, line 6</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 16, line 25</em></th><td></td></tr>
     266      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 16, line 6</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 16, line 25</em></th><td></td></tr>
    238267      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    239268      <tr><td class="lineno" valign="top"></td><td class="left">4.3.1.  Sending a Validation Request</td><td> </td><td class="right">4.3.1.  Sending a Validation Request</td><td class="lineno" valign="top"></td></tr>
     
    246275      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    247276      <tr><td class="lineno" valign="top"></td><td class="left">   One such validator is the timestamp given in a Last-Modified header</td><td> </td><td class="right">   One such validator is the timestamp given in a Last-Modified header</td><td class="lineno" valign="top"></td></tr>
    248       <tr><td><a name="diff0006" /></td></tr>
     277      <tr><td><a name="diff0008" /></td></tr>
    249278      <tr><td class="lineno" valign="top"></td><td class="lblock">   field (Section 2.2 of [RFC7232]), which can be used in an <span class="delete">If-</span></td><td> </td><td class="rblock">   field (Section 2.2 of [RFC7232]), which can be used in an</td><td class="lineno" valign="top"></td></tr>
    250279      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified-Since</span> header field for response validation, or in an <span class="delete">If-</span></td><td> </td><td class="rblock">   <span class="insert">If-Modified-Since</span> header field for response validation, or in an</td><td class="lineno" valign="top"></td></tr>
     
    261290      <tr><td class="lineno" valign="top"></td><td class="left">   the listed entity-tags).</td><td> </td><td class="right">   the listed entity-tags).</td><td class="lineno" valign="top"></td></tr>
    262291      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    263       <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 16, line 42</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 17, line 12</em></th><td></td></tr>
     292      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 16, line 42</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 12</em></th><td></td></tr>
    264293      <tr><td class="lineno" valign="top"></td><td class="left">   received in that request with respect to the corresponding validators</td><td> </td><td class="right">   received in that request with respect to the corresponding validators</td><td class="lineno" valign="top"></td></tr>
    265294      <tr><td class="lineno" valign="top"></td><td class="left">   contained within the selected response.  A cache MUST NOT evaluate</td><td> </td><td class="right">   contained within the selected response.  A cache MUST NOT evaluate</td><td class="lineno" valign="top"></td></tr>
     
    272301      <tr><td class="lineno" valign="top"></td><td class="left">   The proper evaluation of conditional requests by a cache depends on</td><td> </td><td class="right">   The proper evaluation of conditional requests by a cache depends on</td><td class="lineno" valign="top"></td></tr>
    273302      <tr><td class="lineno" valign="top"></td><td class="left">   the received precondition header fields and their precedence, as</td><td> </td><td class="right">   the received precondition header fields and their precedence, as</td><td class="lineno" valign="top"></td></tr>
    274       <tr><td><a name="diff0007" /></td></tr>
     303      <tr><td><a name="diff0009" /></td></tr>
    275304      <tr><td class="lineno" valign="top"></td><td class="lblock">   defined in Section 6 of [RFC7232].  The If-Match and <span class="delete">If-Unmodified-</span></td><td> </td><td class="rblock">   defined in Section 6 of [RFC7232].  The If-Match and</td><td class="lineno" valign="top"></td></tr>
    276305      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Since</span> conditional header fields are not applicable to a cache.</td><td> </td><td class="rblock">   <span class="insert">If-Unmodified-Since</span> conditional header fields are not applicable to a</td><td class="lineno" valign="top"></td></tr>
     
    287316      <tr><td class="lineno" valign="top"></td><td class="left">   response.</td><td> </td><td class="right">   response.</td><td class="lineno" valign="top"></td></tr>
    288317      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    289       <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 17, line 28</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 48</em></th><td></td></tr>
     318      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 28</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 17, line 48</em></th><td></td></tr>
    290319      <tr><td class="lineno" valign="top"></td><td class="left">   corresponding stored response, as updated by the 304 response</td><td> </td><td class="right">   corresponding stored response, as updated by the 304 response</td><td class="lineno" valign="top"></td></tr>
    291320      <tr><td class="lineno" valign="top"></td><td class="left">   metadata (Section 4.3.4).</td><td> </td><td class="right">   metadata (Section 4.3.4).</td><td class="lineno" valign="top"></td></tr>
     
    298327      <tr><td class="lineno" valign="top"></td><td class="left">   selected stored response) if one of the following cases is true: 1)</td><td> </td><td class="right">   selected stored response) if one of the following cases is true: 1)</td><td class="lineno" valign="top"></td></tr>
    299328      <tr><td class="lineno" valign="top"></td><td class="left">   the selected stored response has a Last-Modified field-value that is</td><td> </td><td class="right">   the selected stored response has a Last-Modified field-value that is</td><td class="lineno" valign="top"></td></tr>
    300       <tr><td><a name="diff0008" /></td></tr>
     329      <tr><td><a name="diff0010" /></td></tr>
    301330      <tr><td class="lineno" valign="top"></td><td class="lblock">   earlier than or equal to the conditional timestamp; 2) no <span class="delete">Last-</span></td><td> </td><td class="rblock">   earlier than or equal to the conditional timestamp; 2) no</td><td class="lineno" valign="top"></td></tr>
    302331      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified</span> field is present in the selected stored response, but it has</td><td> </td><td class="rblock">   <span class="insert">Last-Modified</span> field is present in the selected stored response, but</td><td class="lineno" valign="top"></td></tr>
     
    317346      <tr><td class="lineno" valign="top"></td><td class="left">   upon its status code:</td><td> </td><td class="right">   upon its status code:</td><td class="lineno" valign="top"></td></tr>
    318347      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    319       <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 19, line 23</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 19, line 46</em></th><td></td></tr>
     348      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 43</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 19, line 18</em></th><td></td></tr>
     349      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     350      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the new response does not include any form of validator (such</td><td> </td><td class="right">   o  If the new response does not include any form of validator (such</td><td class="lineno" valign="top"></td></tr>
     351      <tr><td class="lineno" valign="top"></td><td class="left">      as in the case where a client generates an If-Modified-Since</td><td> </td><td class="right">      as in the case where a client generates an If-Modified-Since</td><td class="lineno" valign="top"></td></tr>
     352      <tr><td class="lineno" valign="top"></td><td class="left">      request from a source other than the Last-Modified response header</td><td> </td><td class="right">      request from a source other than the Last-Modified response header</td><td class="lineno" valign="top"></td></tr>
     353      <tr><td class="lineno" valign="top"></td><td class="left">      field), and there is only one stored response, and that stored</td><td> </td><td class="right">      field), and there is only one stored response, and that stored</td><td class="lineno" valign="top"></td></tr>
     354      <tr><td class="lineno" valign="top"></td><td class="left">      response also lacks a validator, then that stored response is</td><td> </td><td class="right">      response also lacks a validator, then that stored response is</td><td class="lineno" valign="top"></td></tr>
     355      <tr><td class="lineno" valign="top"></td><td class="left">      selected for update.</td><td> </td><td class="right">      selected for update.</td><td class="lineno" valign="top"></td></tr>
     356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     357      <tr><td class="lineno" valign="top"></td><td class="left">   If a stored response is selected for update, the cache MUST:</td><td> </td><td class="right">   If a stored response is selected for update, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
     358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     359      <tr><td><a name="diff0011" /></td></tr>
     360      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     361      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
     362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     363      <tr><td><a name="diff0012" /></td></tr>
     364      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     365      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
     366      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     367      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the 304 (Not Modified)</td><td> </td><td class="right">   o  use other header fields provided in the 304 (Not Modified)</td><td class="lineno" valign="top"></td></tr>
     368      <tr><td class="lineno" valign="top"></td><td class="left">      response to replace all instances of the corresponding header</td><td> </td><td class="right">      response to replace all instances of the corresponding header</td><td class="lineno" valign="top"></td></tr>
     369      <tr><td class="lineno" valign="top"></td><td class="left">      fields in the stored response.</td><td> </td><td class="right">      fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
     370      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     371      <tr><td class="lineno" valign="top"></td><td class="left">4.3.5.  Freshening Responses via HEAD</td><td> </td><td class="right">4.3.5.  Freshening Responses via HEAD</td><td class="lineno" valign="top"></td></tr>
     372      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     373      <tr><td class="lineno" valign="top"></td><td class="left">   A response to the HEAD method is identical to what an equivalent</td><td> </td><td class="right">   A response to the HEAD method is identical to what an equivalent</td><td class="lineno" valign="top"></td></tr>
     374      <tr><td class="lineno" valign="top"></td><td class="left">   request made with a GET would have been, except it lacks a body.</td><td> </td><td class="right">   request made with a GET would have been, except it lacks a body.</td><td class="lineno" valign="top"></td></tr>
     375      <tr><td class="lineno" valign="top"></td><td class="left">   This property of HEAD responses can be used to invalidate or update a</td><td> </td><td class="right">   This property of HEAD responses can be used to invalidate or update a</td><td class="lineno" valign="top"></td></tr>
     376      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     377      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 23</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 46</em></th><td></td></tr>
    320378      <tr><td class="lineno" valign="top"></td><td class="left">   desired even if it has changed.</td><td> </td><td class="right">   desired even if it has changed.</td><td class="lineno" valign="top"></td></tr>
    321379      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    328386      <tr><td class="lineno" valign="top"></td><td class="left">   the stored response and HEAD response have matching values for any</td><td> </td><td class="right">   the stored response and HEAD response have matching values for any</td><td class="lineno" valign="top"></td></tr>
    329387      <tr><td class="lineno" valign="top"></td><td class="left">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td> </td><td class="right">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td class="lineno" valign="top"></td></tr>
    330       <tr><td><a name="diff0009" /></td></tr>
     388      <tr><td><a name="diff0013" /></td></tr>
    331389      <tr><td class="lineno" valign="top"></td><td class="lblock">   response has a Content-Length header field, the value of <span class="delete">Content-</span></td><td> </td><td class="rblock">   response has a Content-Length header field, the value of</td><td class="lineno" valign="top"></td></tr>
    332390      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Length</span> matches that of the stored response, the cache SHOULD update</td><td> </td><td class="rblock">   <span class="insert">Content-Length</span> matches that of the stored response, the cache SHOULD</td><td class="lineno" valign="top"></td></tr>
     
    337395      <tr><td class="lineno" valign="top"></td><td class="left">   HEAD response, the cache MUST:</td><td> </td><td class="right">   HEAD response, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
    338396      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    339       <tr><td class="lineno" valign="top"></td><td class="left">   o  delete any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  delete any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
    340       <tr><td class="lineno" valign="top"></td><td class="left">      code 1xx (see Section 5.5);</td><td> </td><td class="right">      code 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
    341       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    342       <tr><td class="lineno" valign="top"></td><td class="left">   o  retain any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  retain any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
    343       <tr><td class="lineno" valign="top"></td><td class="left">      code 2xx; and,</td><td> </td><td class="right">      code 2xx; and,</td><td class="lineno" valign="top"></td></tr>
    344       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    345       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    346       <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 21, line 24</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 21, line 47</em></th><td></td></tr>
     397      <tr><td><a name="diff0014" /></td></tr>
     398      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     399      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
     400      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     401      <tr><td><a name="diff0015" /></td></tr>
     402      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
     403      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
     404      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     405      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the HEAD response to replace</td><td> </td><td class="right">   o  use other header fields provided in the HEAD response to replace</td><td class="lineno" valign="top"></td></tr>
     406      <tr><td class="lineno" valign="top"></td><td class="left">      all instances of the corresponding header fields in the stored</td><td> </td><td class="right">      all instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr>
     407      <tr><td class="lineno" valign="top"></td><td class="left">      response and append new header fields to the stored response's</td><td> </td><td class="right">      response and append new header fields to the stored response's</td><td class="lineno" valign="top"></td></tr>
     408      <tr><td class="lineno" valign="top"></td><td class="left">      header section unless otherwise restricted by the Cache-Control</td><td> </td><td class="right">      header section unless otherwise restricted by the Cache-Control</td><td class="lineno" valign="top"></td></tr>
     409      <tr><td class="lineno" valign="top"></td><td class="left">      header field.</td><td> </td><td class="right">      header field.</td><td class="lineno" valign="top"></td></tr>
     410      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     411      <tr><td class="lineno" valign="top"></td><td class="left">4.4.  Invalidation</td><td> </td><td class="right">4.4.  Invalidation</td><td class="lineno" valign="top"></td></tr>
     412      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     413      <tr><td class="lineno" valign="top"></td><td class="left">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td> </td><td class="right">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td class="lineno" valign="top"></td></tr>
     414      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     415      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 21, line 24</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 47</em></th><td></td></tr>
    347416      <tr><td class="lineno" valign="top"></td><td class="left">   Cache-Control directives defined elsewhere are handled.</td><td> </td><td class="right">   Cache-Control directives defined elsewhere are handled.</td><td class="lineno" valign="top"></td></tr>
    348417      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    355424      <tr><td class="lineno" valign="top"></td><td class="left">   not possible to target a directive to a specific cache.</td><td> </td><td class="right">   not possible to target a directive to a specific cache.</td><td class="lineno" valign="top"></td></tr>
    356425      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    357       <tr><td><a name="diff0010" /></td></tr>
     426      <tr><td><a name="diff0016" /></td></tr>
    358427      <tr><td class="lineno" valign="top"></td><td class="lblock">   Cache directives are identified by a token, to be compared <span class="delete">case-</span></td><td> </td><td class="rblock">   Cache directives are identified by a token, to be compared</td><td class="lineno" valign="top"></td></tr>
    359428      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   insensitively,</span> and have an optional argument, that can use both token</td><td> </td><td class="rblock">   <span class="insert">case-insensitively,</span> and have an optional argument, that can use both</td><td class="lineno" valign="top"></td></tr>
     
    373442      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    374443      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    375       <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 23, line 5</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 23, line 27</em></th><td></td></tr>
     444      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 23, line 5</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 23, line 27</em></th><td></td></tr>
    376445      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td> </td><td class="right">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td class="lineno" valign="top"></td></tr>
    377446      <tr><td class="lineno" valign="top"></td><td class="left">   a stored response to satisfy the request without successful</td><td> </td><td class="right">   a stored response to satisfy the request without successful</td><td class="lineno" valign="top"></td></tr>
     
    384453      <tr><td class="lineno" valign="top"></td><td class="left">   directive applies to both private and shared caches.  "MUST NOT</td><td> </td><td class="right">   directive applies to both private and shared caches.  "MUST NOT</td><td class="lineno" valign="top"></td></tr>
    385454      <tr><td class="lineno" valign="top"></td><td class="left">   store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right">   store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr>
    386       <tr><td><a name="diff0011" /></td></tr>
     455      <tr><td><a name="diff0017" /></td></tr>
    387456      <tr><td class="lineno" valign="top"></td><td class="lblock">   store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock">   store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr>
    388457      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock">   <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr>
     
    399468      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    400469      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    401       <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 24, line 34</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 25, line 10</em></th><td></td></tr>
     470      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 24, line 34</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 25, line 10</em></th><td></td></tr>
    402471      <tr><td class="lineno" valign="top"></td><td class="left">   still allowing caching of the rest of the response.</td><td> </td><td class="right">   still allowing caching of the rest of the response.</td><td class="lineno" valign="top"></td></tr>
    403472      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    410479      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    411480      <tr><td class="lineno" valign="top"></td><td class="left">   Note: Although it has been back-ported to many implementations, some</td><td> </td><td class="right">   Note: Although it has been back-ported to many implementations, some</td><td class="lineno" valign="top"></td></tr>
    412       <tr><td><a name="diff0012" /></td></tr>
     481      <tr><td><a name="diff0018" /></td></tr>
    413482      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP/1.0 caches will not recognize or obey this directive.  Also, <span class="delete">no-</span></td><td> </td><td class="rblock">   HTTP/1.0 caches will not recognize or obey this directive.  Also,</td><td class="lineno" valign="top"></td></tr>
    414483      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   cache</span> response directives with field-names are often handled by</td><td> </td><td class="rblock">   <span class="insert">no-cache</span> response directives with field-names are often handled by</td><td class="lineno" valign="top"></td></tr>
     
    423492      <tr><td class="lineno" valign="top"></td><td class="left">   directive applies to both private and shared caches.  "MUST NOT</td><td> </td><td class="right">   directive applies to both private and shared caches.  "MUST NOT</td><td class="lineno" valign="top"></td></tr>
    424493      <tr><td class="lineno" valign="top"></td><td class="left">   store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right">   store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr>
    425       <tr><td><a name="diff0013" /></td></tr>
     494      <tr><td><a name="diff0019" /></td></tr>
    426495      <tr><td class="lineno" valign="top"></td><td class="lblock">   store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock">   store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr>
    427496      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock">   <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr>
     
    438507      <tr><td class="lineno" valign="top"></td><td class="left">   (regardless of whether it implements a cache) MUST NOT transform the</td><td> </td><td class="right">   (regardless of whether it implements a cache) MUST NOT transform the</td><td class="lineno" valign="top"></td></tr>
    439508      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    440       <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 30, line 38</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 31, line 23</em></th><td></td></tr>
     509      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 30, line 38</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 31, line 23</em></th><td></td></tr>
    441510      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    442511      <tr><td class="lineno" valign="top"></td><td class="left">   Warnings have accompanying warn-text that describes the error, e.g.,</td><td> </td><td class="right">   Warnings have accompanying warn-text that describes the error, e.g.,</td><td class="lineno" valign="top"></td></tr>
     
    449518      <tr><td class="lineno" valign="top"></td><td class="left">   containing that warn-date before storing, forwarding, or using the</td><td> </td><td class="right">   containing that warn-date before storing, forwarding, or using the</td><td class="lineno" valign="top"></td></tr>
    450519      <tr><td class="lineno" valign="top"></td><td class="left">   message.  This allows recipients to exclude warning-values that were</td><td> </td><td class="right">   message.  This allows recipients to exclude warning-values that were</td><td class="lineno" valign="top"></td></tr>
    451       <tr><td><a name="diff0014" /></td></tr>
     520      <tr><td><a name="diff0020" /></td></tr>
    452521      <tr><td class="lineno" valign="top"></td><td class="lblock">   improperly retained after a cache validation.  If all of the <span class="delete">warning-</span></td><td> </td><td class="rblock">   improperly retained after a cache validation.  If all of the</td><td class="lineno" valign="top"></td></tr>
    453522      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   values</span> are excluded, the recipient MUST exclude the Warning header</td><td> </td><td class="rblock">   <span class="insert">warning-values</span> are excluded, the recipient MUST exclude the Warning</td><td class="lineno" valign="top"></td></tr>
     
    464533      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    465534      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    466       <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 31, line 32</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 32, line 15</em></th><td></td></tr>
     535      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 31, line 32</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 32, line 15</em></th><td></td></tr>
    467536      <tr><td class="lineno" valign="top"></td><td class="left">5.5.5.  Warning: 199 - "Miscellaneous Warning"</td><td> </td><td class="right">5.5.5.  Warning: 199 - "Miscellaneous Warning"</td><td class="lineno" valign="top"></td></tr>
    468537      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    475544      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    476545      <tr><td class="lineno" valign="top"></td><td class="left">   This Warning code MUST be added by a proxy if it applies any</td><td> </td><td class="right">   This Warning code MUST be added by a proxy if it applies any</td><td class="lineno" valign="top"></td></tr>
    477       <tr><td><a name="diff0015" /></td></tr>
     546      <tr><td><a name="diff0021" /></td></tr>
    478547      <tr><td class="lineno" valign="top"></td><td class="lblock">   transformation to the representation, such as changing the <span class="delete">content-</span></td><td> </td><td class="rblock">   transformation to the representation, such as changing the</td><td class="lineno" valign="top"></td></tr>
    479548      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   coding,</span> media-type, or modifying the representation data, unless this</td><td> </td><td class="rblock">   <span class="insert">content-coding,</span> media-type, or modifying the representation data,</td><td class="lineno" valign="top"></td></tr>
     
    490559      <tr><td class="lineno" valign="top"></td><td class="left">   User agents often have history mechanisms, such as "Back" buttons and</td><td> </td><td class="right">   User agents often have history mechanisms, such as "Back" buttons and</td><td class="lineno" valign="top"></td></tr>
    491560      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    492       <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 39, line 50</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 41, line 8</em></th><td></td></tr>
     561      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 39, line 50</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 41, line 8</em></th><td></td></tr>
    493562      <tr><td class="lineno" valign="top"></td><td class="left">   warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td> </td><td class="right">   warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td class="lineno" valign="top"></td></tr>
    494563      <tr><td class="lineno" valign="top"></td><td class="left">   warn-code = 3DIGIT</td><td> </td><td class="right">   warn-code = 3DIGIT</td><td class="lineno" valign="top"></td></tr>
     
    501570      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    502571      <tr><td class="lineno" valign="top"></td><td class="left">   1</td><td> </td><td class="right">   1</td><td class="lineno" valign="top"></td></tr>
    503       <tr><td><a name="diff0016" /></td></tr>
     572      <tr><td><a name="diff0022" /></td></tr>
    504573      <tr><td class="lineno" valign="top"></td><td class="lblock">      110 (warn-code)  3<span class="delete">0</span></td><td> </td><td class="rblock">      110 (warn-code)  3<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
    505574      <tr><td class="lineno" valign="top"></td><td class="left">      111 (warn-code)  31</td><td> </td><td class="right">      111 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
    506575      <tr><td class="lineno" valign="top"></td><td class="left">      112 (warn-code)  31</td><td> </td><td class="right">      112 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
    507576      <tr><td class="lineno" valign="top"></td><td class="left">      113 (warn-code)  31</td><td> </td><td class="right">      113 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
    508       <tr><td><a name="diff0017" /></td></tr>
     577      <tr><td><a name="diff0023" /></td></tr>
    509578      <tr><td class="lineno" valign="top"></td><td class="lblock">      199 (warn-code)  3<span class="delete">1</span></td><td> </td><td class="rblock">      199 (warn-code)  3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    510579      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    511580      <tr><td class="lineno" valign="top"></td><td class="left">   2</td><td> </td><td class="right">   2</td><td class="lineno" valign="top"></td></tr>
    512       <tr><td><a name="diff0018" /></td></tr>
     581      <tr><td><a name="diff0024" /></td></tr>
    513582      <tr><td class="lineno" valign="top"></td><td class="lblock">      214 (warn-code)  <span class="delete">31</span></td><td> </td><td class="rblock">      214 (warn-code)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
    514583      <tr><td class="lineno" valign="top"></td><td class="lblock">      299 (warn-code)  <span class="delete">31</span></td><td> </td><td class="rblock">      299 (warn-code)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
    515584      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    516585      <tr><td class="lineno" valign="top"></td><td class="left">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
    517       <tr><td><a name="diff0019" /></td></tr>
     586      <tr><td><a name="diff0025" /></td></tr>
    518587      <tr><td class="lineno" valign="top"></td><td class="lblock">      age  <span class="delete">10</span></td><td> </td><td class="rblock">      age  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
    519588      <tr><td class="lineno" valign="top"></td><td class="lblock">      Age header field  <span class="delete">20</span></td><td> </td><td class="rblock">      Age header field  <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr>
     
    529598      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    530599      <tr><td class="lineno" valign="top"></td><td class="left">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
    531       <tr><td><a name="diff0020" /></td></tr>
     600      <tr><td><a name="diff0026" /></td></tr>
    532601      <tr><td class="lineno" valign="top"></td><td class="lblock">      Expires header field  <span class="delete">27</span></td><td> </td><td class="rblock">      Expires header field  <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>
    533602      <tr><td class="lineno" valign="top"></td><td class="lblock">      explicit expiration time  <span class="delete">10</span></td><td> </td><td class="rblock">      explicit expiration time  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
    534603      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    535604      <tr><td class="lineno" valign="top"></td><td class="left">   F</td><td> </td><td class="right">   F</td><td class="lineno" valign="top"></td></tr>
    536       <tr><td><a name="diff0021" /></td></tr>
     605      <tr><td><a name="diff0027" /></td></tr>
    537606      <tr><td class="lineno" valign="top"></td><td class="lblock">      fresh  <span class="delete">10</span></td><td> </td><td class="rblock">      fresh  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
    538607      <tr><td class="lineno" valign="top"></td><td class="lblock">      freshness lifetime  <span class="delete">10</span></td><td> </td><td class="rblock">      freshness lifetime  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
     
    540609      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
    541610      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
    542       <tr><td><a name="diff0022" /></td></tr>
     611      <tr><td><a name="diff0028" /></td></tr>
    543612      <tr><td class="lineno" valign="top"></td><td class="lblock">         Age  <span class="delete">20</span></td><td> </td><td class="rblock">         Age  21</td><td class="lineno" valign="top"></td></tr>
    544613      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Cache-Control</span>  21</td><td> </td><td class="rblock">         <span class="insert">Cache-Control  22</span></td><td class="lineno" valign="top"></td></tr>
    545614      <tr><td class="lineno" valign="top"></td><td class="lblock">         cache-directive  <span class="delete">21</span></td><td> </td><td class="rblock">         cache-directive  <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
    546615      <tr><td class="lineno" valign="top"></td><td class="left">         delta-seconds  5</td><td> </td><td class="right">         delta-seconds  5</td><td class="lineno" valign="top"></td></tr>
    547       <tr><td><a name="diff0023" /></td></tr>
     616      <tr><td><a name="diff0029" /></td></tr>
    548617      <tr><td class="lineno" valign="top"></td><td class="lblock">         Expires  <span class="delete">27</span></td><td> </td><td class="rblock">         Expires  28</td><td class="lineno" valign="top"></td></tr>
    549618      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         extension-pragma</span>  28</td><td> </td><td class="rblock">         <span class="insert">extension-pragma  29</span></td><td class="lineno" valign="top"></td></tr>
     
    559628      <tr><td class="lineno" valign="top"></td><td class="left">   H</td><td> </td><td class="right">   H</td><td class="lineno" valign="top"></td></tr>
    560629      <tr><td class="lineno" valign="top"></td><td class="left">      Heuristic Expiration (warn-text)  31</td><td> </td><td class="right">      Heuristic Expiration (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
    561       <tr><td><a name="diff0024" /></td></tr>
     630      <tr><td><a name="diff0030" /></td></tr>
    562631      <tr><td class="lineno" valign="top"></td><td class="lblock">      heuristic expiration time  <span class="delete">10</span></td><td> </td><td class="rblock">      heuristic expiration time  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
    563632      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    564633      <tr><td class="lineno" valign="top"></td><td class="left">   M</td><td> </td><td class="right">   M</td><td class="lineno" valign="top"></td></tr>
    565       <tr><td><a name="diff0025" /></td></tr>
     634      <tr><td><a name="diff0031" /></td></tr>
    566635      <tr><td class="lineno" valign="top"></td><td class="lblock">      max-age (cache directive)  2<span class="delete">1</span>, 26</td><td> </td><td class="rblock">      max-age (cache directive)  2<span class="insert">2</span>, 26</td><td class="lineno" valign="top"></td></tr>
    567636      <tr><td class="lineno" valign="top"></td><td class="left">      max-stale (cache directive)  22</td><td> </td><td class="right">      max-stale (cache directive)  22</td><td class="lineno" valign="top"></td></tr>
    568637      <tr><td class="lineno" valign="top"></td><td class="left">      min-fresh (cache directive)  22</td><td> </td><td class="right">      min-fresh (cache directive)  22</td><td class="lineno" valign="top"></td></tr>
    569       <tr><td><a name="diff0026" /></td></tr>
     638      <tr><td><a name="diff0032" /></td></tr>
    570639      <tr><td class="lineno" valign="top"></td><td class="lblock">      Miscellaneous Persistent Warning (warn-text)  <span class="delete">31</span></td><td> </td><td class="rblock">      Miscellaneous Persistent Warning (warn-text)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
    571640      <tr><td class="lineno" valign="top"></td><td class="lblock">      Miscellaneous Warning (warn-text)  <span class="delete">31</span></td><td> </td><td class="rblock">      Miscellaneous Warning (warn-text)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
     
    573642      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    574643      <tr><td class="lineno" valign="top"></td><td class="left">   N</td><td> </td><td class="right">   N</td><td class="lineno" valign="top"></td></tr>
    575       <tr><td><a name="diff0027" /></td></tr>
     644      <tr><td><a name="diff0033" /></td></tr>
    576645      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-cache (cache directive)  <span class="delete">22, 24</span></td><td> </td><td class="rblock">      no-cache (cache directive)  <span class="insert">23, 25</span></td><td class="lineno" valign="top"></td></tr>
    577646      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-store (cache directive)  <span class="delete">22,</span> 24</td><td> </td><td class="rblock">      no-store (cache directive)  <span class="insert">23,</span> 24</td><td class="lineno" valign="top"></td></tr>
     
    582651      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    583652      <tr><td class="lineno" valign="top"></td><td class="left">   P</td><td> </td><td class="right">   P</td><td class="lineno" valign="top"></td></tr>
    584       <tr><td><a name="diff0028" /></td></tr>
     653      <tr><td><a name="diff0034" /></td></tr>
    585654      <tr><td class="lineno" valign="top"></td><td class="lblock">      Pragma header field  2<span class="delete">8</span></td><td> </td><td class="rblock">      Pragma header field  2<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
    586655      <tr><td class="lineno" valign="top"></td><td class="left">      private (cache directive)  25</td><td> </td><td class="right">      private (cache directive)  25</td><td class="lineno" valign="top"></td></tr>
     
    594663      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    595664      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
    596       <tr><td><a name="diff0029" /></td></tr>
     665      <tr><td><a name="diff0035" /></td></tr>
    597666      <tr><td class="lineno" valign="top"></td><td class="lblock">      s-maxage (cache directive)  2<span class="delete">6</span></td><td> </td><td class="rblock">      s-maxage (cache directive)  2<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
    598667      <tr><td class="lineno" valign="top"></td><td class="left">      shared cache  4</td><td> </td><td class="right">      shared cache  4</td><td class="lineno" valign="top"></td></tr>
    599       <tr><td><a name="diff0030" /></td></tr>
     668      <tr><td><a name="diff0036" /></td></tr>
    600669      <tr><td class="lineno" valign="top"></td><td class="lblock">      stale  1<span class="delete">0</span></td><td> </td><td class="rblock">      stale  1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
    601670      <tr><td class="lineno" valign="top"></td><td class="left">      strong validator  18</td><td> </td><td class="right">      strong validator  18</td><td class="lineno" valign="top"></td></tr>
    602671      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    603672      <tr><td class="lineno" valign="top"></td><td class="left">   T</td><td> </td><td class="right">   T</td><td class="lineno" valign="top"></td></tr>
    604       <tr><td><a name="diff0031" /></td></tr>
     673      <tr><td><a name="diff0037" /></td></tr>
    605674      <tr><td class="lineno" valign="top"></td><td class="lblock">      Transformation Applied (warn-text)  3<span class="delete">1</span></td><td> </td><td class="rblock">      Transformation Applied (warn-text)  3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
    606675      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    607676      <tr><td class="lineno" valign="top"></td><td class="left">   V</td><td> </td><td class="right">   V</td><td class="lineno" valign="top"></td></tr>
    608       <tr><td><a name="diff0032" /></td></tr>
     677      <tr><td><a name="diff0038" /></td></tr>
    609678      <tr><td class="lineno" valign="top"></td><td class="lblock">      validator  1<span class="delete">5</span></td><td> </td><td class="rblock">      validator  1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
    610679      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    620689
    621690     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
    622      <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 32 change blocks.&nbsp;</a></th></tr>
    623      <tr class="stats"><td></td><th><i>148 lines changed or deleted</i></th><th><i> </i></th><th><i>134 lines changed or added</i></th><td></td></tr>
     691     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 38 change blocks.&nbsp;</a></th></tr>
     692     <tr class="stats"><td></td><th><i>160 lines changed or deleted</i></th><th><i> </i></th><th><i>146 lines changed or added</i></th><td></td></tr>
    624693     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
    625694   </table>
  • draft-ietf-httpbis/latest/auth48/rfc7234.txt

    r2712 r2718  
    425425   cache MUST:
    426426
    427    o  delete any Warning header fields in the stored response with warn-
    428       code 1xx (see Section 5.5);
    429 
    430    o  retain any Warning header fields in the stored response with warn-
    431       code 2xx; and,
     427   o  delete any Warning header fields in the stored response with
     428      warn-code 1xx (see Section 5.5);
     429
     430   o  retain any Warning header fields in the stored response with
     431      warn-code 2xx; and,
    432432
    433433   o  use other header fields provided in the new response, aside from
     
    10441044   If a stored response is selected for update, the cache MUST:
    10451045
    1046    o  delete any Warning header fields in the stored response with warn-
    1047       code 1xx (see Section 5.5);
    1048 
    1049    o  retain any Warning header fields in the stored response with warn-
    1050       code 2xx; and,
     1046   o  delete any Warning header fields in the stored response with
     1047      warn-code 1xx (see Section 5.5);
     1048
     1049   o  retain any Warning header fields in the stored response with
     1050      warn-code 2xx; and,
    10511051
    10521052   o  use other header fields provided in the 304 (Not Modified)
     
    10911091   HEAD response, the cache MUST:
    10921092
    1093    o  delete any Warning header fields in the stored response with warn-
    1094       code 1xx (see Section 5.5);
    1095 
    1096    o  retain any Warning header fields in the stored response with warn-
    1097       code 2xx; and,
     1093   o  delete any Warning header fields in the stored response with
     1094      warn-code 1xx (see Section 5.5);
     1095
     1096   o  retain any Warning header fields in the stored response with
     1097      warn-code 2xx; and,
    10981098
    10991099   o  use other header fields provided in the HEAD response to replace
Note: See TracChangeset for help on using the changeset viewer.