Ignore:
Timestamp:
13/05/14 14:35:29 (6 years ago)
Author:
julian.reschke@…
Message:

punctuation, title case etc (#553)

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

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/auth48/p4-conditional.unpg.txt

    r2668 r2669  
    129129       2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10
    130130       2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10
    131        2.3.3.  Example: Entity-tags Varying on Content-Negotiated
     131       2.3.3.  Example: Entity-Tags Varying on Content-Negotiated
    132132               Resources  . . . . . . . . . . . . . . . . . . . . . . 11
    133      2.4.  When to Use Entity-tags and Last-Modified Dates  . . . . . 12
     133     2.4.  When to Use Entity-Tags and Last-Modified Dates  . . . . . 12
    134134   3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13
    135135     3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13
     
    238238   modification dates (Section 2.2) and opaque entity tags
    239239   (Section 2.3).  Additional metadata that reflects resource state has
    240    been defined by various extensions of HTTP, such as WebDAV [RFC4918],
    241    that are beyond the scope of this specification.  A resource metadata
    242    value is referred to as a "validator" when it is used within a
    243    precondition.
     240   been defined by various extensions of HTTP, such as Web Distributed
     241   Authoring and Versioning (WebDAV, [RFC4918]), that are beyond the
     242   scope of this specification.  A resource metadata value is referred
     243   to as a "validator" when it is used within a precondition.
    244244
    2452452.1.  Weak versus Strong
     
    446446   have a Date value equal to its Last-Modified time.  The arbitrary 60-
    447447   second limit guards against the possibility that the Date and Last-
    448    Modified values are generated from different clocks, or at somewhat
     448   Modified values are generated from different clocks or at somewhat
    449449   different times during the preparation of the response.  An
    450450   implementation MAY use a value larger than 60 seconds, if it is
     
    481481
    482482      Note: Previously, opaque-tag was defined to be a quoted-string
    483       ([RFC2616], Section 3.11), thus some recipients might perform
     483      ([RFC2616], Section 3.11); thus, some recipients might perform
    484484      backslash unescaping.  Servers therefore ought to avoid backslash
    485485      characters in entity tags.
     
    532532   a modification timestamp that has sub-second resolution.
    533533
    534    An origin server SHOULD send ETag for any selected representation for
    535    which detection of changes can be reasonably and consistently
     534   An origin server SHOULD send an ETag for any selected representation
     535   for which detection of changes can be reasonably and consistently
    536536   determined, since the entity-tag's use in conditional requests and
    537537   evaluating cache freshness ([RFC7234]) can result in a substantial
     
    542542
    543543   There are two entity-tag comparison functions, depending on whether
    544    the comparison context allows the use of weak validators or not:
     544   or not the comparison context allows the use of weak validators:
    545545
    546546   o  Strong comparison: two entity-tags are equivalent if both are not
     
    551551      being tagged as "weak".
    552552
    553    The example below shows the results for a set of entity-tag pairs,
    554    and both the weak and strong comparison function results:
     553   The example below shows the results for a set of entity-tag pairs and
     554   both the weak and strong comparison function results:
    555555
    556556   +--------+--------+-------------------+-----------------+
     
    572572
    573573
    574 2.3.3.  Example: Entity-tags Varying on Content-Negotiated Resources
     5742.3.3.  Example: Entity-Tags Varying on Content-Negotiated Resources
    575575
    576576   Consider a resource that is subject to content negotiation (Section
     
    637637      entity-tags.
    638638
    639 2.4.  When to Use Entity-tags and Last-Modified Dates
     6392.4.  When to Use Entity-Tags and Last-Modified Dates
    640640
    641641   In 200 (OK) responses to GET or HEAD, an origin server:
     
    731731
    732732   An origin server MUST NOT perform the requested method if a received
    733    If-Match condition evaluates to false; instead the origin server MUST
    734    respond with either: a) the 412 (Precondition Failed) status code;
    735    or, b) one of the 2xx (Successful) status codes if the origin server
     733   If-Match condition evaluates to false; instead, the origin server
     734   MUST respond with either a) the 412 (Precondition Failed) status code
     735   or b) one of the 2xx (Successful) status codes if the origin server
    736736
    737737
     
    816816   condition evaluates to false; instead, the origin server MUST respond
    817817   with either a) the 304 (Not Modified) status code if the request
    818    method is GET or HEAD; or, b) the 412 (Precondition Failed) status
    819    code for all other request methods.
     818   method is GET or HEAD or b) the 412 (Precondition Failed) status code
     819   for all other request methods.
    820820
    821821   Requirements on cache handling of a received If-None-Match header
     
    839839   If-None-Match header field; the condition in If-None-Match is
    840840   considered to be a more accurate replacement for the condition in If-
    841    Modified-Since and the two are only combined for the sake of
     841   Modified-Since, and the two are only combined for the sake of
    842842   interoperating with older intermediaries that might not implement If-
    843843   None-Match.
     
    861861   If-Modified-Since is typically used for two distinct purposes: 1) to
    862862   allow efficient updates of a cached representation that does not have
    863    an entity-tag; and, 2) to limit the scope of a web traversal to
     863   an entity-tag and 2) to limit the scope of a web traversal to
    864864   resources that have recently changed.
    865865
     
    923923   an If-Match header field; the condition in If-Match is considered to
    924924   be a more accurate replacement for the condition in If-Unmodified-
    925    Since and the two are only combined for the sake of interoperating
     925   Since, and the two are only combined for the sake of interoperating
    926926   with older intermediaries that might not implement If-Match.
    927927
     
    945945   if the selected representation's last modification date is more
    946946   recent than the date provided in the field-value; instead the origin
    947    server MUST respond with either: a) the 412 (Precondition Failed)
    948    status code; or, b) one of the 2xx (Successful) status codes if the
     947   server MUST respond with either a) the 412 (Precondition Failed)
     948   status code or b) one of the 2xx (Successful) status codes if the
    949949   origin server has verified that a state change is being requested and
    950950   the final state is already reflected in the current state of the
     
    975975   The "If-Range" header field provides a special conditional request
    976976   mechanism that is similar to the If-Match and If-Unmodified-Since
    977    header fields but instructs the recipient to ignore the Range header
    978    field if the validator doesn't match, resulting in transfer of the
    979    new selected representation instead of a 412 response.  If-Range is
    980    defined in Section 3.2 of [RFC7233].
     977   header fields but that instructs the recipient to ignore the Range
     978   header field if the validator doesn't match, resulting in transfer of
     979   the new selected representation instead of a 412 response.  If-Range
     980   is defined in Section 3.2 of [RFC7233].
    981981
    9829824.  Status Code Definitions
     
    986986   The 304 (Not Modified) status code indicates that a conditional GET
    987987   or HEAD request has been received and would have resulted in a 200
    988    (OK) response if it were not for the fact that the condition has
     988   (OK) response if it were not for the fact that the condition
    989989   evaluated to false.  In other words, there is no need for the server
    990990   to transfer a representation of the target resource because the
     
    10301030   tested on the server.  This response code allows the client to place
    10311031   preconditions on the current resource state (its current
    1032    representations and metadata) and thus prevent the request method
     1032   representations and metadata) and, thus, prevent the request method
    10331033   from being applied if the target resource is in an unexpected state.
    10341034
  • draft-ietf-httpbis/latest/auth48/rfc7232.abdiff.txt

    r2668 r2669  
    9797
    9898
    99 Section 10., paragraph 0:
    100 OLD:
    101 
    102     1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
    103       1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4
    104       1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4
    105     2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5
    106       2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5
    107       2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7
    108         2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7
    109         2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8
    110       2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
    111         2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10
    112         2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10
    113         2.3.3.  Example: Entity-tags Varying on Content-Negotiated
    114                 Resources  . . . . . . . . . . . . . . . . . . . . . . 11
    115       2.4.  When to Use Entity-tags and Last-Modified Dates  . . . . . 12
    116     3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13
    117       3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13
    118       3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14
    119       3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15
    120       3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16
    121       3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18
    122     4.  Status Code Definitions  . . . . . . . . . . . . . . . . . . . 18
    123       4.1.  304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18
    124       4.2.  412 Precondition Failed  . . . . . . . . . . . . . . . . . 18
    125     5.  Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    126     6.  Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    127     7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
    128       7.1.  Status Code Registration . . . . . . . . . . . . . . . . . 21
    129       7.2.  Header Field Registration  . . . . . . . . . . . . . . . . 21
    130     8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 22
    131     9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22
    132     10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    133       10.1. Normative References . . . . . . . . . . . . . . . . . . . 23
    134       10.2. Informative References . . . . . . . . . . . . . . . . . . 23
    135     Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 23
    136     Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 24
    137     Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 24
    138     Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    139 
    140 NEW:
    141 
    142     1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
    143       1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4
    144       1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4
    145     2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5
    146       2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5
    147       2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7
    148         2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7
    149         2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8
    150       2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
    151         2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10
    152         2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10
    153         2.3.3.  Example: Entity-Tags Varying on Content-Negotiated
    154                 Resources  . . . . . . . . . . . . . . . . . . . . . . 11
    155       2.4.  When to Use Entity-Tags and Last-Modified Dates  . . . . . 12
    156     3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13
    157       3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13
    158       3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14
    159       3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15
    160       3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16
    161       3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18
    162     4.  Status Code Definitions  . . . . . . . . . . . . . . . . . . . 18
    163       4.1.  304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18
    164       4.2.  412 Precondition Failed  . . . . . . . . . . . . . . . . . 18
    165     5.  Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    166     6.  Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . 19
    167     7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 21
    168       7.1.  Status Code Registration . . . . . . . . . . . . . . . . . 21
    169       7.2.  Header Field Registration  . . . . . . . . . . . . . . . . 21
    170     8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 22
    171     9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 22
    172     10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23
    173       10.1. Normative References . . . . . . . . . . . . . . . . . . . 23
    174       10.2. Informative References . . . . . . . . . . . . . . . . . . 23
    175     Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 23
    176     Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 24
    177     Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 24
    178     Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
    179 
    180 
    18199Section 2., paragraph 1:
    182100OLD:
     
    186104    modification dates (Section 2.2) and opaque entity tags
    187105    (Section 2.3).  Additional metadata that reflects resource state has
    188     been defined by various extensions of HTTP, such as WebDAV [RFC4918],
    189     that are beyond the scope of this specification.  A resource metadata
    190     value is referred to as a "validator" when it is used within a
    191     precondition.
     106    been defined by various extensions of HTTP, such as Web Distributed
     107    Authoring and Versioning (WebDAV, [RFC4918]), that are beyond the
     108    scope of this specification.  A resource metadata value is referred
     109    to as a "validator" when it is used within a precondition.
    192110
    193111NEW:
     
    267185
    268186
    269 Section 2.2.2., paragraph 12:
    270 OLD:
    271 
    272     This method relies on the fact that if two different responses were
    273     sent by the origin server during the same second, but both had the
    274     same Last-Modified time, then at least one of those responses would
    275     have a Date value equal to its Last-Modified time.  The arbitrary 60-
    276     second limit guards against the possibility that the Date and Last-
    277     Modified values are generated from different clocks, or at somewhat
    278     different times during the preparation of the response.  An
    279     implementation MAY use a value larger than 60 seconds, if it is
    280     believed that 60 seconds is too short.
    281 
    282 NEW:
    283 
    284     This method relies on the fact that if two different responses were
    285     sent by the origin server during the same second, but both had the
    286     same Last-Modified time, then at least one of those responses would
    287     have a Date value equal to its Last-Modified time.  The arbitrary 60-
    288     second limit guards against the possibility that the Date and Last-
    289     Modified values are generated from different clocks or at somewhat
    290     different times during the preparation of the response.  An
    291     implementation MAY use a value larger than 60 seconds, if it is
    292     believed that 60 seconds is too short.
    293 
    294 
    295 Section 2.3., paragraph 4:
    296 OLD:
    297 
    298        Note: Previously, opaque-tag was defined to be a quoted-string
    299        ([RFC2616], Section 3.11), thus some recipients might perform
    300        backslash unescaping.  Servers therefore ought to avoid backslash
    301        characters in entity tags.
    302 
    303 NEW:
    304 
    305        Note: Previously, opaque-tag was defined to be a quoted-string
    306        ([RFC2616], Section 3.11); thus, some recipients might perform
    307        backslash unescaping.  Servers therefore ought to avoid backslash
    308        characters in entity tags.
    309 
    310 
    311 Section 2.3.1., paragraph 3:
    312 OLD:
    313 
    314     An origin server SHOULD send ETag for any selected representation for
    315     which detection of changes can be reasonably and consistently
    316     determined, since the entity-tag's use in conditional requests and
    317     evaluating cache freshness ([RFC7234]) can result in a substantial
    318     reduction of HTTP network traffic and can be a significant factor in
    319     improving service scalability and reliability.
    320 
    321 NEW:
    322 
    323     An origin server SHOULD send an ETag for any selected representation
    324     for which detection of changes can be reasonably and consistently
    325     determined, since the entity-tag's use in conditional requests and
    326     evaluating cache freshness ([RFC7234]) can result in a substantial
    327     reduction of HTTP network traffic and can be a significant factor in
    328     improving service scalability and reliability.
    329 
    330 
    331 Section 2.3.2., paragraph 1:
    332 OLD:
    333 
    334     There are two entity-tag comparison functions, depending on whether
    335     the comparison context allows the use of weak validators or not:
    336 
    337 NEW:
    338 
    339     There are two entity-tag comparison functions, depending on whether
    340     or not the comparison context allows the use of weak validators:
    341 
    342 
    343 Section 2.3.2., paragraph 4:
    344 OLD:
    345 
    346     The example below shows the results for a set of entity-tag pairs,
    347     and both the weak and strong comparison function results:
    348 
    349 NEW:
    350 
    351     The example below shows the results for a set of entity-tag pairs and
    352     both the weak and strong comparison function results:
    353 
    354 
    355 Section 2.3.2., paragraph 6:
    356 OLD:
    357 
    358  2.3.3.  Example: Entity-tags Varying on Content-Negotiated Resources
    359 
    360 NEW:
    361 
    362  2.3.3.  Example: Entity-Tags Varying on Content-Negotiated Resources
    363 
    364 
    365 Section 3.4, paragraph 12:
    366 OLD:
    367 
    368  2.4.  When to Use Entity-tags and Last-Modified Dates
    369 
    370 NEW:
    371 
    372  2.4.  When to Use Entity-Tags and Last-Modified Dates
    373 
    374 
    375187Section 3.1., paragraph 8:
    376188OLD:
    377189
    378190    An origin server MUST NOT perform the requested method if a received
    379     If-Match condition evaluates to false; instead the origin server MUST
    380     respond with either: a) the 412 (Precondition Failed) status code;
    381     or, b) one of the 2xx (Successful) status codes if the origin server
     191    If-Match condition evaluates to false; instead, the origin server
     192    MUST respond with either a) the 412 (Precondition Failed) status code
     193    or b) one of the 2xx (Successful) status codes if the origin server
    382194    has verified that a state change is being requested and the final
    383195    state is already reflected in the current state of the target
     
    407219
    408220
    409 Section 304, paragraph 3:
    410 OLD:
    411 
    412     An origin server MUST NOT perform the requested method if the
    413     condition evaluates to false; instead, the origin server MUST respond
    414     with either a) the 304 (Not Modified) status code if the request
    415     method is GET or HEAD; or, b) the 412 (Precondition Failed) status
    416     code for all other request methods.
    417 
    418 NEW:
    419 
    420     An origin server MUST NOT perform the requested method if the
    421     condition evaluates to false; instead, the origin server MUST respond
    422     with either a) the 304 (Not Modified) status code if the request
    423     method is GET or HEAD or b) the 412 (Precondition Failed) status code
    424     for all other request methods.
    425 
    426 
    427 Section 3.3., paragraph 8:
    428 OLD:
    429 
    430     If-Modified-Since is typically used for two distinct purposes: 1) to
    431     allow efficient updates of a cached representation that does not have
    432     an entity-tag; and, 2) to limit the scope of a web traversal to
    433     resources that have recently changed.
    434 
    435 NEW:
    436 
    437     If-Modified-Since is typically used for two distinct purposes: 1) to
    438     allow efficient updates of a cached representation that does not have
    439     an entity-tag and 2) to limit the scope of a web traversal to
    440     resources that have recently changed.
    441 
    442 
    443 Section 3.4., paragraph 5:
    444 OLD:
    445 
    446     A recipient MUST ignore If-Unmodified-Since if the request contains
    447     an If-Match header field; the condition in If-Match is considered to
    448     be a more accurate replacement for the condition in If-Unmodified-
    449     Since and the two are only combined for the sake of interoperating
    450     with older intermediaries that might not implement If-Match.
    451 
    452 NEW:
    453 
    454     A recipient MUST ignore If-Unmodified-Since if the request contains
    455     an If-Match header field; the condition in If-Match is considered to
    456     be a more accurate replacement for the condition in If-Unmodified-
    457     Since, and the two are only combined for the sake of interoperating
    458     with older intermediaries that might not implement If-Match.
    459 
    460 
    461 Section 3.4., paragraph 9:
    462 OLD:
    463 
    464     An origin server that receives an If-Unmodified-Since header field
    465     MUST evaluate the condition prior to performing the method
    466     (Section 5).  The origin server MUST NOT perform the requested method
    467     if the selected representation's last modification date is more
    468     recent than the date provided in the field-value; instead the origin
    469     server MUST respond with either: a) the 412 (Precondition Failed)
    470     status code; or, b) one of the 2xx (Successful) status codes if the
    471     origin server has verified that a state change is being requested and
    472     the final state is already reflected in the current state of the
    473     target resource (i.e., the change requested by the user agent has
    474     already succeeded, but the user agent might not be aware of that
    475     because the prior response message was lost or a compatible change
    476     was made by some other user agent).  In the latter case, the origin
    477     server MUST NOT send a validator header field in the response unless
    478     it can verify that the request is a duplicate of an immediately prior
    479     change made by the same user agent.
    480 
    481 NEW:
    482 
    483     An origin server that receives an If-Unmodified-Since header field
    484     MUST evaluate the condition prior to performing the method
    485     (Section 5).  The origin server MUST NOT perform the requested method
    486     if the selected representation's last modification date is more
    487     recent than the date provided in the field-value; instead the origin
    488     server MUST respond with either a) the 412 (Precondition Failed)
    489     status code or b) one of the 2xx (Successful) status codes if the
    490     origin server has verified that a state change is being requested and
    491     the final state is already reflected in the current state of the
    492     target resource (i.e., the change requested by the user agent has
    493     already succeeded, but the user agent might not be aware of that
    494     because the prior response message was lost or a compatible change
    495     was made by some other user agent).  In the latter case, the origin
    496     server MUST NOT send a validator header field in the response unless
    497     it can verify that the request is a duplicate of an immediately prior
    498     change made by the same user agent.
     221Section 3.3., paragraph 5:
     222OLD:
     223
     224    A recipient MUST ignore If-Modified-Since if the request contains an
     225    If-None-Match header field; the condition in If-None-Match is
     226    considered to be a more accurate replacement for the condition in If-
     227    Modified-Since, and the two are only combined for the sake of
     228    interoperating with older intermediaries that might not implement If-
     229    None-Match.
     230
     231NEW:
     232
     233    A recipient MUST ignore If-Modified-Since if the request contains an
     234    If-None-Match header field; the condition in If-None-Match is
     235    considered to be a more accurate replacement for the condition in If-
     236    Modified-Since and the two are only combined for the sake of
     237    interoperating with older intermediaries that might not implement If-
     238    None-Match.
    499239
    500240
     
    504244    The "If-Range" header field provides a special conditional request
    505245    mechanism that is similar to the If-Match and If-Unmodified-Since
    506     header fields but instructs the recipient to ignore the Range header
    507     field if the validator doesn't match, resulting in transfer of the
    508     new selected representation instead of a 412 response.  If-Range is
    509     defined in Section 3.2 of [RFC7233].
     246    header fields but that instructs the recipient to ignore the Range
     247    header field if the validator doesn't match, resulting in transfer of
     248    the new selected representation instead of a 412 response.  If-Range
     249    is defined in Section 3.2 of [RFC7233].
    510250
    511251NEW:
     
    519259
    520260
    521 Section 4.1., paragraph 1:
    522 OLD:
    523 
    524     The 304 (Not Modified) status code indicates that a conditional GET
    525     or HEAD request has been received and would have resulted in a 200
    526     (OK) response if it were not for the fact that the condition has
    527     evaluated to false.  In other words, there is no need for the server
    528     to transfer a representation of the target resource because the
    529     request indicates that the client, which made the request
    530     conditional, already has a valid representation; the server is
    531     therefore redirecting the client to make use of that stored
    532     representation as if it were the payload of a 200 (OK) response.
    533 
    534 NEW:
    535 
    536     The 304 (Not Modified) status code indicates that a conditional GET
    537     or HEAD request has been received and would have resulted in a 200
    538     (OK) response if it were not for the fact that the condition
    539     evaluated to false.  In other words, there is no need for the server
    540     to transfer a representation of the target resource because the
    541     request indicates that the client, which made the request
    542     conditional, already has a valid representation; the server is
    543     therefore redirecting the client to make use of that stored
    544     representation as if it were the payload of a 200 (OK) response.
    545 
    546 
    547261Section 4.1., paragraph 2:
    548262OLD:
     
    609323    A 304 (Not Modified) response cannot contain a message-body; it is
    610324    always terminated by the first empty line after the header fields.
    611 
    612 
    613 Section 4.2., paragraph 1:
    614 OLD:
    615 
    616     The 412 (Precondition Failed) status code indicates that one or more
    617     conditions given in the request header fields evaluated to false when
    618     tested on the server.  This response code allows the client to place
    619     preconditions on the current resource state (its current
    620     representations and metadata) and thus prevent the request method
    621     from being applied if the target resource is in an unexpected state.
    622 
    623 NEW:
    624 
    625     The 412 (Precondition Failed) status code indicates that one or more
    626     conditions given in the request header fields evaluated to false when
    627     tested on the server.  This response code allows the client to place
    628     preconditions on the current resource state (its current
    629     representations and metadata) and, thus, prevent the request method
    630     from being applied if the target resource is in an unexpected state.
    631325
    632326
  • draft-ietf-httpbis/latest/auth48/rfc7232.diff.html

    r2668 r2669  
    104104      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document.  Please review these documents</td><td> </td><td class="right">   publication of this document.  Please review these documents</td><td class="lineno" valign="top"></td></tr>
    105105      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    106       <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 18</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 18</em></th><td></td></tr>
    107       <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.1.  Conformance and Error Handling . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
    108       <tr><td class="lineno" valign="top"></td><td class="left">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.2.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
    109       <tr><td class="lineno" valign="top"></td><td class="left">   2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">   2.  Validators . . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
    110       <tr><td class="lineno" valign="top"></td><td class="left">     2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     2.1.  Weak versus Strong . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
    111       <tr><td class="lineno" valign="top"></td><td class="left">     2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     2.2.  Last-Modified  . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
    112       <tr><td class="lineno" valign="top"></td><td class="left">       2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">       2.2.1.  Generation . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
    113       <tr><td class="lineno" valign="top"></td><td class="left">       2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8</td><td> </td><td class="right">       2.2.2.  Comparison . . . . . . . . . . . . . . . . . . . . . .  8</td><td class="lineno" valign="top"></td></tr>
    114       <tr><td class="lineno" valign="top"></td><td class="left">     2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     2.3.  ETag . . . . . . . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
    115       <tr><td class="lineno" valign="top"></td><td class="left">       2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">       2.3.1.  Generation . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
    116       <tr><td class="lineno" valign="top"></td><td class="left">       2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10</td><td> </td><td class="right">       2.3.2.  Comparison . . . . . . . . . . . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
    117       <tr><td><a name="diff0007" /></td></tr>
    118       <tr><td class="lineno" valign="top"></td><td class="lblock">       2.3.3.  Example: Entity-<span class="delete">t</span>ags Varying on Content-Negotiated</td><td> </td><td class="rblock">       2.3.3.  Example: Entity-<span class="insert">T</span>ags Varying on Content-Negotiated</td><td class="lineno" valign="top"></td></tr>
    119       <tr><td class="lineno" valign="top"></td><td class="left">               Resources  . . . . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="right">               Resources  . . . . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno" valign="top"></td></tr>
    120       <tr><td><a name="diff0008" /></td></tr>
    121       <tr><td class="lineno" valign="top"></td><td class="lblock">     2.4.  When to Use Entity-<span class="delete">t</span>ags and Last-Modified Dates  . . . . . 12</td><td> </td><td class="rblock">     2.4.  When to Use Entity-<span class="insert">T</span>ags and Last-Modified Dates  . . . . . 12</td><td class="lineno" valign="top"></td></tr>
    122       <tr><td class="lineno" valign="top"></td><td class="left">   3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">   3.  Precondition Header Fields . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
    123       <tr><td class="lineno" valign="top"></td><td class="left">     3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">     3.1.  If-Match . . . . . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
    124       <tr><td class="lineno" valign="top"></td><td class="left">     3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right">     3.2.  If-None-Match  . . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
    125       <tr><td class="lineno" valign="top"></td><td class="left">     3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     3.3.  If-Modified-Since  . . . . . . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
    126       <tr><td class="lineno" valign="top"></td><td class="left">     3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     3.4.  If-Unmodified-Since  . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
    127       <tr><td class="lineno" valign="top"></td><td class="left">     3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     3.5.  If-Range . . . . . . . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
    128       <tr><td class="lineno" valign="top"></td><td class="left">   4.  Status Code Definitions  . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">   4.  Status Code Definitions  . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
    129       <tr><td class="lineno" valign="top"></td><td class="left">     4.1.  304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     4.1.  304 Not Modified . . . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
    130       <tr><td class="lineno" valign="top"></td><td class="left">     4.2.  412 Precondition Failed  . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right">     4.2.  412 Precondition Failed  . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
    131       <tr><td class="lineno" valign="top"></td><td class="left">   5.  Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19</td><td> </td><td class="right">   5.  Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . 19</td><td class="lineno" valign="top"></td></tr>
    132       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    133       <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 5, line 12</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 5, line 12</em></th><td></td></tr>
    134       <tr><td class="lineno" valign="top"></td><td class="left">   repetition).  Appendix B describes rules imported from other</td><td> </td><td class="right">   repetition).  Appendix B describes rules imported from other</td><td class="lineno" valign="top"></td></tr>
     106      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 5, line 13</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 5, line 13</em></th><td></td></tr>
    135107      <tr><td class="lineno" valign="top"></td><td class="left">   documents.  Appendix C shows the collected grammar with all list</td><td> </td><td class="right">   documents.  Appendix C shows the collected grammar with all list</td><td class="lineno" valign="top"></td></tr>
    136108      <tr><td class="lineno" valign="top"></td><td class="left">   operators expanded to standard ABNF notation.</td><td> </td><td class="right">   operators expanded to standard ABNF notation.</td><td class="lineno" valign="top"></td></tr>
     
    142114      <tr><td class="lineno" valign="top"></td><td class="left">   modification dates (Section 2.2) and opaque entity tags</td><td> </td><td class="right">   modification dates (Section 2.2) and opaque entity tags</td><td class="lineno" valign="top"></td></tr>
    143115      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 2.3).  Additional metadata that reflects resource state has</td><td> </td><td class="right">   (Section 2.3).  Additional metadata that reflects resource state has</td><td class="lineno" valign="top"></td></tr>
    144       <tr><td><a name="diff0009" /></td></tr>
    145       <tr><td class="lineno" valign="top"></td><td class="lblock">   been defined by various extensions of HTTP, such as <span class="delete">WebDAV</span> [RFC4918],</td><td> </td><td class="rblock">   been defined by various extensions of HTTP, such as <span class="insert">Web Distributed</span></td><td class="lineno" valign="top"></td></tr>
    146       <tr><td class="lineno" valign="top"></td><td class="lblock">   that are beyond the scope of this specification.  A resource metadata</td><td> </td><td class="rblock"><span class="insert">   Authoring and Versioning (WebDAV)</span> [RFC4918], that are beyond the</td><td class="lineno" valign="top"></td></tr>
    147       <tr><td class="lineno" valign="top"></td><td class="lblock">   value is referred to as a "validator" when it is used within a</td><td> </td><td class="rblock">   scope of this specification.  A resource metadata value is referred</td><td class="lineno" valign="top"></td></tr>
    148       <tr><td class="lineno" valign="top"></td><td class="lblock">   precondition.</td><td> </td><td class="rblock">   to as a "validator" when it is used within a precondition.</td><td class="lineno" valign="top"></td></tr>
     116      <tr><td class="lineno" valign="top"></td><td class="left">   been defined by various extensions of HTTP, such as Web Distributed</td><td> </td><td class="right">   been defined by various extensions of HTTP, such as Web Distributed</td><td class="lineno" valign="top"></td></tr>
     117      <tr><td><a name="diff0007" /></td></tr>
     118      <tr><td class="lineno" valign="top"></td><td class="lblock">   Authoring and Versioning (WebDAV<span class="delete">, [RFC4918])</span>, that are beyond the</td><td> </td><td class="rblock">   Authoring and Versioning (WebDAV<span class="insert">) [RFC4918]</span>, that are beyond the</td><td class="lineno" valign="top"></td></tr>
     119      <tr><td class="lineno" valign="top"></td><td class="left">   scope of this specification.  A resource metadata value is referred</td><td> </td><td class="right">   scope of this specification.  A resource metadata value is referred</td><td class="lineno" valign="top"></td></tr>
     120      <tr><td class="lineno" valign="top"></td><td class="left">   to as a "validator" when it is used within a precondition.</td><td> </td><td class="right">   to as a "validator" when it is used within a precondition.</td><td class="lineno" valign="top"></td></tr>
    149121      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    150122      <tr><td class="lineno" valign="top"></td><td class="left">2.1.  Weak versus Strong</td><td> </td><td class="right">2.1.  Weak versus Strong</td><td class="lineno" valign="top"></td></tr>
     
    165137      <tr><td class="lineno" valign="top"></td><td class="left">   the representation data, such as when a semantically significant part</td><td> </td><td class="right">   the representation data, such as when a semantically significant part</td><td class="lineno" valign="top"></td></tr>
    166138      <tr><td class="lineno" valign="top"></td><td class="left">   of the representation metadata is changed (e.g., Content-Type), but</td><td> </td><td class="right">   of the representation metadata is changed (e.g., Content-Type), but</td><td class="lineno" valign="top"></td></tr>
    167       <tr><td><a name="diff0010" /></td></tr>
     139      <tr><td><a name="diff0008" /></td></tr>
    168140      <tr><td class="lineno" valign="top"></td><td class="lblock">   it is in the best interests of the origin server to <span class="delete">only change</span> the</td><td> </td><td class="rblock">   it is in the best interests of the origin server to <span class="insert">change only</span> the</td><td class="lineno" valign="top"></td></tr>
    169141      <tr><td class="lineno" valign="top"></td><td class="left">   value when it is necessary to invalidate the stored responses held by</td><td> </td><td class="right">   value when it is necessary to invalidate the stored responses held by</td><td class="lineno" valign="top"></td></tr>
     
    178150      <tr><td class="lineno" valign="top"></td><td class="left">   resources (i.e., the same strong validator might be in use for</td><td> </td><td class="right">   resources (i.e., the same strong validator might be in use for</td><td class="lineno" valign="top"></td></tr>
    179151      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    180       <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 6, line 17</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 6, line 17</em></th><td></td></tr>
     152      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 6, line 17</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 6, line 17</em></th><td></td></tr>
    181153      <tr><td class="lineno" valign="top"></td><td class="left">   not need to be recalculated every time a validation request is</td><td> </td><td class="right">   not need to be recalculated every time a validation request is</td><td class="lineno" valign="top"></td></tr>
    182154      <tr><td class="lineno" valign="top"></td><td class="left">   received.  However, if a resource has distinct representations that</td><td> </td><td class="right">   received.  However, if a resource has distinct representations that</td><td class="lineno" valign="top"></td></tr>
     
    189161      <tr><td class="lineno" valign="top"></td><td class="left">   not change for every change to the representation data.  This</td><td> </td><td class="right">   not change for every change to the representation data.  This</td><td class="lineno" valign="top"></td></tr>
    190162      <tr><td class="lineno" valign="top"></td><td class="left">   weakness might be due to limitations in how the value is calculated,</td><td> </td><td class="right">   weakness might be due to limitations in how the value is calculated,</td><td class="lineno" valign="top"></td></tr>
    191       <tr><td><a name="diff0011" /></td></tr>
     163      <tr><td><a name="diff0009" /></td></tr>
    192164      <tr><td class="lineno" valign="top"></td><td class="lblock">   such as clock <span class="delete">resolution or</span> an inability to ensure uniqueness for all</td><td> </td><td class="rblock">   such as clock <span class="insert">resolution,</span> an inability to ensure uniqueness for all</td><td class="lineno" valign="top"></td></tr>
    193165      <tr><td class="lineno" valign="top"></td><td class="lblock">   possible representations of the resource, or <span class="delete">due to</span> a desire <span class="delete">by</span> the</td><td> </td><td class="rblock">   possible representations of the resource, or a desire <span class="insert">of</span> the resource</td><td class="lineno" valign="top"></td></tr>
     
    206178      <tr><td class="lineno" valign="top"></td><td class="left">   adjusted dynamically based on server load or weather quality).</td><td> </td><td class="right">   adjusted dynamically based on server load or weather quality).</td><td class="lineno" valign="top"></td></tr>
    207179      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    208       <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 8, line 25</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 8, line 25</em></th><td></td></tr>
     180      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 25</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 8, line 25</em></th><td></td></tr>
    209181      <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>
    210182      <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>
     
    217189      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    218190      <tr><td class="lineno" valign="top"></td><td class="left">   o  The validator is about to be used by a client in an If-Modified-</td><td> </td><td class="right">   o  The validator is about to be used by a client in an If-Modified-</td><td class="lineno" valign="top"></td></tr>
    219       <tr><td><a name="diff0012" /></td></tr>
     191      <tr><td><a name="diff0010" /></td></tr>
    220192      <tr><td class="lineno" valign="top"></td><td class="lblock">      <span class="delete">Since,</span> If-Unmodified-Since header field, because the client has a</td><td> </td><td class="rblock">      <span class="insert">Since or</span> If-Unmodified-Since header field, because the client has</td><td class="lineno" valign="top"></td></tr>
    221193      <tr><td class="lineno" valign="top"></td><td class="lblock">      cache entry, or If-Range for the associated representation, and</td><td> </td><td class="rblock">      a cache entry, or If-Range for the associated representation, and</td><td class="lineno" valign="top"></td></tr>
     
    231203      <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>
    232204      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    233       <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 8, line 50</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 8, line 50</em></th><td></td></tr>
    234       <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>
    235       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    236       <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>
    237       <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>
    238       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    239       <tr><td class="lineno" valign="top"></td><td class="left">   This method relies on the fact that if two different responses were</td><td> </td><td class="right">   This method relies on the fact that if two different responses were</td><td class="lineno" valign="top"></td></tr>
    240       <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>
    241       <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>
    242       <tr><td class="lineno" valign="top"></td><td class="left">   have a Date value equal to its Last-Modified time.  The arbitrary 60-</td><td> </td><td class="right">   have a Date value equal to its Last-Modified time.  The arbitrary 60-</td><td class="lineno" valign="top"></td></tr>
    243       <tr><td class="lineno" valign="top"></td><td class="left">   second limit guards against the possibility that the Date and Last-</td><td> </td><td class="right">   second limit guards against the possibility that the Date and Last-</td><td class="lineno" valign="top"></td></tr>
    244       <tr><td><a name="diff0013" /></td></tr>
    245       <tr><td class="lineno" valign="top"></td><td class="lblock">   Modified values are generated from different clocks<span class="delete">,</span> or at somewhat</td><td> </td><td class="rblock">   Modified values are generated from different clocks or at somewhat</td><td class="lineno" valign="top"></td></tr>
    246       <tr><td class="lineno" valign="top"></td><td class="left">   different times during the preparation of the response.  An</td><td> </td><td class="right">   different times during the preparation of the response.  An</td><td class="lineno" valign="top"></td></tr>
    247       <tr><td class="lineno" valign="top"></td><td class="left">   implementation MAY use a value larger than 60 seconds, if it is</td><td> </td><td class="right">   implementation MAY use a value larger than 60 seconds, if it is</td><td class="lineno" valign="top"></td></tr>
    248       <tr><td class="lineno" valign="top"></td><td class="left">   believed that 60 seconds is too short.</td><td> </td><td class="right">   believed that 60 seconds is too short.</td><td class="lineno" valign="top"></td></tr>
    249       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    250       <tr><td class="lineno" valign="top"></td><td class="left">2.3.  ETag</td><td> </td><td class="right">2.3.  ETag</td><td class="lineno" valign="top"></td></tr>
    251       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    252       <tr><td class="lineno" valign="top"></td><td class="left">   The "ETag" header field in a response provides the current entity-tag</td><td> </td><td class="right">   The "ETag" header field in a response provides the current entity-tag</td><td class="lineno" valign="top"></td></tr>
    253       <tr><td class="lineno" valign="top"></td><td class="left">   for the selected representation, as determined at the conclusion of</td><td> </td><td class="right">   for the selected representation, as determined at the conclusion of</td><td class="lineno" valign="top"></td></tr>
    254       <tr><td class="lineno" valign="top"></td><td class="left">   handling the request.  An entity-tag is an opaque validator for</td><td> </td><td class="right">   handling the request.  An entity-tag is an opaque validator for</td><td class="lineno" valign="top"></td></tr>
    255       <tr><td class="lineno" valign="top"></td><td class="left">   differentiating between multiple representations of the same</td><td> </td><td class="right">   differentiating between multiple representations of the same</td><td class="lineno" valign="top"></td></tr>
    256       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    257       <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 9, line 27</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 9, line 27</em></th><td></td></tr>
    258       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    259       <tr><td class="lineno" valign="top"></td><td class="left">     ETag       = entity-tag</td><td> </td><td class="right">     ETag       = entity-tag</td><td class="lineno" valign="top"></td></tr>
    260       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    261       <tr><td class="lineno" valign="top"></td><td class="left">     entity-tag = [ weak ] opaque-tag</td><td> </td><td class="right">     entity-tag = [ weak ] opaque-tag</td><td class="lineno" valign="top"></td></tr>
    262       <tr><td class="lineno" valign="top"></td><td class="left">     weak       = %x57.2F ; "W/", case-sensitive</td><td> </td><td class="right">     weak       = %x57.2F ; "W/", case-sensitive</td><td class="lineno" valign="top"></td></tr>
    263       <tr><td class="lineno" valign="top"></td><td class="left">     opaque-tag = DQUOTE *etagc DQUOTE</td><td> </td><td class="right">     opaque-tag = DQUOTE *etagc DQUOTE</td><td class="lineno" valign="top"></td></tr>
    264       <tr><td class="lineno" valign="top"></td><td class="left">     etagc      = %x21 / %x23-7E / obs-text</td><td> </td><td class="right">     etagc      = %x21 / %x23-7E / obs-text</td><td class="lineno" valign="top"></td></tr>
    265       <tr><td class="lineno" valign="top"></td><td class="left">                ; VCHAR except double quotes, plus obs-text</td><td> </td><td class="right">                ; VCHAR except double quotes, plus obs-text</td><td class="lineno" valign="top"></td></tr>
    266       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    267       <tr><td class="lineno" valign="top"></td><td class="left">      Note: Previously, opaque-tag was defined to be a quoted-string</td><td> </td><td class="right">      Note: Previously, opaque-tag was defined to be a quoted-string</td><td class="lineno" valign="top"></td></tr>
    268       <tr><td><a name="diff0014" /></td></tr>
    269       <tr><td class="lineno" valign="top"></td><td class="lblock">      ([RFC2616], Section 3.11)<span class="delete">, thus</span> some recipients might perform</td><td> </td><td class="rblock">      ([RFC2616], Section 3.11)<span class="insert">; thus,</span> some recipients might perform</td><td class="lineno" valign="top"></td></tr>
    270       <tr><td class="lineno" valign="top"></td><td class="left">      backslash unescaping.  Servers therefore ought to avoid backslash</td><td> </td><td class="right">      backslash unescaping.  Servers therefore ought to avoid backslash</td><td class="lineno" valign="top"></td></tr>
    271       <tr><td class="lineno" valign="top"></td><td class="left">      characters in entity tags.</td><td> </td><td class="right">      characters in entity tags.</td><td class="lineno" valign="top"></td></tr>
    272       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    273       <tr><td class="lineno" valign="top"></td><td class="left">   An entity-tag can be more reliable for validation than a modification</td><td> </td><td class="right">   An entity-tag can be more reliable for validation than a modification</td><td class="lineno" valign="top"></td></tr>
    274       <tr><td class="lineno" valign="top"></td><td class="left">   date in situations where it is inconvenient to store modification</td><td> </td><td class="right">   date in situations where it is inconvenient to store modification</td><td class="lineno" valign="top"></td></tr>
    275       <tr><td class="lineno" valign="top"></td><td class="left">   dates, where the one-second resolution of HTTP date values is not</td><td> </td><td class="right">   dates, where the one-second resolution of HTTP date values is not</td><td class="lineno" valign="top"></td></tr>
    276       <tr><td class="lineno" valign="top"></td><td class="left">   sufficient, or where modification dates are not consistently</td><td> </td><td class="right">   sufficient, or where modification dates are not consistently</td><td class="lineno" valign="top"></td></tr>
    277       <tr><td class="lineno" valign="top"></td><td class="left">   maintained.</td><td> </td><td class="right">   maintained.</td><td class="lineno" valign="top"></td></tr>
    278       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    279       <tr><td class="lineno" valign="top"></td><td class="left">   Examples:</td><td> </td><td class="right">   Examples:</td><td class="lineno" valign="top"></td></tr>
    280       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    281       <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 10, line 22</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 10, line 22</em></th><td></td></tr>
    282       <tr><td class="lineno" valign="top"></td><td class="left">   the client to be aware of how each entity-tag is constructed.</td><td> </td><td class="right">   the client to be aware of how each entity-tag is constructed.</td><td class="lineno" valign="top"></td></tr>
    283       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    284       <tr><td class="lineno" valign="top"></td><td class="left">   For example, a resource that has implementation-specific versioning</td><td> </td><td class="right">   For example, a resource that has implementation-specific versioning</td><td class="lineno" valign="top"></td></tr>
    285       <tr><td class="lineno" valign="top"></td><td class="left">   applied to all changes might use an internal revision number, perhaps</td><td> </td><td class="right">   applied to all changes might use an internal revision number, perhaps</td><td class="lineno" valign="top"></td></tr>
    286       <tr><td class="lineno" valign="top"></td><td class="left">   combined with a variance identifier for content negotiation, to</td><td> </td><td class="right">   combined with a variance identifier for content negotiation, to</td><td class="lineno" valign="top"></td></tr>
    287       <tr><td class="lineno" valign="top"></td><td class="left">   accurately differentiate between representations.  Other</td><td> </td><td class="right">   accurately differentiate between representations.  Other</td><td class="lineno" valign="top"></td></tr>
    288       <tr><td class="lineno" valign="top"></td><td class="left">   implementations might use a collision-resistant hash of</td><td> </td><td class="right">   implementations might use a collision-resistant hash of</td><td class="lineno" valign="top"></td></tr>
    289       <tr><td class="lineno" valign="top"></td><td class="left">   representation content, a combination of various file attributes, or</td><td> </td><td class="right">   representation content, a combination of various file attributes, or</td><td class="lineno" valign="top"></td></tr>
    290       <tr><td class="lineno" valign="top"></td><td class="left">   a modification timestamp that has sub-second resolution.</td><td> </td><td class="right">   a modification timestamp that has sub-second resolution.</td><td class="lineno" valign="top"></td></tr>
    291       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    292       <tr><td><a name="diff0015" /></td></tr>
    293       <tr><td class="lineno" valign="top"></td><td class="lblock">   An origin server SHOULD send ETag for any selected representation for</td><td> </td><td class="rblock">   An origin server SHOULD send <span class="insert">an</span> ETag for any selected representation</td><td class="lineno" valign="top"></td></tr>
    294       <tr><td class="lineno" valign="top"></td><td class="lblock">   which detection of changes can be reasonably and consistently</td><td> </td><td class="rblock">   for which detection of changes can be reasonably and consistently</td><td class="lineno" valign="top"></td></tr>
    295       <tr><td class="lineno" valign="top"></td><td class="left">   determined, since the entity-tag's use in conditional requests and</td><td> </td><td class="right">   determined, since the entity-tag's use in conditional requests and</td><td class="lineno" valign="top"></td></tr>
    296       <tr><td class="lineno" valign="top"></td><td class="left">   evaluating cache freshness ([RFC7234]) can result in a substantial</td><td> </td><td class="right">   evaluating cache freshness ([RFC7234]) can result in a substantial</td><td class="lineno" valign="top"></td></tr>
    297       <tr><td class="lineno" valign="top"></td><td class="left">   reduction of HTTP network traffic and can be a significant factor in</td><td> </td><td class="right">   reduction of HTTP network traffic and can be a significant factor in</td><td class="lineno" valign="top"></td></tr>
    298       <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>
    299       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    300       <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>
    301       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    302       <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>
    303       <tr><td><a name="diff0016" /></td></tr>
    304       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">the comparison context allows the use of weak validators or not</span>:</td><td> </td><td class="rblock">   <span class="insert">or not the comparison context allows the use of weak validators</span>:</td><td class="lineno" valign="top"></td></tr>
    305       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    306       <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>
    307       <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>
    308       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    309       <tr><td class="lineno" valign="top"></td><td class="left">   o  Weak comparison: two entity-tags are equivalent if their opaque-</td><td> </td><td class="right">   o  Weak comparison: two entity-tags are equivalent if their opaque-</td><td class="lineno" valign="top"></td></tr>
    310       <tr><td class="lineno" valign="top"></td><td class="left">      tags match character-by-character, regardless of either or both</td><td> </td><td class="right">      tags match character-by-character, regardless of either or both</td><td class="lineno" valign="top"></td></tr>
    311       <tr><td class="lineno" valign="top"></td><td class="left">      being tagged as "weak".</td><td> </td><td class="right">      being tagged as "weak".</td><td class="lineno" valign="top"></td></tr>
    312       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    313       <tr><td><a name="diff0017" /></td></tr>
    314       <tr><td class="lineno" valign="top"></td><td class="lblock">   The example below shows the results for a set of entity-tag <span class="delete">pairs,</span></td><td> </td><td class="rblock">   The example below shows the results for a set of entity-tag <span class="insert">pairs</span> and</td><td class="lineno" valign="top"></td></tr>
    315       <tr><td class="lineno" valign="top"></td><td class="lblock">   and both the weak and strong comparison function results:</td><td> </td><td class="rblock">   both the weak and strong comparison function results:</td><td class="lineno" valign="top"></td></tr>
    316       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    317       <tr><td class="lineno" valign="top"></td><td class="left">   +--------+--------+-------------------+-----------------+</td><td> </td><td class="right">   +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr>
    318       <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>
    319       <tr><td class="lineno" valign="top"></td><td class="left">   +--------+--------+-------------------+-----------------+</td><td> </td><td class="right">   +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr>
    320       <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>
    321       <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>
    322       <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>
    323       <tr><td class="lineno" valign="top"></td><td class="left">   | "1"    | "1"    | match             | match           |</td><td> </td><td class="right">   | "1"    | "1"    | match             | match           |</td><td class="lineno" valign="top"></td></tr>
    324       <tr><td class="lineno" valign="top"></td><td class="left">   +--------+--------+-------------------+-----------------+</td><td> </td><td class="right">   +--------+--------+-------------------+-----------------+</td><td class="lineno" valign="top"></td></tr>
    325       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    326       <tr><td><a name="diff0018" /></td></tr>
    327       <tr><td class="lineno" valign="top"></td><td class="lblock">2.3.3.  Example: Entity-<span class="delete">t</span>ags Varying on Content-Negotiated Resources</td><td> </td><td class="rblock">2.3.3.  Example: Entity-<span class="insert">T</span>ags Varying on Content-Negotiated Resources</td><td class="lineno" valign="top"></td></tr>
    328       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    329       <tr><td class="lineno" valign="top"></td><td class="left">   Consider a resource that is subject to content negotiation (Section</td><td> </td><td class="right">   Consider a resource that is subject to content negotiation (Section</td><td class="lineno" valign="top"></td></tr>
    330       <tr><td class="lineno" valign="top"></td><td class="left">   3.4 of [RFC7231]), and where the representations sent in response to</td><td> </td><td class="right">   3.4 of [RFC7231]), and where the representations sent in response to</td><td class="lineno" valign="top"></td></tr>
    331       <tr><td class="lineno" valign="top"></td><td class="left">   a GET request vary based on the Accept-Encoding request header field</td><td> </td><td class="right">   a GET request vary based on the Accept-Encoding request header field</td><td class="lineno" valign="top"></td></tr>
    332       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.3.4 of [RFC7231]):</td><td> </td><td class="right">   (Section 5.3.4 of [RFC7231]):</td><td class="lineno" valign="top"></td></tr>
    333       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    334       <tr><td class="lineno" valign="top"></td><td class="left">   &gt;&gt; Request:</td><td> </td><td class="right">   &gt;&gt; Request:</td><td class="lineno" valign="top"></td></tr>
    335       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    336       <tr><td class="lineno" valign="top"></td><td class="left">     GET /index HTTP/1.1</td><td> </td><td class="right">     GET /index HTTP/1.1</td><td class="lineno" valign="top"></td></tr>
    337       <tr><td class="lineno" valign="top"></td><td class="left">     Host: www.example.com</td><td> </td><td class="right">     Host: www.example.com</td><td class="lineno" valign="top"></td></tr>
    338       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    339       <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 12, line 13</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 12, line 13</em></th><td></td></tr>
    340       <tr><td class="lineno" valign="top"></td><td class="left">     ...binary data...</td><td> </td><td class="right">     ...binary data...</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">      Note: Content codings are a property of the representation data,</td><td> </td><td class="right">      Note: Content codings are a property of the representation data,</td><td class="lineno" valign="top"></td></tr>
    343       <tr><td class="lineno" valign="top"></td><td class="left">      so a strong entity-tag for a content-encoded representation has to</td><td> </td><td class="right">      so a strong entity-tag for a content-encoded representation has to</td><td class="lineno" valign="top"></td></tr>
    344       <tr><td class="lineno" valign="top"></td><td class="left">      be distinct from the entity tag of an unencoded representation to</td><td> </td><td class="right">      be distinct from the entity tag of an unencoded representation to</td><td class="lineno" valign="top"></td></tr>
    345       <tr><td class="lineno" valign="top"></td><td class="left">      prevent potential conflicts during cache updates and range</td><td> </td><td class="right">      prevent potential conflicts during cache updates and range</td><td class="lineno" valign="top"></td></tr>
    346       <tr><td class="lineno" valign="top"></td><td class="left">      requests.  In contrast, transfer codings (Section 4 of [RFC7230])</td><td> </td><td class="right">      requests.  In contrast, transfer codings (Section 4 of [RFC7230])</td><td class="lineno" valign="top"></td></tr>
    347       <tr><td class="lineno" valign="top"></td><td class="left">      apply only during message transfer and do not result in distinct</td><td> </td><td class="right">      apply only during message transfer and do not result in distinct</td><td class="lineno" valign="top"></td></tr>
    348       <tr><td class="lineno" valign="top"></td><td class="left">      entity-tags.</td><td> </td><td class="right">      entity-tags.</td><td class="lineno" valign="top"></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><a name="diff0019" /></td></tr>
    351       <tr><td class="lineno" valign="top"></td><td class="lblock">2.4.  When to Use Entity-<span class="delete">t</span>ags and Last-Modified Dates</td><td> </td><td class="rblock">2.4.  When to Use Entity-<span class="insert">T</span>ags and Last-Modified Dates</td><td class="lineno" valign="top"></td></tr>
    352       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    353       <tr><td class="lineno" valign="top"></td><td class="left">   In 200 (OK) responses to GET or HEAD, an origin server:</td><td> </td><td class="right">   In 200 (OK) responses to GET or HEAD, an origin server:</td><td class="lineno" valign="top"></td></tr>
    354       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    355       <tr><td class="lineno" valign="top"></td><td class="left">   o  SHOULD send an entity-tag validator unless it is not feasible to</td><td> </td><td class="right">   o  SHOULD send an entity-tag validator unless it is not feasible to</td><td class="lineno" valign="top"></td></tr>
    356       <tr><td class="lineno" valign="top"></td><td class="left">      generate one.</td><td> </td><td class="right">      generate one.</td><td class="lineno" valign="top"></td></tr>
    357       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    358       <tr><td class="lineno" valign="top"></td><td class="left">   o  MAY send a weak entity-tag instead of a strong entity-tag, if</td><td> </td><td class="right">   o  MAY send a weak entity-tag instead of a strong entity-tag, if</td><td class="lineno" valign="top"></td></tr>
    359       <tr><td class="lineno" valign="top"></td><td class="left">      performance considerations support the use of weak entity-tags, or</td><td> </td><td class="right">      performance considerations support the use of weak entity-tags, or</td><td class="lineno" valign="top"></td></tr>
    360       <tr><td class="lineno" valign="top"></td><td class="left">      if it is unfeasible to send a strong entity-tag.</td><td> </td><td class="right">      if it is unfeasible to send a strong entity-tag.</td><td class="lineno" valign="top"></td></tr>
    361       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    362       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    363       <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 13, line 50</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 13, line 50</em></th><td></td></tr>
    364       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     205      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 13, line 51</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 13, line 51</em></th><td></td></tr>
    365206      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server that receives an If-Match header field MUST evaluate</td><td> </td><td class="right">   An origin server that receives an If-Match header field MUST evaluate</td><td class="lineno" valign="top"></td></tr>
    366207      <tr><td class="lineno" valign="top"></td><td class="left">   the condition prior to performing the method (Section 5).  If the</td><td> </td><td class="right">   the condition prior to performing the method (Section 5).  If the</td><td class="lineno" valign="top"></td></tr>
     
    372213      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    373214      <tr><td class="lineno" valign="top"></td><td class="left">   An origin server MUST NOT perform the requested method if a received</td><td> </td><td class="right">   An origin server MUST NOT perform the requested method if a received</td><td class="lineno" valign="top"></td></tr>
    374       <tr><td><a name="diff0020" /></td></tr>
    375       <tr><td class="lineno" valign="top"></td><td class="lblock">   If-Match condition evaluates to false; <span class="delete">instead</span> the origin server MUST</td><td> </td><td class="rblock">   If-Match condition evaluates to false; <span class="insert">instead,</span> the origin server</td><td class="lineno" valign="top"></td></tr>
    376       <tr><td class="lineno" valign="top"></td><td class="lblock">   respond with either: a) the 412 (Precondition Failed) status <span class="delete">code;</span></td><td> </td><td class="rblock">   MUST respond with either: a) the 412 (Precondition Failed) status</td><td class="lineno" valign="top"></td></tr>
    377       <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   or,</span> b) one of the 2xx (Successful) status codes if the origin server</td><td> </td><td class="rblock">   <span class="insert">code or</span> b) one of the 2xx (Successful) status codes if the origin</td><td class="lineno" valign="top"></td></tr>
     215      <tr><td class="lineno" valign="top"></td><td class="left">   If-Match condition evaluates to false; instead, the origin server</td><td> </td><td class="right">   If-Match condition evaluates to false; instead, the origin server</td><td class="lineno" valign="top"></td></tr>
     216      <tr><td><a name="diff0011" /></td></tr>
     217      <tr><td class="lineno" valign="top"></td><td class="lblock">   MUST respond with <span class="delete">either</span> a) the 412 (Precondition Failed) status code</td><td> </td><td class="rblock">   MUST respond with <span class="insert">either:</span> a) the 412 (Precondition Failed) status</td><td class="lineno" valign="top"></td></tr>
     218      <tr><td class="lineno" valign="top"></td><td class="lblock">   or b) one of the 2xx (Successful) status codes if the origin server</td><td> </td><td class="rblock">   code or b) one of the 2xx (Successful) status codes if the origin</td><td class="lineno" valign="top"></td></tr>
    378219      <tr><td class="lineno" valign="top"></td><td class="lblock">   has verified that a state change is being requested and the final</td><td> </td><td class="rblock">   server has verified that a state change is being requested and the</td><td class="lineno" valign="top"></td></tr>
    379220      <tr><td class="lineno" valign="top"></td><td class="lblock">   state is already reflected in the current state of the target</td><td> </td><td class="rblock">   final state is already reflected in the current state of the target</td><td class="lineno" valign="top"></td></tr>
     
    389230      <tr><td class="lineno" valign="top"></td><td class="left">   because it is not applicable to a stored response.</td><td> </td><td class="right">   because it is not applicable to a stored response.</td><td class="lineno" valign="top"></td></tr>
    390231      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    391       <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 15, line 20</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 15, line 20</em></th><td></td></tr>
    392       <tr><td class="lineno" valign="top"></td><td class="left">   evaluate the condition prior to performing the method (Section 5).</td><td> </td><td class="right">   evaluate the condition prior to performing the method (Section 5).</td><td class="lineno" valign="top"></td></tr>
    393       <tr><td class="lineno" valign="top"></td><td class="left">   If the field-value is "*", the condition is false if the origin</td><td> </td><td class="right">   If the field-value is "*", the condition is false if the origin</td><td class="lineno" valign="top"></td></tr>
    394       <tr><td class="lineno" valign="top"></td><td class="left">   server has a current representation for the target resource.  If the</td><td> </td><td class="right">   server has a current representation for the target resource.  If the</td><td class="lineno" valign="top"></td></tr>
    395       <tr><td class="lineno" valign="top"></td><td class="left">   field-value is a list of entity-tags, the condition is false if one</td><td> </td><td class="right">   field-value is a list of entity-tags, the condition is false if one</td><td class="lineno" valign="top"></td></tr>
    396       <tr><td class="lineno" valign="top"></td><td class="left">   of the listed tags match the entity-tag of the selected</td><td> </td><td class="right">   of the listed tags match the entity-tag of the selected</td><td class="lineno" valign="top"></td></tr>
    397       <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
    398       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    399       <tr><td class="lineno" valign="top"></td><td class="left">   An origin server MUST NOT perform the requested method if the</td><td> </td><td class="right">   An origin server MUST NOT perform the requested method if the</td><td class="lineno" valign="top"></td></tr>
    400       <tr><td class="lineno" valign="top"></td><td class="left">   condition evaluates to false; instead, the origin server MUST respond</td><td> </td><td class="right">   condition evaluates to false; instead, the origin server MUST respond</td><td class="lineno" valign="top"></td></tr>
    401       <tr><td class="lineno" valign="top"></td><td class="left">   with either a) the 304 (Not Modified) status code if the request</td><td> </td><td class="right">   with either a) the 304 (Not Modified) status code if the request</td><td class="lineno" valign="top"></td></tr>
    402       <tr><td><a name="diff0021" /></td></tr>
    403       <tr><td class="lineno" valign="top"></td><td class="lblock">   method is GET or <span class="delete">HEAD; or,</span> b) the 412 (Precondition Failed) status</td><td> </td><td class="rblock">   method is GET or <span class="insert">HEAD or</span> b) the 412 (Precondition Failed) status code</td><td class="lineno" valign="top"></td></tr>
    404       <tr><td class="lineno" valign="top"></td><td class="lblock">   code for all other request methods.</td><td> </td><td class="rblock">   for all other request methods.</td><td class="lineno" valign="top"></td></tr>
    405       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    406       <tr><td class="lineno" valign="top"></td><td class="left">   Requirements on cache handling of a received If-None-Match header</td><td> </td><td class="right">   Requirements on cache handling of a received If-None-Match header</td><td class="lineno" valign="top"></td></tr>
    407       <tr><td class="lineno" valign="top"></td><td class="left">   field are defined in Section 4.3.2 of [RFC7234].</td><td> </td><td class="right">   field are defined in Section 4.3.2 of [RFC7234].</td><td class="lineno" valign="top"></td></tr>
    408       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    409       <tr><td class="lineno" valign="top"></td><td class="left">3.3.  If-Modified-Since</td><td> </td><td class="right">3.3.  If-Modified-Since</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">   The "If-Modified-Since" header field makes a GET or HEAD request</td><td> </td><td class="right">   The "If-Modified-Since" header field makes a GET or HEAD request</td><td class="lineno" valign="top"></td></tr>
    412       <tr><td class="lineno" valign="top"></td><td class="left">   method conditional on the selected representation's modification date</td><td> </td><td class="right">   method conditional on the selected representation's modification date</td><td class="lineno" valign="top"></td></tr>
    413       <tr><td class="lineno" valign="top"></td><td class="left">   being more recent than the date provided in the field-value.</td><td> </td><td class="right">   being more recent than the date provided in the field-value.</td><td class="lineno" valign="top"></td></tr>
    414       <tr><td class="lineno" valign="top"></td><td class="left">   Transfer of the selected representation's data is avoided if that</td><td> </td><td class="right">   Transfer of the selected representation's data is avoided if that</td><td class="lineno" valign="top"></td></tr>
    415       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    416       <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 16, line 8</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 16, line 8</em></th><td></td></tr>
     232      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 15, line 43</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 15, line 43</em></th><td></td></tr>
     233      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     234      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since = HTTP-date</td><td> </td><td class="right">     If-Modified-Since = HTTP-date</td><td class="lineno" valign="top"></td></tr>
     235      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     236      <tr><td class="lineno" valign="top"></td><td class="left">   An example of the field is:</td><td> </td><td class="right">   An example of the field is:</td><td class="lineno" valign="top"></td></tr>
     237      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     238      <tr><td class="lineno" valign="top"></td><td class="left">     If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td> </td><td class="right">     If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td class="lineno" valign="top"></td></tr>
     239      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     240      <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>
     241      <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>
     242      <tr><td class="lineno" valign="top"></td><td class="left">   considered to be a more accurate replacement for the condition in If-</td><td> </td><td class="right">   considered to be a more accurate replacement for the condition in If-</td><td class="lineno" valign="top"></td></tr>
     243      <tr><td><a name="diff0012" /></td></tr>
     244      <tr><td class="lineno" valign="top"></td><td class="lblock">   Modified-Since<span class="delete">,</span> and the two are only combined for the sake of</td><td> </td><td class="rblock">   Modified-Since and the two are only combined for the sake of</td><td class="lineno" valign="top"></td></tr>
     245      <tr><td class="lineno" valign="top"></td><td class="left">   interoperating with older intermediaries that might not implement If-</td><td> </td><td class="right">   interoperating with older intermediaries that might not implement If-</td><td class="lineno" valign="top"></td></tr>
     246      <tr><td class="lineno" valign="top"></td><td class="left">   None-Match.</td><td> </td><td class="right">   None-Match.</td><td class="lineno" valign="top"></td></tr>
    417247      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    418248      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore the If-Modified-Since header field if the</td><td> </td><td class="right">   A recipient MUST ignore the If-Modified-Since header field if the</td><td class="lineno" valign="top"></td></tr>
     
    423253      <tr><td class="lineno" valign="top"></td><td class="left">   timestamp in terms of the origin server's clock.</td><td> </td><td class="right">   timestamp in terms of the origin server's clock.</td><td class="lineno" valign="top"></td></tr>
    424254      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    425       <tr><td class="lineno" valign="top"></td><td class="left">   If-Modified-Since is typically used for two distinct purposes: 1) to</td><td> </td><td class="right">   If-Modified-Since is typically used for two distinct purposes: 1) to</td><td class="lineno" valign="top"></td></tr>
    426       <tr><td class="lineno" valign="top"></td><td class="left">   allow efficient updates of a cached representation that does not have</td><td> </td><td class="right">   allow efficient updates of a cached representation that does not have</td><td class="lineno" valign="top"></td></tr>
    427       <tr><td><a name="diff0022" /></td></tr>
    428       <tr><td class="lineno" valign="top"></td><td class="lblock">   an entity-tag<span class="delete">; and,</span> 2) to limit the scope of a web traversal to</td><td> </td><td class="rblock">   an entity-tag<span class="insert"> and</span> 2) to limit the scope of a web traversal to</td><td class="lineno" valign="top"></td></tr>
    429       <tr><td class="lineno" valign="top"></td><td class="left">   resources that have recently changed.</td><td> </td><td class="right">   resources that have recently changed.</td><td class="lineno" valign="top"></td></tr>
    430       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    431       <tr><td class="lineno" valign="top"></td><td class="left">   When used for cache updates, a cache will typically use the value of</td><td> </td><td class="right">   When used for cache updates, a cache will typically use the value of</td><td class="lineno" valign="top"></td></tr>
    432       <tr><td class="lineno" valign="top"></td><td class="left">   the cached message's Last-Modified field to generate the field value</td><td> </td><td class="right">   the cached message's Last-Modified field to generate the field value</td><td class="lineno" valign="top"></td></tr>
    433       <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>
    434       <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>
    435       <tr><td class="lineno" valign="top"></td><td class="left">   only honor exact timestamp matches (due to a problem with Last-</td><td> </td><td class="right">   only honor exact timestamp matches (due to a problem with Last-</td><td class="lineno" valign="top"></td></tr>
    436       <tr><td class="lineno" valign="top"></td><td class="left">   Modified dates that appear to go "back in time" when the origin</td><td> </td><td class="right">   Modified dates that appear to go "back in time" when the origin</td><td class="lineno" valign="top"></td></tr>
    437       <tr><td class="lineno" valign="top"></td><td class="left">   server's clock is corrected or a representation is restored from an</td><td> </td><td class="right">   server's clock is corrected or a representation is restored from an</td><td class="lineno" valign="top"></td></tr>
    438       <tr><td class="lineno" valign="top"></td><td class="left">   archived backup).  However, caches occasionally generate the field</td><td> </td><td class="right">   archived backup).  However, caches occasionally generate the field</td><td class="lineno" valign="top"></td></tr>
    439       <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 17, line 14</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 17, line 14</em></th><td></td></tr>
    441       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    442       <tr><td class="lineno" valign="top"></td><td class="left">     If-Unmodified-Since = HTTP-date</td><td> </td><td class="right">     If-Unmodified-Since = HTTP-date</td><td class="lineno" valign="top"></td></tr>
    443       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    444       <tr><td class="lineno" valign="top"></td><td class="left">   An example of the field is:</td><td> </td><td class="right">   An example of the field is:</td><td class="lineno" valign="top"></td></tr>
    445       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    446       <tr><td class="lineno" valign="top"></td><td class="left">     If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td> </td><td class="right">     If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT</td><td class="lineno" valign="top"></td></tr>
    447       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    448       <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>
    449       <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>
    450       <tr><td class="lineno" valign="top"></td><td class="left">   be a more accurate replacement for the condition in If-Unmodified-</td><td> </td><td class="right">   be a more accurate replacement for the condition in If-Unmodified-</td><td class="lineno" valign="top"></td></tr>
    451       <tr><td><a name="diff0023" /></td></tr>
    452       <tr><td class="lineno" valign="top"></td><td class="lblock">   Since and the two are only combined for the sake of interoperating</td><td> </td><td class="rblock">   Since<span class="insert">,</span> and the two are only combined for the sake of interoperating</td><td class="lineno" valign="top"></td></tr>
    453       <tr><td class="lineno" valign="top"></td><td class="left">   with older intermediaries that might not implement If-Match.</td><td> </td><td class="right">   with older intermediaries that might not implement If-Match.</td><td class="lineno" valign="top"></td></tr>
    454       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    455       <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST ignore the If-Unmodified-Since header field if the</td><td> </td><td class="right">   A recipient MUST ignore the If-Unmodified-Since header field if the</td><td class="lineno" valign="top"></td></tr>
    456       <tr><td class="lineno" valign="top"></td><td class="left">   received field-value is not a valid HTTP-date.</td><td> </td><td class="right">   received field-value is not a valid HTTP-date.</td><td class="lineno" valign="top"></td></tr>
    457       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    458       <tr><td class="lineno" valign="top"></td><td class="left">   A recipient MUST interpret an If-Unmodified-Since field-value's</td><td> </td><td class="right">   A recipient MUST interpret an If-Unmodified-Since field-value's</td><td class="lineno" valign="top"></td></tr>
    459       <tr><td class="lineno" valign="top"></td><td class="left">   timestamp in terms of the origin server's clock.</td><td> </td><td class="right">   timestamp in terms of the origin server's clock.</td><td class="lineno" valign="top"></td></tr>
    460       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    461       <tr><td class="lineno" valign="top"></td><td class="left">   If-Unmodified-Since is most often used with state-changing methods</td><td> </td><td class="right">   If-Unmodified-Since is most often used with state-changing methods</td><td class="lineno" valign="top"></td></tr>
    462       <tr><td class="lineno" valign="top"></td><td class="left">   (e.g., POST, PUT, DELETE) to prevent accidental overwrites when</td><td> </td><td class="right">   (e.g., POST, PUT, DELETE) to prevent accidental overwrites when</td><td class="lineno" valign="top"></td></tr>
    463       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    464       <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 17, line 36</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 17, line 36</em></th><td></td></tr>
    465       <tr><td class="lineno" valign="top"></td><td class="left">   does not supply entity-tags with its representations (i.e., to</td><td> </td><td class="right">   does not supply entity-tags with its representations (i.e., to</td><td class="lineno" valign="top"></td></tr>
    466       <tr><td class="lineno" valign="top"></td><td class="left">   prevent the "lost update" problem).  It can also be used with safe</td><td> </td><td class="right">   prevent the "lost update" problem).  It can also be used with safe</td><td class="lineno" valign="top"></td></tr>
    467       <tr><td class="lineno" valign="top"></td><td class="left">   methods to abort a request if the selected representation does not</td><td> </td><td class="right">   methods to abort a request if the selected representation does not</td><td class="lineno" valign="top"></td></tr>
    468       <tr><td class="lineno" valign="top"></td><td class="left">   match one already stored (or partially stored) from a prior request.</td><td> </td><td class="right">   match one already stored (or partially stored) from a prior request.</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">   An origin server that receives an If-Unmodified-Since header field</td><td> </td><td class="right">   An origin server that receives an If-Unmodified-Since header field</td><td class="lineno" valign="top"></td></tr>
    471       <tr><td class="lineno" valign="top"></td><td class="left">   MUST evaluate the condition prior to performing the method</td><td> </td><td class="right">   MUST evaluate the condition prior to performing the method</td><td class="lineno" valign="top"></td></tr>
    472       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5).  The origin server MUST NOT perform the requested method</td><td> </td><td class="right">   (Section 5).  The origin server MUST NOT perform the requested method</td><td class="lineno" valign="top"></td></tr>
    473       <tr><td class="lineno" valign="top"></td><td class="left">   if the selected representation's last modification date is more</td><td> </td><td class="right">   if the selected representation's last modification date is more</td><td class="lineno" valign="top"></td></tr>
    474       <tr><td class="lineno" valign="top"></td><td class="left">   recent than the date provided in the field-value; instead the origin</td><td> </td><td class="right">   recent than the date provided in the field-value; instead the origin</td><td class="lineno" valign="top"></td></tr>
    475       <tr><td><a name="diff0024" /></td></tr>
    476       <tr><td class="lineno" valign="top"></td><td class="lblock">   server MUST respond with <span class="delete">either:</span> a) the 412 (Precondition Failed)</td><td> </td><td class="rblock">   server MUST respond with <span class="insert">either</span> a) the 412 (Precondition Failed)</td><td class="lineno" valign="top"></td></tr>
    477       <tr><td class="lineno" valign="top"></td><td class="lblock">   status <span class="delete">code; or,</span> b) one of the 2xx (Successful) status codes if the</td><td> </td><td class="rblock">   status <span class="insert">code or</span> b) one of the 2xx (Successful) status codes if the</td><td class="lineno" valign="top"></td></tr>
    478       <tr><td class="lineno" valign="top"></td><td class="left">   origin server has verified that a state change is being requested and</td><td> </td><td class="right">   origin server has verified that a state change is being requested and</td><td class="lineno" valign="top"></td></tr>
    479       <tr><td class="lineno" valign="top"></td><td class="left">   the final state is already reflected in the current state of the</td><td> </td><td class="right">   the final state is already reflected in the current state of the</td><td class="lineno" valign="top"></td></tr>
    480       <tr><td class="lineno" valign="top"></td><td class="left">   target resource (i.e., the change requested by the user agent has</td><td> </td><td class="right">   target resource (i.e., the change requested by the user agent has</td><td class="lineno" valign="top"></td></tr>
    481       <tr><td class="lineno" valign="top"></td><td class="left">   already succeeded, but the user agent might not be aware of that</td><td> </td><td class="right">   already succeeded, but the user agent might not be aware of that</td><td class="lineno" valign="top"></td></tr>
    482       <tr><td class="lineno" valign="top"></td><td class="left">   because the prior response message was lost or a compatible change</td><td> </td><td class="right">   because the prior response message was lost or a compatible change</td><td class="lineno" valign="top"></td></tr>
    483       <tr><td class="lineno" valign="top"></td><td class="left">   was made by some other user agent).  In the latter case, the origin</td><td> </td><td class="right">   was made by some other user agent).  In the latter case, the origin</td><td class="lineno" valign="top"></td></tr>
    484       <tr><td class="lineno" valign="top"></td><td class="left">   server MUST NOT send a validator header field in the response unless</td><td> </td><td class="right">   server MUST NOT send a validator header field in the response unless</td><td class="lineno" valign="top"></td></tr>
    485       <tr><td class="lineno" valign="top"></td><td class="left">   it can verify that the request is a duplicate of an immediately prior</td><td> </td><td class="right">   it can verify that the request is a duplicate of an immediately prior</td><td class="lineno" valign="top"></td></tr>
    486       <tr><td class="lineno" valign="top"></td><td class="left">   change made by the same user agent.</td><td> </td><td class="right">   change made by the same user agent.</td><td class="lineno" valign="top"></td></tr>
     255      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     256      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 18, line 11</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 18, line 11</em></th><td></td></tr>
    487257      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    488258      <tr><td class="lineno" valign="top"></td><td class="left">   The If-Unmodified-Since header field can be ignored by caches and</td><td> </td><td class="right">   The If-Unmodified-Since header field can be ignored by caches and</td><td class="lineno" valign="top"></td></tr>
     
    493263      <tr><td class="lineno" valign="top"></td><td class="left">   The "If-Range" header field provides a special conditional request</td><td> </td><td class="right">   The "If-Range" header field provides a special conditional request</td><td class="lineno" valign="top"></td></tr>
    494264      <tr><td class="lineno" valign="top"></td><td class="left">   mechanism that is similar to the If-Match and If-Unmodified-Since</td><td> </td><td class="right">   mechanism that is similar to the If-Match and If-Unmodified-Since</td><td class="lineno" valign="top"></td></tr>
    495       <tr><td><a name="diff0025" /></td></tr>
    496       <tr><td class="lineno" valign="top"></td><td class="lblock">   header fields but instructs the recipient to ignore the Range header</td><td> </td><td class="rblock">   header fields but <span class="insert">that</span> instructs the recipient to ignore the Range</td><td class="lineno" valign="top"></td></tr>
    497       <tr><td class="lineno" valign="top"></td><td class="lblock">   field if the validator doesn't match, resulting in transfer of the</td><td> </td><td class="rblock">   header field if the validator doesn't match, resulting in transfer of</td><td class="lineno" valign="top"></td></tr>
    498       <tr><td class="lineno" valign="top"></td><td class="lblock">   new selected representation instead of a 412 response.  If-Range is</td><td> </td><td class="rblock">   the new selected representation instead of a 412 <span class="insert">(Precondition</span></td><td class="lineno" valign="top"></td></tr>
    499       <tr><td class="lineno" valign="top"></td><td class="lblock">   defined in Section 3.2 of [RFC7233].</td><td> </td><td class="rblock"><span class="insert">   Failed)</span> response.  If-Range is defined in Section 3.2 of [RFC7233].</td><td class="lineno" valign="top"></td></tr>
     265      <tr><td class="lineno" valign="top"></td><td class="left">   header fields but that instructs the recipient to ignore the Range</td><td> </td><td class="right">   header fields but that instructs the recipient to ignore the Range</td><td class="lineno" valign="top"></td></tr>
     266      <tr><td class="lineno" valign="top"></td><td class="left">   header field if the validator doesn't match, resulting in transfer of</td><td> </td><td class="right">   header field if the validator doesn't match, resulting in transfer of</td><td class="lineno" valign="top"></td></tr>
     267      <tr><td><a name="diff0013" /></td></tr>
     268      <tr><td class="lineno" valign="top"></td><td class="lblock">   the new selected representation instead of a 412 response.  If-Range</td><td> </td><td class="rblock">   the new selected representation instead of a 412 <span class="insert">(Precondition</span></td><td class="lineno" valign="top"></td></tr>
     269      <tr><td class="lineno" valign="top"></td><td class="lblock">   is defined in Section 3.2 of [RFC7233].</td><td> </td><td class="rblock"><span class="insert">   Failed)</span> response.  If-Range is defined in Section 3.2 of [RFC7233].</td><td class="lineno" valign="top"></td></tr>
    500270      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    501271      <tr><td class="lineno" valign="top"></td><td class="left">4.  Status Code Definitions</td><td> </td><td class="right">4.  Status Code Definitions</td><td class="lineno" valign="top"></td></tr>
     
    505275      <tr><td class="lineno" valign="top"></td><td class="left">   The 304 (Not Modified) status code indicates that a conditional GET</td><td> </td><td class="right">   The 304 (Not Modified) status code indicates that a conditional GET</td><td class="lineno" valign="top"></td></tr>
    506276      <tr><td class="lineno" valign="top"></td><td class="left">   or HEAD request has been received and would have resulted in a 200</td><td> </td><td class="right">   or HEAD request has been received and would have resulted in a 200</td><td class="lineno" valign="top"></td></tr>
    507       <tr><td><a name="diff0026" /></td></tr>
    508       <tr><td class="lineno" valign="top"></td><td class="lblock">   (OK) response if it were not for the fact that the condition<span class="delete"> has</span></td><td> </td><td class="rblock">   (OK) response if it were not for the fact that the condition</td><td class="lineno" valign="top"></td></tr>
     277      <tr><td class="lineno" valign="top"></td><td class="left">   (OK) response if it were not for the fact that the condition</td><td> </td><td class="right">   (OK) response if it were not for the fact that the condition</td><td class="lineno" valign="top"></td></tr>
    509278      <tr><td class="lineno" valign="top"></td><td class="left">   evaluated to false.  In other words, there is no need for the server</td><td> </td><td class="right">   evaluated to false.  In other words, there is no need for the server</td><td class="lineno" valign="top"></td></tr>
    510279      <tr><td class="lineno" valign="top"></td><td class="left">   to transfer a representation of the target resource because the</td><td> </td><td class="right">   to transfer a representation of the target resource because the</td><td class="lineno" valign="top"></td></tr>
     
    514283      <tr><td class="lineno" valign="top"></td><td class="left">   representation as if it were the payload of a 200 (OK) response.</td><td> </td><td class="right">   representation as if it were the payload of a 200 (OK) response.</td><td class="lineno" valign="top"></td></tr>
    515284      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    516       <tr><td><a name="diff0027" /></td></tr>
     285      <tr><td><a name="diff0014" /></td></tr>
    517286      <tr><td class="lineno" valign="top"></td><td class="lblock">   The server generating a 304 response MUST generate any of the</td><td> </td><td class="rblock">   The server generating a 304 <span class="insert">(Not Modified)</span> response MUST generate any</td><td class="lineno" valign="top"></td></tr>
    518287      <tr><td class="lineno" valign="top"></td><td class="lblock">   following header fields that would have been sent in a 200 (OK)</td><td> </td><td class="rblock">   of the following header fields that would have been sent in a 200</td><td class="lineno" valign="top"></td></tr>
     
    520289      <tr><td class="lineno" valign="top"></td><td class="lblock">   ETag, Expires, and Vary.</td><td> </td><td class="rblock">   Date, ETag, Expires, and Vary.</td><td class="lineno" valign="top"></td></tr>
    521290      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    522       <tr><td><a name="diff0028" /></td></tr>
     291      <tr><td><a name="diff0015" /></td></tr>
    523292      <tr><td class="lineno" valign="top"></td><td class="lblock">   Since the goal of a 304 response is to minimize information transfer</td><td> </td><td class="rblock">   Since the goal of a 304 <span class="insert">(Not Modified)</span> response is to minimize</td><td class="lineno" valign="top"></td></tr>
    524293      <tr><td class="lineno" valign="top"></td><td class="lblock">   when the recipient already has one or more cached representations, a</td><td> </td><td class="rblock">   information transfer when the recipient already has one or more</td><td class="lineno" valign="top"></td></tr>
     
    528297      <tr><td class="lineno" valign="top"></td><td class="lblock">   response does not have an ETag field).</td><td> </td><td class="rblock">   might be useful if the response does not have an ETag field).</td><td class="lineno" valign="top"></td></tr>
    529298      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    530       <tr><td><a name="diff0029" /></td></tr>
     299      <tr><td><a name="diff0016" /></td></tr>
    531300      <tr><td class="lineno" valign="top"></td><td class="lblock">   Requirements on a cache that receives a 304 response are defined in</td><td> </td><td class="rblock">   Requirements on a cache that receives a 304 <span class="insert">(Not Modified)</span> response</td><td class="lineno" valign="top"></td></tr>
    532301      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 4.3.4 of [RFC7234].  If the conditional request originated</td><td> </td><td class="rblock">   are defined in Section 4.3.4 of [RFC7234].  If the conditional</td><td class="lineno" valign="top"></td></tr>
     
    535304      <tr><td class="lineno" valign="top"></td><td class="lblock">   forward the 304 response to that client.</td><td> </td><td class="rblock">   proxy SHOULD forward the 304 <span class="insert">(Not Modified)</span> response to that client.</td><td class="lineno" valign="top"></td></tr>
    536305      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    537       <tr><td><a name="diff0030" /></td></tr>
     306      <tr><td><a name="diff0017" /></td></tr>
    538307      <tr><td class="lineno" valign="top"></td><td class="lblock">   A 304 response cannot contain a message-body; it is always terminated</td><td> </td><td class="rblock">   A 304 <span class="insert">(Not Modified)</span> response cannot contain a message-body; it is</td><td class="lineno" valign="top"></td></tr>
    539308      <tr><td class="lineno" valign="top"></td><td class="lblock">   by the first empty line after the header fields.</td><td> </td><td class="rblock">   always terminated by the first empty line after the header fields.</td><td class="lineno" valign="top"></td></tr>
     
    545314      <tr><td class="lineno" valign="top"></td><td class="left">   tested on the server.  This response code allows the client to place</td><td> </td><td class="right">   tested on the server.  This response code allows the client to place</td><td class="lineno" valign="top"></td></tr>
    546315      <tr><td class="lineno" valign="top"></td><td class="left">   preconditions on the current resource state (its current</td><td> </td><td class="right">   preconditions on the current resource state (its current</td><td class="lineno" valign="top"></td></tr>
    547       <tr><td><a name="diff0031" /></td></tr>
    548       <tr><td class="lineno" valign="top"></td><td class="lblock">   representations and metadata) and<span class="delete"> thus</span> prevent the request method</td><td> </td><td class="rblock">   representations and metadata) and<span class="insert">, thus,</span> prevent the request method</td><td class="lineno" valign="top"></td></tr>
     316      <tr><td class="lineno" valign="top"></td><td class="left">   representations and metadata) and, thus, prevent the request method</td><td> </td><td class="right">   representations and metadata) and, thus, prevent the request method</td><td class="lineno" valign="top"></td></tr>
    549317      <tr><td class="lineno" valign="top"></td><td class="left">   from being applied if the target resource is in an unexpected state.</td><td> </td><td class="right">   from being applied if the target resource is in an unexpected state.</td><td class="lineno" valign="top"></td></tr>
    550318      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    557325      <tr><td class="lineno" valign="top"></td><td class="left">   all received preconditions if its response to the same request</td><td> </td><td class="right">   all received preconditions if its response to the same request</td><td class="lineno" valign="top"></td></tr>
    558326      <tr><td class="lineno" valign="top"></td><td class="left">   without those conditions would have been a status code other than a</td><td> </td><td class="right">   without those conditions would have been a status code other than a</td><td class="lineno" valign="top"></td></tr>
    559       <tr><td><a name="diff0032" /></td></tr>
     327      <tr><td><a name="diff0018" /></td></tr>
    560328      <tr><td class="lineno" valign="top"></td><td class="lblock">   2xx or 412 (Precondition Failed).  In other words, redirects and</td><td> </td><td class="rblock">   2xx <span class="insert">(Successful)</span> or 412 (Precondition Failed).  In other words,</td><td class="lineno" valign="top"></td></tr>
    561329      <tr><td class="lineno" valign="top"></td><td class="lblock">   failures take precedence over the evaluation of preconditions in</td><td> </td><td class="rblock">   redirects and failures take precedence over the evaluation of</td><td class="lineno" valign="top"></td></tr>
     
    565333      <tr><td class="lineno" valign="top"></td><td class="left">   cannot act as a cache for requests on the target resource MUST NOT</td><td> </td><td class="right">   cannot act as a cache for requests on the target resource MUST NOT</td><td class="lineno" valign="top"></td></tr>
    566334      <tr><td class="lineno" valign="top"></td><td class="left">   evaluate the conditional request header fields defined by this</td><td> </td><td class="right">   evaluate the conditional request header fields defined by this</td><td class="lineno" valign="top"></td></tr>
    567       <tr><td><a name="diff0033" /></td></tr>
     335      <tr><td><a name="diff0019" /></td></tr>
    568336      <tr><td class="lineno" valign="top"></td><td class="lblock">   specification, and MUST forward them if the request is forwarded,</td><td> </td><td class="rblock">   specification, and <span class="insert">it </span>MUST forward them if the request is forwarded,</td><td class="lineno" valign="top"></td></tr>
    569337      <tr><td class="lineno" valign="top"></td><td class="left">   since the generating client intends that they be evaluated by a</td><td> </td><td class="right">   since the generating client intends that they be evaluated by a</td><td class="lineno" valign="top"></td></tr>
     
    578346      <tr><td class="lineno" valign="top"></td><td class="left">   target resource in general, or on a group of resources.  For</td><td> </td><td class="right">   target resource in general, or on a group of resources.  For</td><td class="lineno" valign="top"></td></tr>
    579347      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    580       <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 21, line 23</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 21, line 23</em></th><td></td></tr>
     348      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 21, line 23</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 21, line 23</em></th><td></td></tr>
    581349      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    582350      <tr><td class="lineno" valign="top"></td><td class="left">   Any extension to HTTP/1.1 that defines additional conditional request</td><td> </td><td class="right">   Any extension to HTTP/1.1 that defines additional conditional request</td><td class="lineno" valign="top"></td></tr>
     
    589357      <tr><td class="lineno" valign="top"></td><td class="left">7.1.  Status Code Registration</td><td> </td><td class="right">7.1.  Status Code Registration</td><td class="lineno" valign="top"></td></tr>
    590358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    591       <tr><td><a name="diff0034" /></td></tr>
     359      <tr><td><a name="diff0020" /></td></tr>
    592360      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">"Hypertext Transfer Protocol (HTTP)</span> Status <span class="delete">Code Registry"</span> located</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Status <span class="insert">Codes" registry</span> located at</td><td class="lineno" valign="top"></td></tr>
    593361      <tr><td class="lineno" valign="top"></td><td class="lblock">   at &lt;http://www.iana.org/assignments/http-status-codes&gt; has been</td><td> </td><td class="rblock">   &lt;http://www.iana.org/assignments/http-status-codes&gt; has been updated</td><td class="lineno" valign="top"></td></tr>
     
    603371      <tr><td class="lineno" valign="top"></td><td class="left">7.2.  Header Field Registration</td><td> </td><td class="right">7.2.  Header Field Registration</td><td class="lineno" valign="top"></td></tr>
    604372      <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="diff0035" /></td></tr>
     373      <tr><td><a name="diff0021" /></td></tr>
    606374      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP header fields are registered within the <span class="delete">"Message Headers"</span></td><td> </td><td class="rblock">   HTTP header fields are registered within the <span class="insert">Message Header Field</span></td><td class="lineno" valign="top"></td></tr>
    607375      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   registry</span> maintained at</td><td> </td><td class="rblock"><span class="insert">   Registry</span> maintained at</td><td class="lineno" valign="top"></td></tr>
    608376      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/message-headers/&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/message-headers/&gt;.</td><td class="lineno" valign="top"></td></tr>
    609377      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    610       <tr><td><a name="diff0036" /></td></tr>
     378      <tr><td><a name="diff0022" /></td></tr>
    611379      <tr><td class="lineno" valign="top"></td><td class="lblock">   This document defines the following HTTP header fields, so <span class="delete">the</span></td><td> </td><td class="rblock">   This document defines the following HTTP header fields, so <span class="insert">their</span></td><td class="lineno" valign="top"></td></tr>
    612380      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   "Permanent Message Header Field Names"</span> registry <span class="delete">has</span> been updated</td><td> </td><td class="rblock"><span class="insert">   associated</span> registry <span class="insert">entries have</span> been updated <span class="insert">according to the</span></td><td class="lineno" valign="top"></td></tr>
     
    632400      <tr><td class="lineno" valign="top"></td><td class="left">   and users of known security concerns specific to the HTTP conditional</td><td> </td><td class="right">   and users of known security concerns specific to the HTTP conditional</td><td class="lineno" valign="top"></td></tr>
    633401      <tr><td class="lineno" valign="top"></td><td class="left">   request mechanisms.  More general security considerations are</td><td> </td><td class="right">   request mechanisms.  More general security considerations are</td><td class="lineno" valign="top"></td></tr>
    634       <tr><td><a name="diff0037" /></td></tr>
     402      <tr><td><a name="diff0023" /></td></tr>
    635403      <tr><td class="lineno" valign="top"></td><td class="lblock">   addressed in HTTP messaging [RFC7230] and semantics <span class="delete">[RFC7231].</span></td><td> </td><td class="rblock">   addressed in <span class="insert">the</span> HTTP messaging [RFC7230] and semantics <span class="insert">[RFC7231]</span></td><td class="lineno" valign="top"></td></tr>
    636404      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   documents.</span></td><td class="lineno" valign="top"></td></tr>
     
    646414      <tr><td class="lineno" valign="top"></td><td class="left">   An entity-tag can be abused in ways that create privacy risks.  For</td><td> </td><td class="right">   An entity-tag can be abused in ways that create privacy risks.  For</td><td class="lineno" valign="top"></td></tr>
    647415      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    648       <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 23, line 14</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 23, line 14</em></th><td></td></tr>
     416      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 23, line 14</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 23, line 14</em></th><td></td></tr>
    649417      <tr><td class="lineno" valign="top"></td><td class="left">10.1.  Normative References</td><td> </td><td class="right">10.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
    650418      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    657425      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7230]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7230]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
    658426      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td class="lineno" valign="top"></td></tr>
    659       <tr><td><a name="diff0038" /></td></tr>
     427      <tr><td><a name="diff0024" /></td></tr>
    660428      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7230,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
    661429      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    662430      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    663431      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7231]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7231]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
    664       <tr><td><a name="diff0039" /></td></tr>
     432      <tr><td><a name="diff0025" /></td></tr>
    665433      <tr><td class="lineno" valign="top"></td><td class="lblock">              Protocol (HTTP/1.1): Semantics and Content",</td><td> </td><td class="rblock">              Protocol (HTTP/1.1): Semantics and Content", <span class="insert">RFC 7231,</span></td><td class="lineno" valign="top"></td></tr>
    666434      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-latest (work in progress),</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
     
    669437      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7233]  Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td> </td><td class="right">   [RFC7233]  Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
    670438      <tr><td class="lineno" valign="top"></td><td class="left">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td> </td><td class="right">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td class="lineno" valign="top"></td></tr>
    671       <tr><td><a name="diff0040" /></td></tr>
     439      <tr><td><a name="diff0026" /></td></tr>
    672440      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p5-range-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7233,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
    673441      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
     
    675443      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7234]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td> </td><td class="right">   [RFC7234]  Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,</td><td class="lineno" valign="top"></td></tr>
    676444      <tr><td class="lineno" valign="top"></td><td class="left">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td> </td><td class="right">              Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",</td><td class="lineno" valign="top"></td></tr>
    677       <tr><td><a name="diff0041" /></td></tr>
     445      <tr><td><a name="diff0027" /></td></tr>
    678446      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p6-cache-latest (work in progress),</span></td><td> </td><td class="rblock">              <span class="insert">RFC 7234,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
    679447      <tr><td class="lineno" valign="top"></td><td class="lblock">              May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
     
    694462      <tr><td class="lineno" valign="top"></td><td class="left">Appendix A.  Changes from RFC 2616</td><td> </td><td class="right">Appendix A.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
    695463      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    696       <tr><td><a name="diff0042" /></td></tr>
     464      <tr><td><a name="diff0028" /></td></tr>
    697465      <tr><td class="lineno" valign="top"></td><td class="lblock">   The definition of validator weakness has been expanded and <span class="delete">clarified.</span></td><td> </td><td class="rblock">   The definition of validator weakness has been expanded and <span class="insert">clarified</span></td><td class="lineno" valign="top"></td></tr>
    698466      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section <span class="delete">2.1)</span></td><td> </td><td class="rblock">   (Section <span class="insert">2.1).</span></td><td class="lineno" valign="top"></td></tr>
    699467      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    700468      <tr><td class="lineno" valign="top"></td><td class="left">   Weak entity-tags are now allowed in all requests except range</td><td> </td><td class="right">   Weak entity-tags are now allowed in all requests except range</td><td class="lineno" valign="top"></td></tr>
    701       <tr><td><a name="diff0043" /></td></tr>
     469      <tr><td><a name="diff0029" /></td></tr>
    702470      <tr><td class="lineno" valign="top"></td><td class="lblock">   requests.  (Sections 2.1 and <span class="delete">3.2)</span></td><td> </td><td class="rblock">   requests.  (Sections 2.1 and <span class="insert">3.2.)</span></td><td class="lineno" valign="top"></td></tr>
    703471      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
    704472      <tr><td class="lineno" valign="top"></td><td class="left">   The ETag header field ABNF has been changed to not use quoted-string,</td><td> </td><td class="right">   The ETag header field ABNF has been changed to not use quoted-string,</td><td class="lineno" valign="top"></td></tr>
    705       <tr><td><a name="diff0044" /></td></tr>
     473      <tr><td><a name="diff0030" /></td></tr>
    706474      <tr><td class="lineno" valign="top"></td><td class="lblock">   thus avoiding escaping issues<span class="delete">.  (Section 2.3)</span></td><td> </td><td class="rblock">   thus avoiding escaping issues<span class="insert"> (Section 2.3).</span></td><td class="lineno" valign="top"></td></tr>
    707475      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    708476      <tr><td class="lineno" valign="top"></td><td class="left">   ETag is defined to provide an entity tag for the selected</td><td> </td><td class="right">   ETag is defined to provide an entity tag for the selected</td><td class="lineno" valign="top"></td></tr>
    709477      <tr><td class="lineno" valign="top"></td><td class="left">   representation, thereby clarifying what it applies to in various</td><td> </td><td class="right">   representation, thereby clarifying what it applies to in various</td><td class="lineno" valign="top"></td></tr>
    710       <tr><td><a name="diff0045" /></td></tr>
     478      <tr><td><a name="diff0031" /></td></tr>
    711479      <tr><td class="lineno" valign="top"></td><td class="lblock">   situations (such as a PUT response)<span class="delete">.  (Section 2.3)</span></td><td> </td><td class="rblock">   situations (such as a PUT response)<span class="insert"> (Section 2.3).</span></td><td class="lineno" valign="top"></td></tr>
    712480      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    713481      <tr><td class="lineno" valign="top"></td><td class="left">   The precedence for evaluation of conditional requests has been</td><td> </td><td class="right">   The precedence for evaluation of conditional requests has been</td><td class="lineno" valign="top"></td></tr>
    714       <tr><td><a name="diff0046" /></td></tr>
     482      <tr><td><a name="diff0032" /></td></tr>
    715483      <tr><td class="lineno" valign="top"></td><td class="lblock">   defined<span class="delete">.  (Section 6)</span></td><td> </td><td class="rblock">   defined<span class="insert"> (Section 6).</span></td><td class="lineno" valign="top"></td></tr>
    716484      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    726494      <tr><td class="lineno" valign="top"></td><td class="left">   The rules below are defined in [RFC7230]:</td><td> </td><td class="right">   The rules below are defined in [RFC7230]:</td><td class="lineno" valign="top"></td></tr>
    727495      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    728       <tr><td><a name="diff0047" /></td></tr>
     496      <tr><td><a name="diff0033" /></td></tr>
    729497      <tr><td class="lineno" valign="top"></td><td class="lblock">     OWS           = &lt;OWS, <span class="delete">see</span> [RFC7230], Section 3.2.3&gt;</td><td> </td><td class="rblock">     OWS           = &lt;OWS, <span class="insert">defined in</span> [RFC7230], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
    730498      <tr><td class="lineno" valign="top"></td><td class="lblock">     obs-text      = &lt;obs-text, <span class="delete">see</span> [RFC7230], Section 3.2.6&gt;</td><td> </td><td class="rblock">     obs-text      = &lt;obs-text, <span class="insert">defined in</span> [RFC7230], Section 3.2.6&gt;</td><td class="lineno" valign="top"></td></tr>
    731499      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    732       <tr><td><a name="diff0048" /></td></tr>
     500      <tr><td><a name="diff0034" /></td></tr>
    733501      <tr><td class="lineno" valign="top"></td><td class="lblock">   The rule<span class="delete">s below are defined in other parts</span>:</td><td> </td><td class="rblock">   The rule<span class="insert"> below is defined in [RFC7231]</span>:</td><td class="lineno" valign="top"></td></tr>
    734502      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    735       <tr><td><a name="diff0049" /></td></tr>
     503      <tr><td><a name="diff0035" /></td></tr>
    736504      <tr><td class="lineno" valign="top"></td><td class="lblock">     HTTP-date     = &lt;HTTP-date, <span class="delete">see</span> [RFC7231], Section 7.1.1.1&gt;</td><td> </td><td class="rblock">     HTTP-date     = &lt;HTTP-date, <span class="insert">defined in</span> [RFC7231], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
    737505      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    743511      <tr><td class="lineno" valign="top"></td><td class="left">   ETag = entity-tag</td><td> </td><td class="right">   ETag = entity-tag</td><td class="lineno" valign="top"></td></tr>
    744512      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    745       <tr><td><a name="diff0050" /></td></tr>
     513      <tr><td><a name="diff0036" /></td></tr>
    746514      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP-date = &lt;HTTP-date, <span class="delete">see</span> [RFC7231], Section 7.1.1.1&gt;</td><td> </td><td class="rblock">   HTTP-date = &lt;HTTP-date, <span class="insert">defined in</span> [RFC7231], Section 7.1.1.1&gt;</td><td class="lineno" valign="top"></td></tr>
    747515      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    755523      <tr><td class="lineno" valign="top"></td><td class="left">   Last-Modified = HTTP-date</td><td> </td><td class="right">   Last-Modified = HTTP-date</td><td class="lineno" valign="top"></td></tr>
    756524      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    757       <tr><td><a name="diff0051" /></td></tr>
     525      <tr><td><a name="diff0037" /></td></tr>
    758526      <tr><td class="lineno" valign="top"></td><td class="lblock">   OWS = &lt;OWS, <span class="delete">see</span> [RFC7230], Section 3.2.3&gt;</td><td> </td><td class="rblock">   OWS = &lt;OWS, <span class="insert">defined in</span> [RFC7230], Section 3.2.3&gt;</td><td class="lineno" valign="top"></td></tr>
    759527      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    762530      <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>
    763531      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    764       <tr><td><a name="diff0052" /></td></tr>
     532      <tr><td><a name="diff0038" /></td></tr>
    765533      <tr><td class="lineno" valign="top"></td><td class="lblock">   obs-text = &lt;obs-text, <span class="delete">see</span> [RFC7230], Section 3.2.6&gt;</td><td> </td><td class="rblock">   obs-text = &lt;obs-text, <span class="insert">defined in</span> [RFC7230], Section 3.2.6&gt;</td><td class="lineno" valign="top"></td></tr>
    766534      <tr><td class="lineno" valign="top"></td><td class="left">   opaque-tag = DQUOTE *etagc DQUOTE</td><td> </td><td class="right">   opaque-tag = DQUOTE *etagc DQUOTE</td><td class="lineno" valign="top"></td></tr>
     
    776544
    777545     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
    778      <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 52 change blocks.&nbsp;</a></th></tr>
    779      <tr class="stats"><td></td><th><i>122 lines changed or deleted</i></th><th><i> </i></th><th><i>103 lines changed or added</i></th><td></td></tr>
     546     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 38 change blocks.&nbsp;</a></th></tr>
     547     <tr class="stats"><td></td><th><i>98 lines changed or deleted</i></th><th><i> </i></th><th><i>79 lines changed or added</i></th><td></td></tr>
    780548     <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>
    781549   </table>
Note: See TracChangeset for help on using the changeset viewer.