Changeset 2691


Ignore:
Timestamp:
May 23, 2014, 1:42:20 PM (6 years ago)
Author:
julian.reschke@…
Message:

editorial fixes (#553)

Location:
draft-ietf-httpbis/latest
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/auth48/p6-cache.unpg.txt

    r2678 r2691  
    66Obsoletes: 2616 (if approved)                         M. Nottingham, Ed.
    77Intended status: Standards Track                                  Akamai
    8 Expires: November 17, 2014                               J. Reschke, Ed.
     8Expires: November 24, 2014                               J. Reschke, Ed.
    99                                                              greenbytes
    10                                                             May 16, 2014
     10                                                            May 23, 2014
    1111
    1212
     
    5353
    5454
    55 Fielding, et al.        Expires November 17, 2014               [Page 1]
    56 
    57 
    58 Internet-Draft              HTTP/1.1 Caching                    May 2014
    59 
    60 
    61    This Internet-Draft will expire on November 17, 2014.
     55Fielding, et al.        Expires November 24, 2014               [Page 1]
     56
     57
     58Internet-Draft              HTTP/1.1 Caching                    May 2014
     59
     60
     61   This Internet-Draft will expire on November 24, 2014.
    6262
    6363Copyright Notice
     
    110110
    111111
    112 Fielding, et al.        Expires November 17, 2014               [Page 2]
     112Fielding, et al.        Expires November 24, 2014               [Page 2]
    113113
    114114
     
    167167
    168168
    169 Fielding, et al.        Expires November 17, 2014               [Page 3]
     169Fielding, et al.        Expires November 24, 2014               [Page 3]
    170170
    171171
     
    224224
    225225
    226 Fielding, et al.        Expires November 17, 2014               [Page 4]
     226Fielding, et al.        Expires November 24, 2014               [Page 4]
    227227
    228228
     
    281281
    282282
    283 Fielding, et al.        Expires November 17, 2014               [Page 5]
     283Fielding, et al.        Expires November 24, 2014               [Page 5]
    284284
    285285
     
    338338
    339339
    340 Fielding, et al.        Expires November 17, 2014               [Page 6]
     340Fielding, et al.        Expires November 24, 2014               [Page 6]
    341341
    342342
     
    366366   a 206 (Partial Content) response MAY be stored as if it were an
    367367   incomplete 200 (OK) cache entry.  However, a cache MUST NOT store
    368    incomplete or partial content responses if it does not support the
     368   incomplete or partial-content responses if it does not support the
    369369   Range and Content-Range header fields or if it does not understand
    370370   the range units used in those fields.
     
    388388   In this specification, the following Cache-Control response
    389389   directives (Section 5.2.2) have such an effect: must-revalidate,
    390    public, s-maxage.
     390   public, and s-maxage.
    391391
    392392   Note that cached responses that contain the "must-revalidate" and/or
     
    395395
    396396
    397 Fielding, et al.        Expires November 17, 2014               [Page 7]
     397Fielding, et al.        Expires November 24, 2014               [Page 7]
    398398
    399399
     
    452452
    453453
    454 Fielding, et al.        Expires November 17, 2014               [Page 8]
     454Fielding, et al.        Expires November 24, 2014               [Page 8]
    455455
    456456
     
    483483   forwarded the request and having received a corresponding response.
    484484
    485    Also, note that unsafe requests might invalidate already stored
     485   Also, note that unsafe requests might invalidate already-stored
    486486   responses; see Section 4.4.
    487487
     
    509509
    510510
    511 Fielding, et al.        Expires November 17, 2014               [Page 9]
     511Fielding, et al.        Expires November 24, 2014               [Page 9]
    512512
    513513
     
    523523   o  normalizing both header field values in a way that is known to
    524524      have identical semantics, according to the header field's
    525       specification (e.g., re-ordering field values when order is not
     525      specification (e.g., reordering field values when order is not
    526526      significant; case-normalization, where values are defined to be
    527527      case-insensitive)
     
    566566
    567567
    568 Fielding, et al.        Expires November 17, 2014              [Page 10]
     568Fielding, et al.        Expires November 24, 2014              [Page 10]
    569569
    570570
     
    608608
    609609   o  Although all date formats are specified to be case-sensitive, a
    610       cache recipient SHOULD match day, week, and timezone names case-
     610      cache recipient SHOULD match day, week, and time-zone names case-
    611611      insensitively.
    612612
     
    623623
    624624
    625 Fielding, et al.        Expires November 17, 2014              [Page 11]
     625Fielding, et al.        Expires November 24, 2014              [Page 11]
    626626
    627627
     
    640640
    641641   A cache can calculate the freshness lifetime (denoted as
    642    freshness_lifetime) of a response by using the first match of:
     642   freshness_lifetime) of a response by using the first match of the
     643   following:
    643644
    644645   o  If the cache is shared and the s-maxage response directive
     
    676677   explicit expiration time is present in the stored response.  Because
    677678   of the requirements in Section 3, this means that, effectively,
     679
     680
     681
     682Fielding, et al.        Expires November 24, 2014              [Page 12]
     683
     684
     685Internet-Draft              HTTP/1.1 Caching                    May 2014
     686
     687
    678688   heuristics can only be used on responses without explicit freshness
    679 
    680 
    681 
    682 Fielding, et al.        Expires November 17, 2014              [Page 12]
    683 
    684 
    685 Internet-Draft              HTTP/1.1 Caching                    May 2014
    686 
    687 
    688689   whose status codes are defined as cacheable by default (see Section
    689690   6.1 of [RFC7231]), and those responses without explicit freshness
     
    733734      and for requirements regarding responses without it.
    734735
     736
     737
     738
     739Fielding, et al.        Expires November 24, 2014              [Page 13]
     740
     741
     742Internet-Draft              HTTP/1.1 Caching                    May 2014
     743
     744
    735745   now
    736 
    737 
    738 
    739 Fielding, et al.        Expires November 17, 2014              [Page 13]
    740 
    741 
    742 Internet-Draft              HTTP/1.1 Caching                    May 2014
    743 
    744746
    745747      The term "now" means "the current value of the clock at the host
     
    789791   validated by the origin server to the corrected_initial_age.
    790792
     793
     794
     795
     796Fielding, et al.        Expires November 24, 2014              [Page 14]
     797
     798
     799Internet-Draft              HTTP/1.1 Caching                    May 2014
     800
     801
    791802     resident_time = now - response_time;
    792803     current_age = corrected_initial_age + resident_time;
    793 
    794 
    795 
    796 Fielding, et al.        Expires November 17, 2014              [Page 14]
    797 
    798 
    799 Internet-Draft              HTTP/1.1 Caching                    May 2014
    800 
    801804
    8028054.2.4.  Serving Stale Responses
     
    846849   current representation of the resource.
    847850
     851
     852
     853Fielding, et al.        Expires November 24, 2014              [Page 15]
     854
     855
     856Internet-Draft              HTTP/1.1 Caching                    May 2014
     857
     858
    848859   One such validator is the timestamp given in a Last-Modified header
    849860   field (Section 2.2 of [RFC7232]), which can be used in an If-
    850 
    851 
    852 
    853 Fielding, et al.        Expires November 17, 2014              [Page 15]
    854 
    855 
    856 Internet-Draft              HTTP/1.1 Caching                    May 2014
    857 
    858 
    859861   Modified-Since header field for response validation, or in an If-
    860862   Unmodified-Since or If-Range header field for representation
     
    899901   its own stored responses in comparison to whichever stored response
    900902   is selected by the cache.  If the field-value is "*", or if the
    901    field-value is a list of entity-tags and at least one of them match
     903   field-value is a list of entity-tags and at least one of them matches
    902904   the entity-tag of the selected stored response, a cache recipient
    903905   SHOULD generate a 304 (Not Modified) response (using the metadata of
    904906   the selected stored response) instead of sending that stored
     907
     908
     909
     910Fielding, et al.        Expires November 24, 2014              [Page 16]
     911
     912
     913Internet-Draft              HTTP/1.1 Caching                    May 2014
     914
     915
    905916   response.
    906 
    907 
    908 
    909 
    910 Fielding, et al.        Expires November 17, 2014              [Page 16]
    911 
    912 
    913 Internet-Draft              HTTP/1.1 Caching                    May 2014
    914 
    915917
    916918   When a cache decides to revalidate its own stored responses for a
     
    960962      none of the stored responses nominated in the conditional request
    961963      is suitable.  Instead, the cache MUST use the full response to
     964
     965
     966
     967Fielding, et al.        Expires November 24, 2014              [Page 17]
     968
     969
     970Internet-Draft              HTTP/1.1 Caching                    May 2014
     971
     972
    962973      satisfy the request and MAY replace the stored response(s).
    963 
    964 
    965 
    966 
    967 Fielding, et al.        Expires November 17, 2014              [Page 17]
    968 
    969 
    970 Internet-Draft              HTTP/1.1 Caching                    May 2014
    971 
    972974
    973975   o  However, if a cache receives a 5xx (Server Error) response while
     
    986988
    987989   The stored response to update is identified by using the first match
    988    (if any) of:
     990   (if any) of the following:
    989991
    990992   o  If the new response contains a strong validator (see Section 2.1
     
    10201022
    10211023
    1022 
    1023 
    1024 Fielding, et al.        Expires November 17, 2014              [Page 18]
     1024Fielding, et al.        Expires November 24, 2014              [Page 18]
    10251025
    10261026
     
    10711071   PUT, POST or DELETE have the potential for changing state on the
    10721072   origin server, intervening caches can use them to keep their contents
    1073    up-to-date.
     1073   up to date.
    10741074
    10751075   A cache MUST invalidate the effective Request URI (Section 5.5 of
     
    10791079
    10801080
    1081 Fielding, et al.        Expires November 17, 2014              [Page 19]
     1081Fielding, et al.        Expires November 24, 2014              [Page 19]
    10821082
    10831083
     
    10991099   (Redirection) status code.  "Invalidate" means that the cache will
    11001100   either remove all stored responses related to the effective request
    1101    URI, or will mark these as "invalid" and in need of a mandatory
     1101   URI or will mark these as "invalid" and in need of a mandatory
    11021102   validation before they can be sent in response to a subsequent
    11031103   request.
     
    11361136
    11371137
    1138 Fielding, et al.        Expires November 17, 2014              [Page 20]
     1138Fielding, et al.        Expires November 24, 2014              [Page 20]
    11391139
    11401140
     
    11891189   response.
    11901190
    1191    This directive uses the token form of the argument syntax; e.g.,
    1192 
    1193 
    1194 
    1195 Fielding, et al.        Expires November 17, 2014              [Page 21]
    1196 
    1197 
    1198 Internet-Draft              HTTP/1.1 Caching                    May 2014
    1199 
    1200 
    1201    'max-age=5', not 'max-age="5"'.  A sender SHOULD NOT generate the
     1191   This directive uses the token form of the argument syntax: e.g.,
     1192
     1193
     1194
     1195Fielding, et al.        Expires November 24, 2014              [Page 21]
     1196
     1197
     1198Internet-Draft              HTTP/1.1 Caching                    May 2014
     1199
     1200
     1201   'max-age=5' not 'max-age="5"'.  A sender SHOULD NOT generate the
    12021202   quoted-string form.
    12031203
     
    12161216   response of any age.
    12171217
    1218    This directive uses the token form of the argument syntax; e.g.,
    1219    'max-stale=10', not 'max-stale="10"'.  A sender SHOULD NOT generate
     1218   This directive uses the token form of the argument syntax: e.g.,
     1219   'max-stale=10' not 'max-stale="10"'.  A sender SHOULD NOT generate
    12201220   the quoted-string form.
    12211221
     
    12321232   specified number of seconds.
    12331233
    1234    This directive uses the token form of the argument syntax; e.g.,
    1235    'min-fresh=20', not 'min-fresh="20"'.  A sender SHOULD NOT generate
     1234   This directive uses the token form of the argument syntax: e.g.,
     1235   'min-fresh=20' not 'min-fresh="20"'.  A sender SHOULD NOT generate
    12361236   the quoted-string form.
    12371237
     
    12501250
    12511251
    1252 Fielding, et al.        Expires November 17, 2014              [Page 22]
     1252Fielding, et al.        Expires November 24, 2014              [Page 22]
    12531253
    12541254
     
    13071307
    13081308
    1309 Fielding, et al.        Expires November 17, 2014              [Page 23]
     1309Fielding, et al.        Expires November 24, 2014              [Page 23]
    13101310
    13111311
     
    13641364
    13651365
    1366 Fielding, et al.        Expires November 17, 2014              [Page 24]
     1366Fielding, et al.        Expires November 24, 2014              [Page 24]
    13671367
    13681368
     
    14211421
    14221422
    1423 Fielding, et al.        Expires November 17, 2014              [Page 25]
     1423Fielding, et al.        Expires November 24, 2014              [Page 25]
    14241424
    14251425
     
    14451445   of seconds.
    14461446
    1447    This directive uses the token form of the argument syntax; e.g.,
    1448    'max-age=5', not 'max-age="5"'.  A sender SHOULD NOT generate the
     1447   This directive uses the token form of the argument syntax: e.g.,
     1448   'max-age=5' not 'max-age="5"'.  A sender SHOULD NOT generate the
    14491449   quoted-string form.
    14501450
     
    14611461   proxy-revalidate response directive.
    14621462
    1463    This directive uses the token form of the argument syntax; e.g.,
    1464    's-maxage=10', not 's-maxage="10"'.  A sender SHOULD NOT generate the
     1463   This directive uses the token form of the argument syntax: e.g.,
     1464   's-maxage=10' not 's-maxage="10"'.  A sender SHOULD NOT generate the
    14651465   quoted-string form.
    14661466
     
    14781478
    14791479
    1480 Fielding, et al.        Expires November 17, 2014              [Page 26]
     1480Fielding, et al.        Expires November 24, 2014              [Page 26]
    14811481
    14821482
     
    15351535
    15361536
    1537 Fielding, et al.        Expires November 17, 2014              [Page 27]
     1537Fielding, et al.        Expires November 24, 2014              [Page 27]
    15381538
    15391539
     
    15921592
    15931593
    1594 Fielding, et al.        Expires November 17, 2014              [Page 28]
     1594Fielding, et al.        Expires November 24, 2014              [Page 28]
    15951595
    15961596
     
    16491649
    16501650
    1651 Fielding, et al.        Expires November 17, 2014              [Page 29]
     1651Fielding, et al.        Expires November 24, 2014              [Page 29]
    16521652
    16531653
     
    16601660
    16611661   o  1xx warn-codes describe the freshness or validation status of the
    1662       response, and so MUST be deleted by a cache after validation.
     1662      response, and so they MUST be deleted by a cache after validation.
    16631663      They can only be generated by a cache when validating a cached
    16641664      entry, and MUST NOT be generated in any other situation.
     
    16661666   o  2xx warn-codes describe some aspect of the representation that is
    16671667      not rectified by a validation (for example, a lossy compression of
    1668       the representation) and MUST NOT be deleted by a cache after
     1668      the representation) and they MUST NOT be deleted by a cache after
    16691669      validation, unless a full response is sent, in which case they
    16701670      MUST be.
     
    17061706
    17071707
    1708 Fielding, et al.        Expires November 17, 2014              [Page 30]
     1708Fielding, et al.        Expires November 24, 2014              [Page 30]
    17091709
    17101710
     
    17321732
    17331733   The warning text can include arbitrary information to be presented to
    1734    a human user, or logged.  A system receiving this warning MUST NOT
     1734   a human user or logged.  A system receiving this warning MUST NOT
    17351735   take any automated action, besides presenting the warning to the
    17361736   user.
     
    173817385.5.6.  Warning: 214 - "Transformation Applied"
    17391739
    1740    MUST be added by a proxy if it applies any transformation to the
    1741    representation, such as changing the content-coding, media-type, or
    1742    modifying the representation data, unless this Warning code already
    1743    appears in the response.
     1740   This Warning code MUST be added by a proxy if it applies any
     1741   transformation to the representation, such as changing the content-
     1742   coding, media-type, or modifying the representation data, unless this
     1743   Warning code already appears in the response.
    17441744
    174517455.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"
    17461746
    17471747   The warning text can include arbitrary information to be presented to
    1748    a human user, or logged.  A system receiving this warning MUST NOT
     1748   a human user or logged.  A system receiving this warning MUST NOT
    17491749   take any automated action.
    17501750
     
    17561756
    17571757   The freshness model (Section 4.2) does not necessarily apply to
    1758    history mechanisms.  I.e., a history mechanism can display a previous
    1759    representation even if it has expired.
     1758   history mechanisms.  That is, a history mechanism can display a
     1759   previous representation even if it has expired.
    17601760
    17611761   This does not prohibit the history mechanism from telling the user
     
    17631763
    17641764
    1765 Fielding, et al.        Expires November 17, 2014              [Page 31]
    1766 
    1767 
    1768 Internet-Draft              HTTP/1.1 Caching                    May 2014
    1769 
    1770 
    1771    that a view might be stale, or from honoring cache directives (e.g.,
     1765Fielding, et al.        Expires November 24, 2014              [Page 31]
     1766
     1767
     1768Internet-Draft              HTTP/1.1 Caching                    May 2014
     1769
     1770
     1771   that a view might be stale or from honoring cache directives (e.g.,
    17721772   Cache-Control: no-store).
    17731773
     
    177617767.1.  Cache Directive Registry
    17771777
    1778    The HTTP Cache Directive Registry defines the namespace for the cache
    1779    directives.  It will be created and maintained at (the suggested URI)
     1778   The "Hypertext Transfer Protocol (HTTP) Cache Directive Registry"
     1779   defines the namespace for the cache directives.  It has been created
     1780   and is now maintained at
    17801781   <http://www.iana.org/assignments/http-cache-directives>.
    17811782
     
    181018117.1.3.  Registrations
    18111812
    1812    The HTTP Cache Directive Registry has been populated with the
    1813    registrations below:
    1814 
    1815 
    1816 
    1817 
    1818 
    1819 
    1820 
    1821 
    1822 Fielding, et al.        Expires November 17, 2014              [Page 32]
     1813   The registry has been populated with the registrations below:
     1814
     1815
     1816
     1817
     1818
     1819
     1820
     1821
     1822Fielding, et al.        Expires November 24, 2014              [Page 32]
    18231823
    18241824
     
    184718477.2.  Warn Code Registry
    18481848
    1849    The HTTP Warn Code Registry defines the namespace for warn codes.  It
    1850    will be created and maintained at (the suggested URI)
    1851    <http://www.iana.org/assignments/http-warn-codes>.
     1849   The "Hypertext Transfer Protocol (HTTP) Warn Codes" registry defines
     1850   the namespace for warn codes.  It has been created and is now
     1851   maintained at <http://www.iana.org/assignments/http-warn-codes>.
    18521852
    185318537.2.1.  Procedure
     
    186618667.2.2.  Registrations
    18671867
    1868    The HTTP Warn Code Registry has been populated with the registrations
    1869    below:
    1870 
    1871 
    1872 
    1873 
    1874 
    1875 
    1876 
    1877 
    1878 
    1879 Fielding, et al.        Expires November 17, 2014              [Page 33]
     1868   The registry has been populated with the registrations below:
     1869
     1870
     1871
     1872
     1873
     1874
     1875
     1876
     1877
     1878
     1879Fielding, et al.        Expires November 24, 2014              [Page 33]
    18801880
    18811881
     
    19341934
    19351935
    1936 Fielding, et al.        Expires November 17, 2014              [Page 34]
     1936Fielding, et al.        Expires November 24, 2014              [Page 34]
    19371937
    19381938
     
    19911991
    19921992
    1993 Fielding, et al.        Expires November 17, 2014              [Page 35]
     1993Fielding, et al.        Expires November 24, 2014              [Page 35]
    19941994
    19951995
     
    20482048
    20492049
    2050 Fielding, et al.        Expires November 17, 2014              [Page 36]
     2050Fielding, et al.        Expires November 24, 2014              [Page 36]
    20512051
    20522052
     
    20612061
    20622062   The algorithm for calculating age is now less conservative.  Caches
    2063    are now required to handle dates with timezones as if they're
     2063   are now required to handle dates with time zones as if they're
    20642064   invalid, because it's not possible to accurately guess.
    20652065   (Section 4.2.3)
     
    20852085
    20862086   The "no-store" request directive doesn't apply to responses; i.e., a
    2087    cache can satisfy a request with no-store on it, and does not
     2087   cache can satisfy a request with no-store on it and does not
    20882088   invalidate it.  (Section 5.2.1.5)
    20892089
    20902090   The qualified forms of the private and no-cache cache directives are
    2091    noted to not be widely implemented; e.g., "private=foo" is
     2091   noted to not be widely implemented; for example, "private=foo" is
    20922092   interpreted by many caches as simply "private".  Additionally, the
    20932093   meaning of the qualified form of no-cache has been clarified.
     
    21052105
    21062106
    2107 Fielding, et al.        Expires November 17, 2014              [Page 37]
     2107Fielding, et al.        Expires November 24, 2014              [Page 37]
    21082108
    21092109
     
    21162116   header fields have been relaxed, as it is not widely implemented.
    21172117   Furthermore, the Warning header field no longer uses RFC 2047
    2118    encoding, nor allows multiple languages, as these aspects were not
    2119    implemented.  (Section 5.5)
     2118   encoding, nor does it allow multiple languages, as these aspects were
     2119   not implemented.  (Section 5.5)
    21202120
    21212121   This specification introduces the Cache Directive and Warn Code
     
    21622162
    21632163
    2164 Fielding, et al.        Expires November 17, 2014              [Page 38]
     2164Fielding, et al.        Expires November 24, 2014              [Page 38]
    21652165
    21662166
     
    22192219
    22202220
    2221 Fielding, et al.        Expires November 17, 2014              [Page 39]
     2221Fielding, et al.        Expires November 24, 2014              [Page 39]
    22222222
    22232223
     
    22762276
    22772277
    2278 Fielding, et al.        Expires November 17, 2014              [Page 40]
     2278Fielding, et al.        Expires November 24, 2014              [Page 40]
    22792279
    22802280
     
    23332333
    23342334
    2335 Fielding, et al.        Expires November 17, 2014              [Page 41]
     2335Fielding, et al.        Expires November 24, 2014              [Page 41]
    23362336
    23372337
     
    23902390
    23912391
    2392 Fielding, et al.        Expires November 17, 2014              [Page 42]
    2393 
    2394 
     2392Fielding, et al.        Expires November 24, 2014              [Page 42]
     2393
     2394
  • draft-ietf-httpbis/latest/auth48/rfc7234.abdiff.txt

    r2683 r2691  
    77 Obsoletes: 2616 (if approved)                         M. Nottingham, Ed.
    88 Intended status: Standards Track                                  Akamai
    9  Expires: November 17, 2014                               J. Reschke, Ed.
     9 Expires: November 24, 2014                               J. Reschke, Ed.
    1010                                                               greenbytes
    11                                                              May 16, 2014
     11                                                             May 23, 2014
    1212
    1313NEW:
     
    9292    time.  It is inappropriate to use Internet-Drafts as reference
    9393    material or to cite them other than as "work in progress."
    94     This Internet-Draft will expire on November 17, 2014.
     94    This Internet-Draft will expire on November 24, 2014.
    9595
    9696NEW:
     
    101101
    102102
    103 Section 3.1., paragraph 1:
    104 OLD:
    105 
    106     A response message is considered complete when all of the octets
    107     indicated by the message framing ([RFC7230]) are received prior to
    108     the connection being closed.  If the request method is GET, the
    109     response status code is 200 (OK), and the entire response header
    110     section has been received, a cache MAY store an incomplete response
    111     message body if the cache entry is recorded as incomplete.  Likewise,
    112     a 206 (Partial Content) response MAY be stored as if it were an
    113     incomplete 200 (OK) cache entry.  However, a cache MUST NOT store
    114     incomplete or partial content responses if it does not support the
    115     Range and Content-Range header fields or if it does not understand
    116     the range units used in those fields.
    117 
    118 NEW:
    119 
    120     A response message is considered complete when all of the octets
    121     indicated by the message framing ([RFC7230]) are received prior to
    122     the connection being closed.  If the request method is GET, the
    123     response status code is 200 (OK), and the entire response header
    124     section has been received, a cache MAY store an incomplete response
    125     message body if the cache entry is recorded as incomplete.  Likewise,
    126     a 206 (Partial Content) response MAY be stored as if it were an
    127     incomplete 200 (OK) cache entry.  However, a cache MUST NOT store
    128     incomplete or partial-content responses if it does not support the
    129     Range and Content-Range header fields or if it does not understand
    130     the range units used in those fields.
    131 
    132 
    133 Section 3.2., paragraph 2:
    134 OLD:
    135 
    136     In this specification, the following Cache-Control response
    137     directives (Section 5.2.2) have such an effect: must-revalidate,
    138     public, s-maxage.
    139 
    140 NEW:
    141 
    142     In this specification, the following Cache-Control response
    143     directives (Section 5.2.2) have such an effect: must-revalidate,
    144     public, and s-maxage.
    145 
    146 
    147 Section 4., paragraph 14:
    148 OLD:
    149 
    150     Also, note that unsafe requests might invalidate already stored
    151     responses; see Section 4.4.
    152 
    153 NEW:
    154 
    155     Also, note that unsafe requests might invalidate already-stored
    156     responses; see Section 4.4.
    157 
    158 
    159 Section 4.1., paragraph 5:
    160 OLD:
    161 
    162     o  normalizing both header field values in a way that is known to
    163        have identical semantics, according to the header field's
    164        specification (e.g., re-ordering field values when order is not
    165        significant; case-normalization, where values are defined to be
    166        case-insensitive)
    167 
    168 NEW:
    169 
    170     o  normalizing both header field values in a way that is known to
    171        have identical semantics, according to the header field's
    172        specification (e.g., reordering field values when order is not
    173        significant; case-normalization, where values are defined to be
    174        case-insensitive)
    175 
    176 
    177 Section 4.2., paragraph 13:
    178 OLD:
    179 
    180     o  Although all date formats are specified to be case-sensitive, a
    181        cache recipient SHOULD match day, week, and timezone names case-
    182        insensitively.
    183 
    184 NEW:
    185 
    186     o  Although all date formats are specified to be case-sensitive, a
    187        cache recipient SHOULD match day, week, and time-zone names case-
    188        insensitively.
    189 
    190 
    191 Section 4.2.1., paragraph 1:
    192 OLD:
    193 
    194     A cache can calculate the freshness lifetime (denoted as
    195     freshness_lifetime) of a response by using the first match of:
    196 
    197 NEW:
    198 
    199     A cache can calculate the freshness lifetime (denoted as
    200     freshness_lifetime) of a response by using the first match of the
    201     following:
    202 
    203 
    204103Section 4.2.1., paragraph 4:
    205104OLD:
     
    212111    o  If the Expires response header field (Section 5.3) is present, use
    213112       its value minus the value of the Date response header field,
    214 
    215 
    216 Section 4.2.3., paragraph 7:
    217 OLD:
    218 
    219     now
    220        The term "now" means "the current value of the clock at the host
    221        performing the calculation".  A host ought to use NTP ([RFC5905])
    222        or some similar protocol to synchronize its clocks to Coordinated
    223        Universal Time.
    224 
    225 NEW:
    226 
    227     now
    228  
    229        The term "now" means "the current value of the clock at the host
    230        performing the calculation".  A host ought to use NTP ([RFC5905])
    231        or some similar protocol to synchronize its clocks to Coordinated
    232        Universal Time.
    233113
    234114
     
    251131
    252132
    253 Section 4.3.2., paragraph 4:
    254 OLD:
    255 
    256     A request containing an If-None-Match header field (Section 3.2 of
    257     [RFC7232]) indicates that the client wants to validate one or more of
    258     its own stored responses in comparison to whichever stored response
    259     is selected by the cache.  If the field-value is "*", or if the
    260     field-value is a list of entity-tags and at least one of them match
    261     the entity-tag of the selected stored response, a cache recipient
    262     SHOULD generate a 304 (Not Modified) response (using the metadata of
    263     the selected stored response) instead of sending that stored
    264     response.
    265 
    266 NEW:
    267 
    268     A request containing an If-None-Match header field (Section 3.2 of
    269     [RFC7232]) indicates that the client wants to validate one or more of
    270     its own stored responses in comparison to whichever stored response
    271     is selected by the cache.  If the field-value is "*", or if the
    272     field-value is a list of entity-tags and at least one of them matches
    273     the entity-tag of the selected stored response, a cache recipient
    274     SHOULD generate a 304 (Not Modified) response (using the metadata of
    275     the selected stored response) instead of sending that stored
    276     response.
    277 
    278 
    279 Section 4.3.4., paragraph 2:
    280 OLD:
    281 
    282     The stored response to update is identified by using the first match
    283     (if any) of:
    284 
    285 NEW:
    286 
    287     The stored response to update is identified by using the first match
    288     (if any) of the following:
    289 
    290 
    291 Section 4.4., paragraph 1:
    292 OLD:
    293 
    294     Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as
    295     PUT, POST or DELETE have the potential for changing state on the
    296     origin server, intervening caches can use them to keep their contents
    297     up-to-date.
    298 
    299 NEW:
    300 
    301     Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as
    302     PUT, POST or DELETE have the potential for changing state on the
    303     origin server, intervening caches can use them to keep their contents
    304     up to date.
    305 
    306 
    307 Section 4.4., paragraph 5:
    308 OLD:
    309 
    310     Here, a "non-error response" is one with a 2xx (Successful) or 3xx
    311     (Redirection) status code.  "Invalidate" means that the cache will
    312     either remove all stored responses related to the effective request
    313     URI, or will mark these as "invalid" and in need of a mandatory
    314     validation before they can be sent in response to a subsequent
    315     request.
    316 
    317 NEW:
    318 
    319     Here, a "non-error response" is one with a 2xx (Successful) or 3xx
    320     (Redirection) status code.  "Invalidate" means that the cache will
    321     either remove all stored responses related to the effective request
    322     URI or will mark these as "invalid" and in need of a mandatory
    323     validation before they can be sent in response to a subsequent
    324     request.
    325 
    326 
    327 Section 5.2.1.1., paragraph 4:
    328 OLD:
     133Section 5.2.1.3., paragraph 4:
     134OLD:
     135
     136    This directive uses the token form of the argument syntax: e.g.,
     137    'min-fresh=20' not 'min-fresh="20"'.  A sender SHOULD NOT generate
     138    the quoted-string form.
     139
     140NEW:
    329141
    330142    This directive uses the token form of the argument syntax; e.g.,
    331     'max-age=5', not 'max-age="5"'.  A sender SHOULD NOT generate the
    332     quoted-string form.
    333 
    334 NEW:
    335 
    336     This directive uses the token form of the argument syntax: e.g.,
    337     'max-age=5' not 'max-age="5"'.  A sender SHOULD NOT generate the
    338     quoted-string form.
    339 
    340 
    341 Section 5.2.1.2., paragraph 4:
    342 OLD:
    343 
    344     This directive uses the token form of the argument syntax; e.g.,
    345     'max-stale=10', not 'max-stale="10"'.  A sender SHOULD NOT generate
    346     the quoted-string form.
    347 
    348 NEW:
    349 
    350     This directive uses the token form of the argument syntax: e.g.,
    351     'max-stale=10' not 'max-stale="10"'.  A sender SHOULD NOT generate
     143    'min-fresh=20', not 'min-fresh="20"'.  A sender SHOULD NOT generate
    352144    the quoted-string form.
    353145
     
    373165
    374166
    375 Section 5.2.2.8., paragraph 4:
    376 OLD:
    377 
    378     This directive uses the token form of the argument syntax; e.g.,
    379     'max-age=5', not 'max-age="5"'.  A sender SHOULD NOT generate the
    380     quoted-string form.
    381 
    382 NEW:
    383 
    384     This directive uses the token form of the argument syntax: e.g.,
    385     'max-age=5' not 'max-age="5"'.  A sender SHOULD NOT generate the
    386     quoted-string form.
    387 
    388 
    389 Section 5.2.2.9., paragraph 4:
    390 OLD:
    391 
    392     This directive uses the token form of the argument syntax; e.g.,
    393     's-maxage=10', not 's-maxage="10"'.  A sender SHOULD NOT generate the
    394     quoted-string form.
    395 
    396 NEW:
    397 
    398     This directive uses the token form of the argument syntax: e.g.,
    399     's-maxage=10' not 's-maxage="10"'.  A sender SHOULD NOT generate the
    400     quoted-string form.
    401 
    402 
    403 Section 5.5., paragraph 10:
    404 OLD:
    405 
    406     o  1xx warn-codes describe the freshness or validation status of the
    407        response, and so MUST be deleted by a cache after validation.
    408        They can only be generated by a cache when validating a cached
    409        entry, and MUST NOT be generated in any other situation.
    410 
    411 NEW:
    412 
    413     o  1xx warn-codes describe the freshness or validation status of the
    414        response, and so they MUST be deleted by a cache after validation.
    415        They can only be generated by a cache when validating a cached
    416        entry, and MUST NOT be generated in any other situation.
    417 
    418 
    419 Section 5.5., paragraph 11:
    420 OLD:
    421 
    422     o  2xx warn-codes describe some aspect of the representation that is
    423        not rectified by a validation (for example, a lossy compression of
    424        the representation) and MUST NOT be deleted by a cache after
    425        validation, unless a full response is sent, in which case they
    426        MUST be.
    427 
    428 NEW:
    429 
    430     o  2xx warn-codes describe some aspect of the representation that is
    431        not rectified by a validation (for example, a lossy compression of
    432        the representation) and they MUST NOT be deleted by a cache after
    433        validation, unless a full response is sent, in which case they
    434        MUST be.
    435 
    436 
    437 Section 5.5.5., paragraph 1:
    438 OLD:
    439 
    440     The warning text can include arbitrary information to be presented to
    441     a human user, or logged.  A system receiving this warning MUST NOT
    442     take any automated action, besides presenting the warning to the
    443     user.
    444 
    445 NEW:
    446 
    447     The warning text can include arbitrary information to be presented to
    448     a human user or logged.  A system receiving this warning MUST NOT
    449     take any automated action, besides presenting the warning to the
    450     user.
    451 
    452 
    453 Section 5.5.6., paragraph 1:
    454 OLD:
    455 
    456     MUST be added by a proxy if it applies any transformation to the
    457     representation, such as changing the content-coding, media-type, or
    458     modifying the representation data, unless this Warning code already
    459     appears in the response.
    460 
    461 NEW:
    462 
    463     This Warning code MUST be added by a proxy if it applies any
    464     transformation to the representation, such as changing the content-
    465     coding, media-type, or modifying the representation data, unless this
    466     Warning code already appears in the response.
    467 
    468 
    469 Section 5.5.7., paragraph 1:
    470 OLD:
    471 
    472     The warning text can include arbitrary information to be presented to
    473     a human user, or logged.  A system receiving this warning MUST NOT
    474     take any automated action.
    475 
    476 NEW:
    477 
    478     The warning text can include arbitrary information to be presented to
    479     a human user or logged.  A system receiving this warning MUST NOT
    480     take any automated action.
    481 
    482 
    483 Section 6., paragraph 2:
    484 OLD:
    485 
    486     The freshness model (Section 4.2) does not necessarily apply to
    487     history mechanisms.  I.e., a history mechanism can display a previous
    488     representation even if it has expired.
    489 
    490 NEW:
    491 
    492     The freshness model (Section 4.2) does not necessarily apply to
    493     history mechanisms.  That is, a history mechanism can display a
    494     previous representation even if it has expired.
    495 
    496 
    497 Section 6., paragraph 3:
    498 OLD:
    499 
    500     This does not prohibit the history mechanism from telling the user
    501     that a view might be stale, or from honoring cache directives (e.g.,
    502     Cache-Control: no-store).
    503 
    504 NEW:
    505 
    506     This does not prohibit the history mechanism from telling the user
    507     that a view might be stale or from honoring cache directives (e.g.,
    508     Cache-Control: no-store).
    509 
    510 
    511167Section 7.1., paragraph 1:
    512168OLD:
    513169
    514     The HTTP Cache Directive Registry defines the namespace for the cache
    515     directives.  It will be created and maintained at (the suggested URI)
     170    The "Hypertext Transfer Protocol (HTTP) Cache Directive Registry"
     171    defines the namespace for the cache directives.  It has been created
     172    and is now maintained at
    516173    <http://www.iana.org/assignments/http-cache-directives>.
    517174
     
    526183OLD:
    527184
    528     The HTTP Cache Directive Registry has been populated with the
    529     registrations below:
     185    The registry has been populated with the registrations below:
    530186
    531187NEW:
     
    538194OLD:
    539195
    540     The HTTP Warn Code Registry defines the namespace for warn codes.  It
    541     will be created and maintained at (the suggested URI)
    542     <http://www.iana.org/assignments/http-warn-codes>.
     196    The "Hypertext Transfer Protocol (HTTP) Warn Codes" registry defines
     197    the namespace for warn codes.  It has been created and is now
     198    maintained at <http://www.iana.org/assignments/http-warn-codes>.
    543199
    544200NEW:
     
    564220OLD:
    565221
    566     The HTTP Warn Code Registry has been populated with the registrations
    567     below:
     222    The registry has been populated with the registrations below:
    568223
    569224NEW:
     
    683338 
    684339    The algorithm for calculating age is now less conservative.  Caches
    685     are now required to handle dates with timezones as if they're
     340    are now required to handle dates with time zones as if they're
    686341    invalid, because it's not possible to accurately guess.
    687342    (Section 4.2.3)
     
    693348    heuristic freshness for URIs with query components.  (Section 4.2.2)
    694349    The algorithm for calculating age is now less conservative.  Caches
    695     are now required to handle dates with timezones as if they're
     350    are now required to handle dates with time zones as if they're
    696351    invalid, because it's not possible to accurately guess.
    697352    (Section 4.2.3)
     
    714369
    715370
    716 Appendix A., paragraph 9:
    717 OLD:
    718 
    719     The "no-store" request directive doesn't apply to responses; i.e., a
    720     cache can satisfy a request with no-store on it, and does not
    721     invalidate it.  (Section 5.2.1.5)
    722 
    723 NEW:
    724 
    725     The "no-store" request directive doesn't apply to responses; i.e., a
    726     cache can satisfy a request with no-store on it and does not
    727     invalidate it.  (Section 5.2.1.5)
    728 
    729 
    730 Appendix A., paragraph 10:
    731 OLD:
    732 
    733     The qualified forms of the private and no-cache cache directives are
    734     noted to not be widely implemented; e.g., "private=foo" is
    735     interpreted by many caches as simply "private".  Additionally, the
    736     meaning of the qualified form of no-cache has been clarified.
    737     (Section 5.2.2)
    738 
    739 NEW:
    740 
    741     The qualified forms of the private and no-cache cache directives are
    742     noted to not be widely implemented; for example, "private=foo" is
    743     interpreted by many caches as simply "private".  Additionally, the
    744     meaning of the qualified form of no-cache has been clarified.
    745     (Section 5.2.2)
    746 
    747 
    748 Appendix A., paragraph 14:
    749 OLD:
    750 
    751     Some requirements regarding production and processing of the Warning
    752     header fields have been relaxed, as it is not widely implemented.
    753     Furthermore, the Warning header field no longer uses RFC 2047
    754     encoding, nor allows multiple languages, as these aspects were not
    755     implemented.  (Section 5.5)
    756 
    757 NEW:
    758 
    759     Some requirements regarding production and processing of the Warning
    760     header fields have been relaxed, as it is not widely implemented.
    761     Furthermore, the Warning header field no longer uses RFC 2047
    762     encoding, nor does it allow multiple languages, as these aspects were
    763     not implemented.  (Section 5.5)
    764 
    765 
    766371Appendix A., paragraph 15:
    767372OLD:
  • draft-ietf-httpbis/latest/auth48/rfc7234.diff.html

    r2683 r2691  
    4343      <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2616 <span class="delete">(if approved)</span>                         M. Nottingham, Ed.</td><td> </td><td class="rblock">Obsoletes: 2616                                       M. Nottingham, Ed.</td><td class="lineno" valign="top"></td></tr>
    4444      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Intended status:</span> Standards Track                                  Akamai</td><td> </td><td class="rblock"><span class="insert">Category:</span> Standards Track                                         Akamai</td><td class="lineno" valign="top"></td></tr>
    45       <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Expires: November 17, 2014</span>                               J. Reschke, Ed.</td><td> </td><td class="rblock"><span class="insert">ISSN: 2070-1721</span>                                          J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
     45      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Expires: November 24, 2014</span>                               J. Reschke, Ed.</td><td> </td><td class="rblock"><span class="insert">ISSN: 2070-1721</span>                                          J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
    4646      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
    4747      <tr><td><a name="diff0002" /></td></tr>
    48       <tr><td class="lineno" valign="top"></td><td class="lblock">                                                            <span class="delete">May 16,</span> 2014</td><td> </td><td class="rblock">                                                            <span class="insert">    May</span> 2014</td><td class="lineno" valign="top"></td></tr>
     48      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                            <span class="delete">May 23,</span> 2014</td><td> </td><td class="rblock">                                                            <span class="insert">    May</span> 2014</td><td class="lineno" valign="top"></td></tr>
    4949      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    5050      <tr><td class="lineno" valign="top"></td><td class="left">            Hypertext Transfer Protocol (HTTP/1.1): Caching</td><td> </td><td class="right">            Hypertext Transfer Protocol (HTTP/1.1): Caching</td><td class="lineno" valign="top"></td></tr>
     
    9393      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   time.  It is inappropriate to use Internet-Drafts as reference</span></td><td> </td><td class="rblock">   <span class="insert">http://www.rfc-editor.org/info/rfc7234.</span></td><td class="lineno" valign="top"></td></tr>
    9494      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   material or to cite them other than as "work in progress."</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    95       <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   This Internet-Draft will expire on November 17, 2014.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
     95      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   This Internet-Draft will expire on November 24, 2014.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    9696      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    9797      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
     
    105105      <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>
    106106      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    107       <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 7, line 27</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 7, line 27</em></th><td></td></tr>
    108       <tr><td class="lineno" valign="top"></td><td class="left">3.1.  Storing Incomplete Responses</td><td> </td><td class="right">3.1.  Storing Incomplete Responses</td><td class="lineno" valign="top"></td></tr>
    109       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    110       <tr><td class="lineno" valign="top"></td><td class="left">   A response message is considered complete when all of the octets</td><td> </td><td class="right">   A response message is considered complete when all of the octets</td><td class="lineno" valign="top"></td></tr>
    111       <tr><td class="lineno" valign="top"></td><td class="left">   indicated by the message framing ([RFC7230]) are received prior to</td><td> </td><td class="right">   indicated by the message framing ([RFC7230]) are received prior to</td><td class="lineno" valign="top"></td></tr>
    112       <tr><td class="lineno" valign="top"></td><td class="left">   the connection being closed.  If the request method is GET, the</td><td> </td><td class="right">   the connection being closed.  If the request method is GET, the</td><td class="lineno" valign="top"></td></tr>
    113       <tr><td class="lineno" valign="top"></td><td class="left">   response status code is 200 (OK), and the entire response header</td><td> </td><td class="right">   response status code is 200 (OK), and the entire response header</td><td class="lineno" valign="top"></td></tr>
    114       <tr><td class="lineno" valign="top"></td><td class="left">   section has been received, a cache MAY store an incomplete response</td><td> </td><td class="right">   section has been received, a cache MAY store an incomplete response</td><td class="lineno" valign="top"></td></tr>
    115       <tr><td class="lineno" valign="top"></td><td class="left">   message body if the cache entry is recorded as incomplete.  Likewise,</td><td> </td><td class="right">   message body if the cache entry is recorded as incomplete.  Likewise,</td><td class="lineno" valign="top"></td></tr>
    116       <tr><td class="lineno" valign="top"></td><td class="left">   a 206 (Partial Content) response MAY be stored as if it were an</td><td> </td><td class="right">   a 206 (Partial Content) response MAY be stored as if it were an</td><td class="lineno" valign="top"></td></tr>
    117       <tr><td class="lineno" valign="top"></td><td class="left">   incomplete 200 (OK) cache entry.  However, a cache MUST NOT store</td><td> </td><td class="right">   incomplete 200 (OK) cache entry.  However, a cache MUST NOT store</td><td class="lineno" valign="top"></td></tr>
    118       <tr><td><a name="diff0008" /></td></tr>
    119       <tr><td class="lineno" valign="top"></td><td class="lblock">   incomplete or partial<span class="delete"> </span>content responses if it does not support the</td><td> </td><td class="rblock">   incomplete or partial<span class="insert">-</span>content responses if it does not support the</td><td class="lineno" valign="top"></td></tr>
    120       <tr><td class="lineno" valign="top"></td><td class="left">   Range and Content-Range header fields or if it does not understand</td><td> </td><td class="right">   Range and Content-Range header fields or if it does not understand</td><td class="lineno" valign="top"></td></tr>
    121       <tr><td class="lineno" valign="top"></td><td class="left">   the range units used in those fields.</td><td> </td><td class="right">   the range units used in those fields.</td><td class="lineno" valign="top"></td></tr>
    122       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    123       <tr><td class="lineno" valign="top"></td><td class="left">   A cache MAY complete a stored incomplete response by making a</td><td> </td><td class="right">   A cache MAY complete a stored incomplete response by making a</td><td class="lineno" valign="top"></td></tr>
    124       <tr><td class="lineno" valign="top"></td><td class="left">   subsequent range request ([RFC7233]) and combining the successful</td><td> </td><td class="right">   subsequent range request ([RFC7233]) and combining the successful</td><td class="lineno" valign="top"></td></tr>
    125       <tr><td class="lineno" valign="top"></td><td class="left">   response with the stored entry, as defined in Section 3.3.  A cache</td><td> </td><td class="right">   response with the stored entry, as defined in Section 3.3.  A cache</td><td class="lineno" valign="top"></td></tr>
    126       <tr><td class="lineno" valign="top"></td><td class="left">   MUST NOT use an incomplete response to answer requests unless the</td><td> </td><td class="right">   MUST NOT use an incomplete response to answer requests unless the</td><td class="lineno" valign="top"></td></tr>
    127       <tr><td class="lineno" valign="top"></td><td class="left">   response has been made complete or the request is partial and</td><td> </td><td class="right">   response has been made complete or the request is partial and</td><td class="lineno" valign="top"></td></tr>
    128       <tr><td class="lineno" valign="top"></td><td class="left">   specifies a range that is wholly within the incomplete response.  A</td><td> </td><td class="right">   specifies a range that is wholly within the incomplete response.  A</td><td class="lineno" valign="top"></td></tr>
    129       <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST NOT send a partial response to a client without explicitly</td><td> </td><td class="right">   cache MUST NOT send a partial response to a client without explicitly</td><td class="lineno" valign="top"></td></tr>
    130       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    131       <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 7, line 49</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 7, line 49</em></th><td></td></tr>
    132       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    133       <tr><td class="lineno" valign="top"></td><td class="left">3.2.  Storing Responses to Authenticated Requests</td><td> </td><td class="right">3.2.  Storing Responses to Authenticated Requests</td><td class="lineno" valign="top"></td></tr>
    134       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    135       <tr><td class="lineno" valign="top"></td><td class="left">   A shared cache MUST NOT use a cached response to a request with an</td><td> </td><td class="right">   A shared cache MUST NOT use a cached response to a request with an</td><td class="lineno" valign="top"></td></tr>
    136       <tr><td class="lineno" valign="top"></td><td class="left">   Authorization header field (Section 4.2 of [RFC7235]) to satisfy any</td><td> </td><td class="right">   Authorization header field (Section 4.2 of [RFC7235]) to satisfy any</td><td class="lineno" valign="top"></td></tr>
    137       <tr><td class="lineno" valign="top"></td><td class="left">   subsequent request unless a cache directive that allows such</td><td> </td><td class="right">   subsequent request unless a cache directive that allows such</td><td class="lineno" valign="top"></td></tr>
    138       <tr><td class="lineno" valign="top"></td><td class="left">   responses to be stored is present in the response.</td><td> </td><td class="right">   responses to be stored is present in the response.</td><td class="lineno" valign="top"></td></tr>
    139       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    140       <tr><td class="lineno" valign="top"></td><td class="left">   In this specification, the following Cache-Control response</td><td> </td><td class="right">   In this specification, the following Cache-Control response</td><td class="lineno" valign="top"></td></tr>
    141       <tr><td class="lineno" valign="top"></td><td class="left">   directives (Section 5.2.2) have such an effect: must-revalidate,</td><td> </td><td class="right">   directives (Section 5.2.2) have such an effect: must-revalidate,</td><td class="lineno" valign="top"></td></tr>
    142       <tr><td><a name="diff0009" /></td></tr>
    143       <tr><td class="lineno" valign="top"></td><td class="lblock">   public, s-maxage.</td><td> </td><td class="rblock">   public, <span class="insert">and </span>s-maxage.</td><td class="lineno" valign="top"></td></tr>
    144       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    145       <tr><td class="lineno" valign="top"></td><td class="left">   Note that cached responses that contain the "must-revalidate" and/or</td><td> </td><td class="right">   Note that cached responses that contain the "must-revalidate" and/or</td><td class="lineno" valign="top"></td></tr>
    146       <tr><td class="lineno" valign="top"></td><td class="left">   "s-maxage" response directives are not allowed to be served stale</td><td> </td><td class="right">   "s-maxage" response directives are not allowed to be served stale</td><td class="lineno" valign="top"></td></tr>
    147       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2.4) by shared caches.  In particular, a response with</td><td> </td><td class="right">   (Section 4.2.4) by shared caches.  In particular, a response with</td><td class="lineno" valign="top"></td></tr>
    148       <tr><td class="lineno" valign="top"></td><td class="left">   either "max-age=0, must-revalidate" or "s-maxage=0" cannot be used to</td><td> </td><td class="right">   either "max-age=0, must-revalidate" or "s-maxage=0" cannot be used to</td><td class="lineno" valign="top"></td></tr>
    149       <tr><td class="lineno" valign="top"></td><td class="left">   satisfy a subsequent request without revalidating it on the origin</td><td> </td><td class="right">   satisfy a subsequent request without revalidating it on the origin</td><td class="lineno" valign="top"></td></tr>
    150       <tr><td class="lineno" valign="top"></td><td class="left">   server.</td><td> </td><td class="right">   server.</td><td class="lineno" valign="top"></td></tr>
    151       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    152       <tr><td class="lineno" valign="top"></td><td class="left">3.3.  Combining Partial Content</td><td> </td><td class="right">3.3.  Combining Partial Content</td><td class="lineno" valign="top"></td></tr>
    153       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    154       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    155       <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 9, line 30</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 9, line 30</em></th><td></td></tr>
    156       <tr><td class="lineno" valign="top"></td><td class="left">   When a stored response is used to satisfy a request without</td><td> </td><td class="right">   When a stored response is used to satisfy a request without</td><td class="lineno" valign="top"></td></tr>
    157       <tr><td class="lineno" valign="top"></td><td class="left">   validation, a cache MUST generate an Age header field (Section 5.1),</td><td> </td><td class="right">   validation, a cache MUST generate an Age header field (Section 5.1),</td><td class="lineno" valign="top"></td></tr>
    158       <tr><td class="lineno" valign="top"></td><td class="left">   replacing any present in the response with a value equal to the</td><td> </td><td class="right">   replacing any present in the response with a value equal to the</td><td class="lineno" valign="top"></td></tr>
    159       <tr><td class="lineno" valign="top"></td><td class="left">   stored response's current_age; see Section 4.2.3.</td><td> </td><td class="right">   stored response's current_age; see Section 4.2.3.</td><td class="lineno" valign="top"></td></tr>
    160       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    161       <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST write through requests with methods that are unsafe</td><td> </td><td class="right">   A cache MUST write through requests with methods that are unsafe</td><td class="lineno" valign="top"></td></tr>
    162       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2.1 of [RFC7231]) to the origin server; i.e., a cache is</td><td> </td><td class="right">   (Section 4.2.1 of [RFC7231]) to the origin server; i.e., a cache is</td><td class="lineno" valign="top"></td></tr>
    163       <tr><td class="lineno" valign="top"></td><td class="left">   not allowed to generate a reply to such a request before having</td><td> </td><td class="right">   not allowed to generate a reply to such a request before having</td><td class="lineno" valign="top"></td></tr>
    164       <tr><td class="lineno" valign="top"></td><td class="left">   forwarded the request and having received a corresponding response.</td><td> </td><td class="right">   forwarded the request and having received a corresponding response.</td><td class="lineno" valign="top"></td></tr>
    165       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    166       <tr><td><a name="diff0010" /></td></tr>
    167       <tr><td class="lineno" valign="top"></td><td class="lblock">   Also, note that unsafe requests might invalidate already<span class="delete"> </span>stored</td><td> </td><td class="rblock">   Also, note that unsafe requests might invalidate already<span class="insert">-</span>stored</td><td class="lineno" valign="top"></td></tr>
    168       <tr><td class="lineno" valign="top"></td><td class="left">   responses; see Section 4.4.</td><td> </td><td class="right">   responses; see Section 4.4.</td><td class="lineno" valign="top"></td></tr>
    169       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    170       <tr><td class="lineno" valign="top"></td><td class="left">   When more than one suitable response is stored, a cache MUST use the</td><td> </td><td class="right">   When more than one suitable response is stored, a cache MUST use the</td><td class="lineno" valign="top"></td></tr>
    171       <tr><td class="lineno" valign="top"></td><td class="left">   most recent response (as determined by the Date header field).  It</td><td> </td><td class="right">   most recent response (as determined by the Date header field).  It</td><td class="lineno" valign="top"></td></tr>
    172       <tr><td class="lineno" valign="top"></td><td class="left">   can also forward the request with "Cache-Control: max-age=0" or</td><td> </td><td class="right">   can also forward the request with "Cache-Control: max-age=0" or</td><td class="lineno" valign="top"></td></tr>
    173       <tr><td class="lineno" valign="top"></td><td class="left">   "Cache-Control: no-cache" to disambiguate which response to use.</td><td> </td><td class="right">   "Cache-Control: no-cache" to disambiguate which response to use.</td><td class="lineno" valign="top"></td></tr>
    174       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    175       <tr><td class="lineno" valign="top"></td><td class="left">   A cache that does not have a clock available MUST NOT use stored</td><td> </td><td class="right">   A cache that does not have a clock available MUST NOT use stored</td><td class="lineno" valign="top"></td></tr>
    176       <tr><td class="lineno" valign="top"></td><td class="left">   responses without revalidating them upon every use.</td><td> </td><td class="right">   responses without revalidating them upon every use.</td><td class="lineno" valign="top"></td></tr>
    177       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    178       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    179       <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 10, line 13</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 10, line 13</em></th><td></td></tr>
    180       <tr><td class="lineno" valign="top"></td><td class="left">   the second request by applying any of the following:</td><td> </td><td class="right">   the second request by applying any of the following:</td><td class="lineno" valign="top"></td></tr>
    181       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    182       <tr><td class="lineno" valign="top"></td><td class="left">   o  adding or removing whitespace, where allowed in the header field's</td><td> </td><td class="right">   o  adding or removing whitespace, where allowed in the header field's</td><td class="lineno" valign="top"></td></tr>
    183       <tr><td class="lineno" valign="top"></td><td class="left">      syntax</td><td> </td><td class="right">      syntax</td><td class="lineno" valign="top"></td></tr>
    184       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    185       <tr><td class="lineno" valign="top"></td><td class="left">   o  combining multiple header fields with the same field name (see</td><td> </td><td class="right">   o  combining multiple header fields with the same field name (see</td><td class="lineno" valign="top"></td></tr>
    186       <tr><td class="lineno" valign="top"></td><td class="left">      Section 3.2 of [RFC7230])</td><td> </td><td class="right">      Section 3.2 of [RFC7230])</td><td class="lineno" valign="top"></td></tr>
    187       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    188       <tr><td class="lineno" valign="top"></td><td class="left">   o  normalizing both header field values in a way that is known to</td><td> </td><td class="right">   o  normalizing both header field values in a way that is known to</td><td class="lineno" valign="top"></td></tr>
    189       <tr><td class="lineno" valign="top"></td><td class="left">      have identical semantics, according to the header field's</td><td> </td><td class="right">      have identical semantics, according to the header field's</td><td class="lineno" valign="top"></td></tr>
    190       <tr><td><a name="diff0011" /></td></tr>
    191       <tr><td class="lineno" valign="top"></td><td class="lblock">      specification (e.g., re<span class="delete">-</span>ordering field values when order is not</td><td> </td><td class="rblock">      specification (e.g., reordering field values when order is not</td><td class="lineno" valign="top"></td></tr>
    192       <tr><td class="lineno" valign="top"></td><td class="left">      significant; case-normalization, where values are defined to be</td><td> </td><td class="right">      significant; case-normalization, where values are defined to be</td><td class="lineno" valign="top"></td></tr>
    193       <tr><td class="lineno" valign="top"></td><td class="left">      case-insensitive)</td><td> </td><td class="right">      case-insensitive)</td><td class="lineno" valign="top"></td></tr>
    194       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    195       <tr><td class="lineno" valign="top"></td><td class="left">   If (after any normalization that might take place) a header field is</td><td> </td><td class="right">   If (after any normalization that might take place) a header field is</td><td class="lineno" valign="top"></td></tr>
    196       <tr><td class="lineno" valign="top"></td><td class="left">   absent from a request, it can only match another request if it is</td><td> </td><td class="right">   absent from a request, it can only match another request if it is</td><td class="lineno" valign="top"></td></tr>
    197       <tr><td class="lineno" valign="top"></td><td class="left">   also absent there.</td><td> </td><td class="right">   also absent there.</td><td class="lineno" valign="top"></td></tr>
    198       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    199       <tr><td class="lineno" valign="top"></td><td class="left">   A Vary header field-value of "*" always fails to match.</td><td> </td><td class="right">   A Vary header field-value of "*" always fails to match.</td><td class="lineno" valign="top"></td></tr>
    200       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    201       <tr><td class="lineno" valign="top"></td><td class="left">   The stored response with matching selecting header fields is known as</td><td> </td><td class="right">   The stored response with matching selecting header fields is known as</td><td class="lineno" valign="top"></td></tr>
    202       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    203       <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 11, line 41</em></th><td></td></tr>
    204       <tr><td class="lineno" valign="top"></td><td class="left">   freshness_lifetime is defined in Section 4.2.1; current_age is</td><td> </td><td class="right">   freshness_lifetime is defined in Section 4.2.1; current_age is</td><td class="lineno" valign="top"></td></tr>
    205       <tr><td class="lineno" valign="top"></td><td class="left">   defined in Section 4.2.3.</td><td> </td><td class="right">   defined in Section 4.2.3.</td><td class="lineno" valign="top"></td></tr>
    206       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    207       <tr><td class="lineno" valign="top"></td><td class="left">   Clients can send the max-age or min-fresh cache directives in a</td><td> </td><td class="right">   Clients can send the max-age or min-fresh cache directives in a</td><td class="lineno" valign="top"></td></tr>
    208       <tr><td class="lineno" valign="top"></td><td class="left">   request to constrain or relax freshness calculations for the</td><td> </td><td class="right">   request to constrain or relax freshness calculations for the</td><td class="lineno" valign="top"></td></tr>
    209       <tr><td class="lineno" valign="top"></td><td class="left">   corresponding response (Section 5.2.1).</td><td> </td><td class="right">   corresponding response (Section 5.2.1).</td><td class="lineno" valign="top"></td></tr>
    210       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    211       <tr><td class="lineno" valign="top"></td><td class="left">   When calculating freshness, to avoid common problems in date parsing:</td><td> </td><td class="right">   When calculating freshness, to avoid common problems in date parsing:</td><td class="lineno" valign="top"></td></tr>
    212       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    213       <tr><td class="lineno" valign="top"></td><td class="left">   o  Although all date formats are specified to be case-sensitive, a</td><td> </td><td class="right">   o  Although all date formats are specified to be case-sensitive, a</td><td class="lineno" valign="top"></td></tr>
    214       <tr><td><a name="diff0012" /></td></tr>
    215       <tr><td class="lineno" valign="top"></td><td class="lblock">      cache recipient SHOULD match day, week, and timezone names case-</td><td> </td><td class="rblock">      cache recipient SHOULD match day, week, and time<span class="insert">-</span>zone names case-</td><td class="lineno" valign="top"></td></tr>
    216       <tr><td class="lineno" valign="top"></td><td class="left">      insensitively.</td><td> </td><td class="right">      insensitively.</td><td class="lineno" valign="top"></td></tr>
    217       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    218       <tr><td class="lineno" valign="top"></td><td class="left">   o  If a cache recipient's internal implementation of time has less</td><td> </td><td class="right">   o  If a cache recipient's internal implementation of time has less</td><td class="lineno" valign="top"></td></tr>
    219       <tr><td class="lineno" valign="top"></td><td class="left">      resolution than the value of an HTTP-date, the recipient MUST</td><td> </td><td class="right">      resolution than the value of an HTTP-date, the recipient MUST</td><td class="lineno" valign="top"></td></tr>
    220       <tr><td class="lineno" valign="top"></td><td class="left">      internally represent a parsed Expires date as the nearest time</td><td> </td><td class="right">      internally represent a parsed Expires date as the nearest time</td><td class="lineno" valign="top"></td></tr>
    221       <tr><td class="lineno" valign="top"></td><td class="left">      equal to or earlier than the received value.</td><td> </td><td class="right">      equal to or earlier than the received value.</td><td class="lineno" valign="top"></td></tr>
    222       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    223       <tr><td class="lineno" valign="top"></td><td class="left">   o  A cache recipient MUST NOT allow local time zones to influence the</td><td> </td><td class="right">   o  A cache recipient MUST NOT allow local time zones to influence the</td><td class="lineno" valign="top"></td></tr>
    224       <tr><td class="lineno" valign="top"></td><td class="left">      calculation or comparison of an age or expiration time.</td><td> </td><td class="right">      calculation or comparison of an age or expiration time.</td><td class="lineno" valign="top"></td></tr>
    225       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    226       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    227       <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 12, line 16</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 12, line 16</em></th><td></td></tr>
    228       <tr><td class="lineno" valign="top"></td><td class="left">      other than GMT or UTC to be invalid for calculating expiration.</td><td> </td><td class="right">      other than GMT or UTC to be invalid for calculating expiration.</td><td class="lineno" valign="top"></td></tr>
    229       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    230       <tr><td class="lineno" valign="top"></td><td class="left">   Note that freshness applies only to cache operation; it cannot be</td><td> </td><td class="right">   Note that freshness applies only to cache operation; it cannot be</td><td class="lineno" valign="top"></td></tr>
    231       <tr><td class="lineno" valign="top"></td><td class="left">   used to force a user agent to refresh its display or reload a</td><td> </td><td class="right">   used to force a user agent to refresh its display or reload a</td><td class="lineno" valign="top"></td></tr>
    232       <tr><td class="lineno" valign="top"></td><td class="left">   resource.  See Section 6 for an explanation of the difference between</td><td> </td><td class="right">   resource.  See Section 6 for an explanation of the difference between</td><td class="lineno" valign="top"></td></tr>
    233       <tr><td class="lineno" valign="top"></td><td class="left">   caches and history mechanisms.</td><td> </td><td class="right">   caches and history mechanisms.</td><td class="lineno" valign="top"></td></tr>
    234       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    235       <tr><td class="lineno" valign="top"></td><td class="left">4.2.1.  Calculating Freshness Lifetime</td><td> </td><td class="right">4.2.1.  Calculating Freshness Lifetime</td><td class="lineno" valign="top"></td></tr>
    236       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    237       <tr><td class="lineno" valign="top"></td><td class="left">   A cache can calculate the freshness lifetime (denoted as</td><td> </td><td class="right">   A cache can calculate the freshness lifetime (denoted as</td><td class="lineno" valign="top"></td></tr>
    238       <tr><td><a name="diff0013" /></td></tr>
    239       <tr><td class="lineno" valign="top"></td><td class="lblock">   freshness_lifetime) of a response by using the first match <span class="delete">of:</span></td><td> </td><td class="rblock">   freshness_lifetime) of a response by using the first match <span class="insert">of the</span></td><td class="lineno" valign="top"></td></tr>
    240       <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   following:</span></td><td class="lineno" valign="top"></td></tr>
     107      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 12, line 26</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 12, line 26</em></th><td></td></tr>
     108      <tr><td class="lineno" valign="top"></td><td class="left">   freshness_lifetime) of a response by using the first match of the</td><td> </td><td class="right">   freshness_lifetime) of a response by using the first match of the</td><td class="lineno" valign="top"></td></tr>
     109      <tr><td class="lineno" valign="top"></td><td class="left">   following:</td><td> </td><td class="right">   following:</td><td class="lineno" valign="top"></td></tr>
    241110      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    242111      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the cache is shared and the s-maxage response directive</td><td> </td><td class="right">   o  If the cache is shared and the s-maxage response directive</td><td class="lineno" valign="top"></td></tr>
     
    247116      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    248117      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the Expires response header field (Section 5.3) is present, use</td><td> </td><td class="right">   o  If the Expires response header field (Section 5.3) is present, use</td><td class="lineno" valign="top"></td></tr>
    249       <tr><td><a name="diff0014" /></td></tr>
     118      <tr><td><a name="diff0008" /></td></tr>
    250119      <tr><td class="lineno" valign="top"></td><td class="lblock">      its value minus the value of the Date response header field,<span class="delete"> or</span></td><td> </td><td class="rblock">      its value minus the value of the Date response header field,</td><td class="lineno" valign="top"></td></tr>
    251120      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    260129      <tr><td class="lineno" valign="top"></td><td class="left">   (e.g., two Expires header fields, multiple Cache-Control: max-age</td><td> </td><td class="right">   (e.g., two Expires header fields, multiple Cache-Control: max-age</td><td class="lineno" valign="top"></td></tr>
    261130      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    262       <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 15, line 14</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 15, line 17</em></th><td></td></tr>
     131      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 15, line 17</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 15, line 17</em></th><td></td></tr>
    263132      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    264133      <tr><td class="lineno" valign="top"></td><td class="left">4.2.4.  Serving Stale Responses</td><td> </td><td class="right">4.2.4.  Serving Stale Responses</td><td class="lineno" valign="top"></td></tr>
     
    271140      <tr><td class="lineno" valign="top"></td><td class="left">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td> </td><td class="right">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td class="lineno" valign="top"></td></tr>
    272141      <tr><td class="lineno" valign="top"></td><td class="left">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td> </td><td class="right">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td class="lineno" valign="top"></td></tr>
    273       <tr><td><a name="diff0015" /></td></tr>
     142      <tr><td><a name="diff0009" /></td></tr>
    274143      <tr><td class="lineno" valign="top"></td><td class="lblock">   applicable "s-maxage" or "proxy-revalidate" cache<span class="delete">-response-</span>directive;</td><td> </td><td class="rblock">   applicable "s-maxage" or "proxy-revalidate" cache<span class="insert"> response </span>directive;</td><td class="lineno" valign="top"></td></tr>
    275144      <tr><td class="lineno" valign="top"></td><td class="left">   see Section 5.2.2).</td><td> </td><td class="right">   see Section 5.2.2).</td><td class="lineno" valign="top"></td></tr>
     
    284153      <tr><td class="lineno" valign="top"></td><td class="left">   generate a 112 warn-code (see Section 5.5.3) in stale responses if</td><td> </td><td class="right">   generate a 112 warn-code (see Section 5.5.3) in stale responses if</td><td class="lineno" valign="top"></td></tr>
    285154      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    286       <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 16, line 46</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 49</em></th><td></td></tr>
    287       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    288       <tr><td class="lineno" valign="top"></td><td class="left">   The proper evaluation of conditional requests by a cache depends on</td><td> </td><td class="right">   The proper evaluation of conditional requests by a cache depends on</td><td class="lineno" valign="top"></td></tr>
    289       <tr><td class="lineno" valign="top"></td><td class="left">   the received precondition header fields and their precedence, as</td><td> </td><td class="right">   the received precondition header fields and their precedence, as</td><td class="lineno" valign="top"></td></tr>
    290       <tr><td class="lineno" valign="top"></td><td class="left">   defined in Section 6 of [RFC7232].  The If-Match and If-Unmodified-</td><td> </td><td class="right">   defined in Section 6 of [RFC7232].  The If-Match and If-Unmodified-</td><td class="lineno" valign="top"></td></tr>
    291       <tr><td class="lineno" valign="top"></td><td class="left">   Since conditional header fields are not applicable to a cache.</td><td> </td><td class="right">   Since conditional header fields are not applicable to a cache.</td><td class="lineno" valign="top"></td></tr>
    292       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    293       <tr><td class="lineno" valign="top"></td><td class="left">   A request containing an If-None-Match header field (Section 3.2 of</td><td> </td><td class="right">   A request containing an If-None-Match header field (Section 3.2 of</td><td class="lineno" valign="top"></td></tr>
    294       <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7232]) indicates that the client wants to validate one or more of</td><td> </td><td class="right">   [RFC7232]) indicates that the client wants to validate one or more of</td><td class="lineno" valign="top"></td></tr>
    295       <tr><td class="lineno" valign="top"></td><td class="left">   its own stored responses in comparison to whichever stored response</td><td> </td><td class="right">   its own stored responses in comparison to whichever stored response</td><td class="lineno" valign="top"></td></tr>
    296       <tr><td class="lineno" valign="top"></td><td class="left">   is selected by the cache.  If the field-value is "*", or if the</td><td> </td><td class="right">   is selected by the cache.  If the field-value is "*", or if the</td><td class="lineno" valign="top"></td></tr>
    297       <tr><td><a name="diff0016" /></td></tr>
    298       <tr><td class="lineno" valign="top"></td><td class="lblock">   field-value is a list of entity-tags and at least one of them match</td><td> </td><td class="rblock">   field-value is a list of entity-tags and at least one of them match<span class="insert">es</span></td><td class="lineno" valign="top"></td></tr>
    299       <tr><td class="lineno" valign="top"></td><td class="left">   the entity-tag of the selected stored response, a cache recipient</td><td> </td><td class="right">   the entity-tag of the selected stored response, a cache recipient</td><td class="lineno" valign="top"></td></tr>
    300       <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD generate a 304 (Not Modified) response (using the metadata of</td><td> </td><td class="right">   SHOULD generate a 304 (Not Modified) response (using the metadata of</td><td class="lineno" valign="top"></td></tr>
    301       <tr><td class="lineno" valign="top"></td><td class="left">   the selected stored response) instead of sending that stored</td><td> </td><td class="right">   the selected stored response) instead of sending that stored</td><td class="lineno" valign="top"></td></tr>
    302       <tr><td class="lineno" valign="top"></td><td class="left">   response.</td><td> </td><td class="right">   response.</td><td class="lineno" valign="top"></td></tr>
    303       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    304       <tr><td class="lineno" valign="top"></td><td class="left">   When a cache decides to revalidate its own stored responses for a</td><td> </td><td class="right">   When a cache decides to revalidate its own stored responses for a</td><td class="lineno" valign="top"></td></tr>
    305       <tr><td class="lineno" valign="top"></td><td class="left">   request that contains an If-None-Match list of entity-tags, the cache</td><td> </td><td class="right">   request that contains an If-None-Match list of entity-tags, the cache</td><td class="lineno" valign="top"></td></tr>
    306       <tr><td class="lineno" valign="top"></td><td class="left">   MAY combine the received list with a list of entity-tags from its own</td><td> </td><td class="right">   MAY combine the received list with a list of entity-tags from its own</td><td class="lineno" valign="top"></td></tr>
    307       <tr><td class="lineno" valign="top"></td><td class="left">   stored set of responses (fresh or stale) and send the union of the</td><td> </td><td class="right">   stored set of responses (fresh or stale) and send the union of the</td><td class="lineno" valign="top"></td></tr>
    308       <tr><td class="lineno" valign="top"></td><td class="left">   two lists as a replacement If-None-Match header field value in the</td><td> </td><td class="right">   two lists as a replacement If-None-Match header field value in the</td><td class="lineno" valign="top"></td></tr>
    309       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    310       <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 20</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 18, line 21</em></th><td></td></tr>
    311       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    312       <tr><td class="lineno" valign="top"></td><td class="left">4.3.4.  Freshening Stored Responses upon Validation</td><td> </td><td class="right">4.3.4.  Freshening Stored Responses upon Validation</td><td class="lineno" valign="top"></td></tr>
    313       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    314       <tr><td class="lineno" valign="top"></td><td class="left">   When a cache receives a 304 (Not Modified) response and already has</td><td> </td><td class="right">   When a cache receives a 304 (Not Modified) response and already has</td><td class="lineno" valign="top"></td></tr>
    315       <tr><td class="lineno" valign="top"></td><td class="left">   one or more stored 200 (OK) responses for the same cache key, the</td><td> </td><td class="right">   one or more stored 200 (OK) responses for the same cache key, the</td><td class="lineno" valign="top"></td></tr>
    316       <tr><td class="lineno" valign="top"></td><td class="left">   cache needs to identify which of the stored responses are updated by</td><td> </td><td class="right">   cache needs to identify which of the stored responses are updated by</td><td class="lineno" valign="top"></td></tr>
    317       <tr><td class="lineno" valign="top"></td><td class="left">   this new response and then update the stored response(s) with the new</td><td> </td><td class="right">   this new response and then update the stored response(s) with the new</td><td class="lineno" valign="top"></td></tr>
    318       <tr><td class="lineno" valign="top"></td><td class="left">   information provided in the 304 response.</td><td> </td><td class="right">   information provided in the 304 response.</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">   The stored response to update is identified by using the first match</td><td> </td><td class="right">   The stored response to update is identified by using the first match</td><td class="lineno" valign="top"></td></tr>
    321       <tr><td><a name="diff0017" /></td></tr>
    322       <tr><td class="lineno" valign="top"></td><td class="lblock">   (if any) of:</td><td> </td><td class="rblock">   (if any) of<span class="insert"> the following</span>:</td><td class="lineno" valign="top"></td></tr>
    323       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    324       <tr><td class="lineno" valign="top"></td><td class="left">   o  If the new response contains a strong validator (see Section 2.1</td><td> </td><td class="right">   o  If the new response contains a strong validator (see Section 2.1</td><td class="lineno" valign="top"></td></tr>
    325       <tr><td class="lineno" valign="top"></td><td class="left">      of [RFC7232]), then that strong validator identifies the selected</td><td> </td><td class="right">      of [RFC7232]), then that strong validator identifies the selected</td><td class="lineno" valign="top"></td></tr>
    326       <tr><td class="lineno" valign="top"></td><td class="left">      representation for update.  All of the stored responses with the</td><td> </td><td class="right">      representation for update.  All of the stored responses with the</td><td class="lineno" valign="top"></td></tr>
    327       <tr><td class="lineno" valign="top"></td><td class="left">      same strong validator are selected.  If none of the stored</td><td> </td><td class="right">      same strong validator are selected.  If none of the stored</td><td class="lineno" valign="top"></td></tr>
    328       <tr><td class="lineno" valign="top"></td><td class="left">      responses contain the same strong validator, then the cache MUST</td><td> </td><td class="right">      responses contain the same strong validator, then the cache MUST</td><td class="lineno" valign="top"></td></tr>
    329       <tr><td class="lineno" valign="top"></td><td class="left">      NOT use the new response to update any stored responses.</td><td> </td><td class="right">      NOT use the new response to update any stored responses.</td><td class="lineno" valign="top"></td></tr>
    330       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    331       <tr><td class="lineno" valign="top"></td><td class="left">   o  If the new response contains a weak validator and that validator</td><td> </td><td class="right">   o  If the new response contains a weak validator and that validator</td><td class="lineno" valign="top"></td></tr>
    332       <tr><td class="lineno" valign="top"></td><td class="left">      corresponds to one of the cache's stored responses, then the most</td><td> </td><td class="right">      corresponds to one of the cache's stored responses, then the most</td><td class="lineno" valign="top"></td></tr>
    333       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    334       <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 48</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 48</em></th><td></td></tr>
    335       <tr><td class="lineno" valign="top"></td><td class="left">      all instances of the corresponding header fields in the stored</td><td> </td><td class="right">      all instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr>
    336       <tr><td class="lineno" valign="top"></td><td class="left">      response and append new header fields to the stored response's</td><td> </td><td class="right">      response and append new header fields to the stored response's</td><td class="lineno" valign="top"></td></tr>
    337       <tr><td class="lineno" valign="top"></td><td class="left">      header section unless otherwise restricted by the Cache-Control</td><td> </td><td class="right">      header section unless otherwise restricted by the Cache-Control</td><td class="lineno" valign="top"></td></tr>
    338       <tr><td class="lineno" valign="top"></td><td class="left">      header field.</td><td> </td><td class="right">      header field.</td><td class="lineno" valign="top"></td></tr>
    339       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    340       <tr><td class="lineno" valign="top"></td><td class="left">4.4.  Invalidation</td><td> </td><td class="right">4.4.  Invalidation</td><td class="lineno" valign="top"></td></tr>
    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">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td> </td><td class="right">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td class="lineno" valign="top"></td></tr>
    343       <tr><td class="lineno" valign="top"></td><td class="left">   PUT, POST or DELETE have the potential for changing state on the</td><td> </td><td class="right">   PUT, POST or DELETE have the potential for changing state on the</td><td class="lineno" valign="top"></td></tr>
    344       <tr><td class="lineno" valign="top"></td><td class="left">   origin server, intervening caches can use them to keep their contents</td><td> </td><td class="right">   origin server, intervening caches can use them to keep their contents</td><td class="lineno" valign="top"></td></tr>
    345       <tr><td><a name="diff0018" /></td></tr>
    346       <tr><td class="lineno" valign="top"></td><td class="lblock">   up<span class="delete">-to-</span>date.</td><td> </td><td class="rblock">   up<span class="insert"> to </span>date.</td><td class="lineno" valign="top"></td></tr>
    347       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    348       <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST invalidate the effective Request URI (Section 5.5 of</td><td> </td><td class="right">   A cache MUST invalidate the effective Request URI (Section 5.5 of</td><td class="lineno" valign="top"></td></tr>
    349       <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7230]) as well as the URI(s) in the Location and Content-Location</td><td> </td><td class="right">   [RFC7230]) as well as the URI(s) in the Location and Content-Location</td><td class="lineno" valign="top"></td></tr>
    350       <tr><td class="lineno" valign="top"></td><td class="left">   response header fields (if present) when a non-error status code is</td><td> </td><td class="right">   response header fields (if present) when a non-error status code is</td><td class="lineno" valign="top"></td></tr>
    351       <tr><td class="lineno" valign="top"></td><td class="left">   received in response to an unsafe request method.</td><td> </td><td class="right">   received in response to an unsafe request method.</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">   However, a cache MUST NOT invalidate a URI from a Location or</td><td> </td><td class="right">   However, a cache MUST NOT invalidate a URI from a Location or</td><td class="lineno" valign="top"></td></tr>
    354       <tr><td class="lineno" valign="top"></td><td class="left">   Content-Location response header field if the host part of that URI</td><td> </td><td class="right">   Content-Location response header field if the host part of that URI</td><td class="lineno" valign="top"></td></tr>
    355       <tr><td class="lineno" valign="top"></td><td class="left">   differs from the host part in the effective request URI (Section 5.5</td><td> </td><td class="right">   differs from the host part in the effective request URI (Section 5.5</td><td class="lineno" valign="top"></td></tr>
    356       <tr><td class="lineno" valign="top"></td><td class="left">   of [RFC7230]).  This helps prevent denial-of-service attacks.</td><td> </td><td class="right">   of [RFC7230]).  This helps prevent denial-of-service attacks.</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">   A cache MUST invalidate the effective request URI (Section 5.5 of</td><td> </td><td class="right">   A cache MUST invalidate the effective request URI (Section 5.5 of</td><td class="lineno" valign="top"></td></tr>
    359       <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7230]) when it receives a non-error response to a request with a</td><td> </td><td class="right">   [RFC7230]) when it receives a non-error response to a request with a</td><td class="lineno" valign="top"></td></tr>
    360       <tr><td class="lineno" valign="top"></td><td class="left">   method whose safety is unknown.</td><td> </td><td class="right">   method whose safety is unknown.</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" valign="top"></td><td class="left">   Here, a "non-error response" is one with a 2xx (Successful) or 3xx</td><td> </td><td class="right">   Here, a "non-error response" is one with a 2xx (Successful) or 3xx</td><td class="lineno" valign="top"></td></tr>
    363       <tr><td class="lineno" valign="top"></td><td class="left">   (Redirection) status code.  "Invalidate" means that the cache will</td><td> </td><td class="right">   (Redirection) status code.  "Invalidate" means that the cache will</td><td class="lineno" valign="top"></td></tr>
    364       <tr><td class="lineno" valign="top"></td><td class="left">   either remove all stored responses related to the effective request</td><td> </td><td class="right">   either remove all stored responses related to the effective request</td><td class="lineno" valign="top"></td></tr>
    365       <tr><td><a name="diff0019" /></td></tr>
    366       <tr><td class="lineno" valign="top"></td><td class="lblock">   URI<span class="delete">,</span> or will mark these as "invalid" and in need of a mandatory</td><td> </td><td class="rblock">   URI or will mark these as "invalid" and in need of a mandatory</td><td class="lineno" valign="top"></td></tr>
    367       <tr><td class="lineno" valign="top"></td><td class="left">   validation before they can be sent in response to a subsequent</td><td> </td><td class="right">   validation before they can be sent in response to a subsequent</td><td class="lineno" valign="top"></td></tr>
    368       <tr><td class="lineno" valign="top"></td><td class="left">   request.</td><td> </td><td class="right">   request.</td><td class="lineno" valign="top"></td></tr>
    369       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    370       <tr><td class="lineno" valign="top"></td><td class="left">   Note that this does not guarantee that all appropriate responses are</td><td> </td><td class="right">   Note that this does not guarantee that all appropriate responses are</td><td class="lineno" valign="top"></td></tr>
    371       <tr><td class="lineno" valign="top"></td><td class="left">   invalidated.  For example, a state-changing request might invalidate</td><td> </td><td class="right">   invalidated.  For example, a state-changing request might invalidate</td><td class="lineno" valign="top"></td></tr>
    372       <tr><td class="lineno" valign="top"></td><td class="left">   responses in the caches it travels through, but relevant responses</td><td> </td><td class="right">   responses in the caches it travels through, but relevant responses</td><td class="lineno" valign="top"></td></tr>
    373       <tr><td class="lineno" valign="top"></td><td class="left">   still might be stored in other caches that it has not.</td><td> </td><td class="right">   still might be stored in other caches that it has not.</td><td class="lineno" valign="top"></td></tr>
    374       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    375       <tr><td class="lineno" valign="top"></td><td class="left">5.  Header Field Definitions</td><td> </td><td class="right">5.  Header Field Definitions</td><td class="lineno" valign="top"></td></tr>
    376       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    377       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    378       <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 21, line 52</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 52</em></th><td></td></tr>
    379       <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
    380       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    381       <tr><td class="lineno" valign="top"></td><td class="left">      delta-seconds (see Section 1.2.1)</td><td> </td><td class="right">      delta-seconds (see Section 1.2.1)</td><td class="lineno" valign="top"></td></tr>
    382       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    383       <tr><td class="lineno" valign="top"></td><td class="left">   The "max-age" request directive indicates that the client is</td><td> </td><td class="right">   The "max-age" request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr>
    384       <tr><td class="lineno" valign="top"></td><td class="left">   unwilling to accept a response whose age is greater than the</td><td> </td><td class="right">   unwilling to accept a response whose age is greater than the</td><td class="lineno" valign="top"></td></tr>
    385       <tr><td class="lineno" valign="top"></td><td class="left">   specified number of seconds.  Unless the max-stale request directive</td><td> </td><td class="right">   specified number of seconds.  Unless the max-stale request directive</td><td class="lineno" valign="top"></td></tr>
    386       <tr><td class="lineno" valign="top"></td><td class="left">   is also present, the client is not willing to accept a stale</td><td> </td><td class="right">   is also present, the client is not willing to accept a stale</td><td class="lineno" valign="top"></td></tr>
    387       <tr><td class="lineno" valign="top"></td><td class="left">   response.</td><td> </td><td class="right">   response.</td><td class="lineno" valign="top"></td></tr>
    388       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    389       <tr><td><a name="diff0020" /></td></tr>
    390       <tr><td class="lineno" valign="top"></td><td class="lblock">   This directive uses the token form of the argument <span class="delete">syntax;</span> e.g.,</td><td> </td><td class="rblock">   This directive uses the token form of the argument <span class="insert">syntax:</span> e.g.,</td><td class="lineno" valign="top"></td></tr>
    391       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">'max-age=5',</span> not 'max-age="5"'.  A sender SHOULD NOT generate the</td><td> </td><td class="rblock">   <span class="insert">'max-age=5'</span> not 'max-age="5"'.  A sender SHOULD NOT generate the</td><td class="lineno" valign="top"></td></tr>
    392       <tr><td class="lineno" valign="top"></td><td class="left">   quoted-string form.</td><td> </td><td class="right">   quoted-string form.</td><td class="lineno" valign="top"></td></tr>
    393       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    394       <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.2.  max-stale</td><td> </td><td class="right">5.2.1.2.  max-stale</td><td class="lineno" valign="top"></td></tr>
    395       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    396       <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
    397       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    398       <tr><td class="lineno" valign="top"></td><td class="left">      delta-seconds (see Section 1.2.1)</td><td> </td><td class="right">      delta-seconds (see Section 1.2.1)</td><td class="lineno" valign="top"></td></tr>
    399       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    400       <tr><td class="lineno" valign="top"></td><td class="left">   The "max-stale" request directive indicates that the client is</td><td> </td><td class="right">   The "max-stale" request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr>
    401       <tr><td class="lineno" valign="top"></td><td class="left">   willing to accept a response that has exceeded its freshness</td><td> </td><td class="right">   willing to accept a response that has exceeded its freshness</td><td class="lineno" valign="top"></td></tr>
    402       <tr><td class="lineno" valign="top"></td><td class="left">   lifetime.  If max-stale is assigned a value, then the client is</td><td> </td><td class="right">   lifetime.  If max-stale is assigned a value, then the client is</td><td class="lineno" valign="top"></td></tr>
    403       <tr><td class="lineno" valign="top"></td><td class="left">   willing to accept a response that has exceeded its freshness lifetime</td><td> </td><td class="right">   willing to accept a response that has exceeded its freshness lifetime</td><td class="lineno" valign="top"></td></tr>
    404       <tr><td class="lineno" valign="top"></td><td class="left">   by no more than the specified number of seconds.  If no value is</td><td> </td><td class="right">   by no more than the specified number of seconds.  If no value is</td><td class="lineno" valign="top"></td></tr>
    405       <tr><td class="lineno" valign="top"></td><td class="left">   assigned to max-stale, then the client is willing to accept a stale</td><td> </td><td class="right">   assigned to max-stale, then the client is willing to accept a stale</td><td class="lineno" valign="top"></td></tr>
    406       <tr><td class="lineno" valign="top"></td><td class="left">   response of any age.</td><td> </td><td class="right">   response of any age.</td><td class="lineno" valign="top"></td></tr>
    407       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    408       <tr><td><a name="diff0021" /></td></tr>
    409       <tr><td class="lineno" valign="top"></td><td class="lblock">   This directive uses the token form of the argument <span class="delete">syntax;</span> e.g.,</td><td> </td><td class="rblock">   This directive uses the token form of the argument <span class="insert">syntax:</span> e.g.,</td><td class="lineno" valign="top"></td></tr>
    410       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">'max-stale=10',</span> not 'max-stale="10"'.  A sender SHOULD NOT generate</td><td> </td><td class="rblock">   <span class="insert">'max-stale=10'</span> not 'max-stale="10"'.  A sender SHOULD NOT generate</td><td class="lineno" valign="top"></td></tr>
    411       <tr><td class="lineno" valign="top"></td><td class="left">   the quoted-string form.</td><td> </td><td class="right">   the quoted-string form.</td><td class="lineno" valign="top"></td></tr>
    412       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    413       <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.3.  min-fresh</td><td> </td><td class="right">5.2.1.3.  min-fresh</td><td class="lineno" valign="top"></td></tr>
    414       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     155      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 22, line 37</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 22, line 37</em></th><td></td></tr>
    415156      <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
    416157      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    419160      <tr><td class="lineno" valign="top"></td><td class="left">   The "min-fresh" request directive indicates that the client is</td><td> </td><td class="right">   The "min-fresh" request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr>
    420161      <tr><td class="lineno" valign="top"></td><td class="left">   willing to accept a response whose freshness lifetime is no less than</td><td> </td><td class="right">   willing to accept a response whose freshness lifetime is no less than</td><td class="lineno" valign="top"></td></tr>
    421       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    422       <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 25, line 47</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 25, line 47</em></th><td></td></tr>
     162      <tr><td class="lineno" valign="top"></td><td class="left">   its current age plus the specified time in seconds.  That is, the</td><td> </td><td class="right">   its current age plus the specified time in seconds.  That is, the</td><td class="lineno" valign="top"></td></tr>
     163      <tr><td class="lineno" valign="top"></td><td class="left">   client wants a response that will still be fresh for at least the</td><td> </td><td class="right">   client wants a response that will still be fresh for at least the</td><td class="lineno" valign="top"></td></tr>
     164      <tr><td class="lineno" valign="top"></td><td class="left">   specified number of seconds.</td><td> </td><td class="right">   specified number of seconds.</td><td class="lineno" valign="top"></td></tr>
     165      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     166      <tr><td><a name="diff0010" /></td></tr>
     167      <tr><td class="lineno" valign="top"></td><td class="lblock">   This directive uses the token form of the argument <span class="delete">syntax:</span> e.g.,</td><td> </td><td class="rblock">   This directive uses the token form of the argument <span class="insert">syntax;</span> e.g.,</td><td class="lineno" valign="top"></td></tr>
     168      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">'min-fresh=20'</span> not 'min-fresh="20"'.  A sender SHOULD NOT generate</td><td> </td><td class="rblock">   <span class="insert">'min-fresh=20',</span> not 'min-fresh="20"'.  A sender SHOULD NOT generate</td><td class="lineno" valign="top"></td></tr>
     169      <tr><td class="lineno" valign="top"></td><td class="left">   the quoted-string form.</td><td> </td><td class="right">   the quoted-string form.</td><td class="lineno" valign="top"></td></tr>
     170      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     171      <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.4.  no-cache</td><td> </td><td class="right">5.2.1.4.  no-cache</td><td class="lineno" valign="top"></td></tr>
     172      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     173      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td> </td><td class="right">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td class="lineno" valign="top"></td></tr>
     174      <tr><td class="lineno" valign="top"></td><td class="left">   a stored response to satisfy the request without successful</td><td> </td><td class="right">   a stored response to satisfy the request without successful</td><td class="lineno" valign="top"></td></tr>
     175      <tr><td class="lineno" valign="top"></td><td class="left">   validation on the origin server.</td><td> </td><td class="right">   validation on the origin server.</td><td class="lineno" valign="top"></td></tr>
     176      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     177      <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.5.  no-store</td><td> </td><td class="right">5.2.1.5.  no-store</td><td class="lineno" valign="top"></td></tr>
     178      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     179      <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-l5" /><small>skipping to change at</small><em> page 25, line 47</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 25, line 47</em></th><td></td></tr>
    423181      <tr><td class="lineno" valign="top"></td><td class="left">   store the specified field-names(s), whereas it MAY store the</td><td> </td><td class="right">   store the specified field-names(s), whereas it MAY store the</td><td class="lineno" valign="top"></td></tr>
    424182      <tr><td class="lineno" valign="top"></td><td class="left">   remainder of the response message.</td><td> </td><td class="right">   remainder of the response message.</td><td class="lineno" valign="top"></td></tr>
     
    431189      <tr><td class="lineno" valign="top"></td><td class="left">   not to be needed for single-entry lists).</td><td> </td><td class="right">   not to be needed for single-entry lists).</td><td class="lineno" valign="top"></td></tr>
    432190      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    433       <tr><td><a name="diff0022" /></td></tr>
     191      <tr><td><a name="diff0011" /></td></tr>
    434192      <tr><td class="lineno" valign="top"></td><td class="lblock">   Note: This <span class="delete">usage</span> of the word "private" only <span class="delete">controls where</span> the</td><td> </td><td class="rblock">   Note: This <span class="insert">use</span> of the word "private" <span class="insert">refers</span> only <span class="insert">to the control of</span></td><td class="lineno" valign="top"></td></tr>
    435193      <tr><td class="lineno" valign="top"></td><td class="lblock">   response can be stored; <span class="delete">it cannot ensure</span> the privacy of the message</td><td> </td><td class="rblock"><span class="insert">   the location in which</span> the response can be stored; the privacy of the</td><td class="lineno" valign="top"></td></tr>
     
    448206      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    449207      <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
    450       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    451       <tr><td class="lineno" valign="top"></td><td class="left">      delta-seconds (see Section 1.2.1)</td><td> </td><td class="right">      delta-seconds (see Section 1.2.1)</td><td class="lineno" valign="top"></td></tr>
    452       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    453       <tr><td class="lineno" valign="top"></td><td class="left">   The "max-age" response directive indicates that the response is to be</td><td> </td><td class="right">   The "max-age" response directive indicates that the response is to be</td><td class="lineno" valign="top"></td></tr>
    454       <tr><td class="lineno" valign="top"></td><td class="left">   considered stale after its age is greater than the specified number</td><td> </td><td class="right">   considered stale after its age is greater than the specified number</td><td class="lineno" valign="top"></td></tr>
    455       <tr><td class="lineno" valign="top"></td><td class="left">   of seconds.</td><td> </td><td class="right">   of seconds.</td><td class="lineno" valign="top"></td></tr>
    456       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    457       <tr><td><a name="diff0023" /></td></tr>
    458       <tr><td class="lineno" valign="top"></td><td class="lblock">   This directive uses the token form of the argument <span class="delete">syntax;</span> e.g.,</td><td> </td><td class="rblock">   This directive uses the token form of the argument <span class="insert">syntax:</span> e.g.,</td><td class="lineno" valign="top"></td></tr>
    459       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">'max-age=5',</span> not 'max-age="5"'.  A sender SHOULD NOT generate the</td><td> </td><td class="rblock">   <span class="insert">'max-age=5'</span> not 'max-age="5"'.  A sender SHOULD NOT generate the</td><td class="lineno" valign="top"></td></tr>
    460       <tr><td class="lineno" valign="top"></td><td class="left">   quoted-string form.</td><td> </td><td class="right">   quoted-string form.</td><td class="lineno" valign="top"></td></tr>
    461       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    462       <tr><td class="lineno" valign="top"></td><td class="left">5.2.2.9.  s-maxage</td><td> </td><td class="right">5.2.2.9.  s-maxage</td><td class="lineno" valign="top"></td></tr>
    463       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    464       <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
    465       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    466       <tr><td class="lineno" valign="top"></td><td class="left">      delta-seconds (see Section 1.2.1)</td><td> </td><td class="right">      delta-seconds (see Section 1.2.1)</td><td class="lineno" valign="top"></td></tr>
    467       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    468       <tr><td class="lineno" valign="top"></td><td class="left">   The "s-maxage" response directive indicates that, in shared caches,</td><td> </td><td class="right">   The "s-maxage" response directive indicates that, in shared caches,</td><td class="lineno" valign="top"></td></tr>
    469       <tr><td class="lineno" valign="top"></td><td class="left">   the maximum age specified by this directive overrides the maximum age</td><td> </td><td class="right">   the maximum age specified by this directive overrides the maximum age</td><td class="lineno" valign="top"></td></tr>
    470       <tr><td class="lineno" valign="top"></td><td class="left">   specified by either the max-age directive or the Expires header</td><td> </td><td class="right">   specified by either the max-age directive or the Expires header</td><td class="lineno" valign="top"></td></tr>
    471       <tr><td class="lineno" valign="top"></td><td class="left">   field.  The s-maxage directive also implies the semantics of the</td><td> </td><td class="right">   field.  The s-maxage directive also implies the semantics of the</td><td class="lineno" valign="top"></td></tr>
    472       <tr><td class="lineno" valign="top"></td><td class="left">   proxy-revalidate response directive.</td><td> </td><td class="right">   proxy-revalidate response directive.</td><td class="lineno" valign="top"></td></tr>
    473       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    474       <tr><td><a name="diff0024" /></td></tr>
    475       <tr><td class="lineno" valign="top"></td><td class="lblock">   This directive uses the token form of the argument <span class="delete">syntax;</span> e.g.,</td><td> </td><td class="rblock">   This directive uses the token form of the argument <span class="insert">syntax:</span> e.g.,</td><td class="lineno" valign="top"></td></tr>
    476       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">'s-maxage=10',</span> not 's-maxage="10"'.  A sender SHOULD NOT generate the</td><td> </td><td class="rblock">   <span class="insert">'s-maxage=10'</span> not 's-maxage="10"'.  A sender SHOULD NOT generate the</td><td class="lineno" valign="top"></td></tr>
    477       <tr><td class="lineno" valign="top"></td><td class="left">   quoted-string form.</td><td> </td><td class="right">   quoted-string form.</td><td class="lineno" valign="top"></td></tr>
    478       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    479       <tr><td class="lineno" valign="top"></td><td class="left">5.2.3.  Cache Control Extensions</td><td> </td><td class="right">5.2.3.  Cache Control Extensions</td><td class="lineno" valign="top"></td></tr>
    480       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    481       <tr><td class="lineno" valign="top"></td><td class="left">   The Cache-Control header field can be extended through the use of one</td><td> </td><td class="right">   The Cache-Control header field can be extended through the use of one</td><td class="lineno" valign="top"></td></tr>
    482       <tr><td class="lineno" valign="top"></td><td class="left">   or more cache-extension tokens, each with an optional value.  A cache</td><td> </td><td class="right">   or more cache-extension tokens, each with an optional value.  A cache</td><td class="lineno" valign="top"></td></tr>
    483       <tr><td class="lineno" valign="top"></td><td class="left">   MUST ignore unrecognized cache directives.</td><td> </td><td class="right">   MUST ignore unrecognized cache directives.</td><td class="lineno" valign="top"></td></tr>
    484       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    485       <tr><td class="lineno" valign="top"></td><td class="left">   Informational extensions (those that do not require a change in cache</td><td> </td><td class="right">   Informational extensions (those that do not require a change in cache</td><td class="lineno" valign="top"></td></tr>
    486       <tr><td class="lineno" valign="top"></td><td class="left">   behavior) can be added without changing the semantics of other</td><td> </td><td class="right">   behavior) can be added without changing the semantics of other</td><td class="lineno" valign="top"></td></tr>
    487       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    488       <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 30, line 10</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 30, line 10</em></th><td></td></tr>
    489       <tr><td class="lineno" valign="top"></td><td class="left">   they appear in the response.  Senders that generate multiple Warning</td><td> </td><td class="right">   they appear in the response.  Senders that generate multiple Warning</td><td class="lineno" valign="top"></td></tr>
    490       <tr><td class="lineno" valign="top"></td><td class="left">   header fields are encouraged to order them with this user agent</td><td> </td><td class="right">   header fields are encouraged to order them with this user agent</td><td class="lineno" valign="top"></td></tr>
    491       <tr><td class="lineno" valign="top"></td><td class="left">   behavior in mind.  A sender that generates new Warning header fields</td><td> </td><td class="right">   behavior in mind.  A sender that generates new Warning header fields</td><td class="lineno" valign="top"></td></tr>
    492       <tr><td class="lineno" valign="top"></td><td class="left">   MUST append them after any existing Warning header fields.</td><td> </td><td class="right">   MUST append them after any existing Warning header fields.</td><td class="lineno" valign="top"></td></tr>
    493       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    494       <tr><td class="lineno" valign="top"></td><td class="left">   Warnings are assigned three digit warn-codes.  The first digit</td><td> </td><td class="right">   Warnings are assigned three digit warn-codes.  The first digit</td><td class="lineno" valign="top"></td></tr>
    495       <tr><td class="lineno" valign="top"></td><td class="left">   indicates whether the Warning is required to be deleted from a stored</td><td> </td><td class="right">   indicates whether the Warning is required to be deleted from a stored</td><td class="lineno" valign="top"></td></tr>
    496       <tr><td class="lineno" valign="top"></td><td class="left">   response after validation:</td><td> </td><td class="right">   response after validation:</td><td class="lineno" valign="top"></td></tr>
    497       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    498       <tr><td class="lineno" valign="top"></td><td class="left">   o  1xx warn-codes describe the freshness or validation status of the</td><td> </td><td class="right">   o  1xx warn-codes describe the freshness or validation status of the</td><td class="lineno" valign="top"></td></tr>
    499       <tr><td><a name="diff0025" /></td></tr>
    500       <tr><td class="lineno" valign="top"></td><td class="lblock">      response, and so MUST be deleted by a cache after validation.</td><td> </td><td class="rblock">      response, and so <span class="insert">they </span>MUST be deleted by a cache after validation.</td><td class="lineno" valign="top"></td></tr>
    501       <tr><td class="lineno" valign="top"></td><td class="left">      They can only be generated by a cache when validating a cached</td><td> </td><td class="right">      They can only be generated by a cache when validating a cached</td><td class="lineno" valign="top"></td></tr>
    502       <tr><td class="lineno" valign="top"></td><td class="left">      entry, and MUST NOT be generated in any other situation.</td><td> </td><td class="right">      entry, and MUST NOT be generated in any other situation.</td><td class="lineno" valign="top"></td></tr>
    503       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    504       <tr><td class="lineno" valign="top"></td><td class="left">   o  2xx warn-codes describe some aspect of the representation that is</td><td> </td><td class="right">   o  2xx warn-codes describe some aspect of the representation that is</td><td class="lineno" valign="top"></td></tr>
    505       <tr><td class="lineno" valign="top"></td><td class="left">      not rectified by a validation (for example, a lossy compression of</td><td> </td><td class="right">      not rectified by a validation (for example, a lossy compression of</td><td class="lineno" valign="top"></td></tr>
    506       <tr><td><a name="diff0026" /></td></tr>
    507       <tr><td class="lineno" valign="top"></td><td class="lblock">      the representation) and MUST NOT be deleted by a cache after</td><td> </td><td class="rblock">      the representation) and <span class="insert">they </span>MUST NOT be deleted by a cache after</td><td class="lineno" valign="top"></td></tr>
    508       <tr><td class="lineno" valign="top"></td><td class="left">      validation, unless a full response is sent, in which case they</td><td> </td><td class="right">      validation, unless a full response is sent, in which case they</td><td class="lineno" valign="top"></td></tr>
    509       <tr><td class="lineno" valign="top"></td><td class="left">      MUST be.</td><td> </td><td class="right">      MUST be.</td><td class="lineno" valign="top"></td></tr>
    510       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    511       <tr><td class="lineno" valign="top"></td><td class="left">   If a sender generates one or more 1xx warn-codes in a message to be</td><td> </td><td class="right">   If a sender generates one or more 1xx warn-codes in a message to be</td><td class="lineno" valign="top"></td></tr>
    512       <tr><td class="lineno" valign="top"></td><td class="left">   sent to a recipient known to implement only HTTP/1.0, the sender MUST</td><td> </td><td class="right">   sent to a recipient known to implement only HTTP/1.0, the sender MUST</td><td class="lineno" valign="top"></td></tr>
    513       <tr><td class="lineno" valign="top"></td><td class="left">   include in each corresponding warning-value a warn-date that matches</td><td> </td><td class="right">   include in each corresponding warning-value a warn-date that matches</td><td class="lineno" valign="top"></td></tr>
    514       <tr><td class="lineno" valign="top"></td><td class="left">   the Date header field in the message.  For example:</td><td> </td><td class="right">   the Date header field in the message.  For example:</td><td class="lineno" valign="top"></td></tr>
    515       <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 class="lineno" valign="top"></td><td class="left">     HTTP/1.1 200 OK</td><td> </td><td class="right">     HTTP/1.1 200 OK</td><td class="lineno" valign="top"></td></tr>
    517       <tr><td class="lineno" valign="top"></td><td class="left">     Date: Sat, 25 Aug 2012 23:34:45 GMT</td><td> </td><td class="right">     Date: Sat, 25 Aug 2012 23:34:45 GMT</td><td class="lineno" valign="top"></td></tr>
    518       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    519       <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 31, line 25</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 31, line 25</em></th><td></td></tr>
    520       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    521       <tr><td class="lineno" valign="top"></td><td class="left">5.5.4.  Warning: 113 - "Heuristic Expiration"</td><td> </td><td class="right">5.5.4.  Warning: 113 - "Heuristic Expiration"</td><td class="lineno" valign="top"></td></tr>
    522       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    523       <tr><td class="lineno" valign="top"></td><td class="left">   A cache SHOULD generate this if it heuristically chose a freshness</td><td> </td><td class="right">   A cache SHOULD generate this if it heuristically chose a freshness</td><td class="lineno" valign="top"></td></tr>
    524       <tr><td class="lineno" valign="top"></td><td class="left">   lifetime greater than 24 hours and the response's age is greater than</td><td> </td><td class="right">   lifetime greater than 24 hours and the response's age is greater than</td><td class="lineno" valign="top"></td></tr>
    525       <tr><td class="lineno" valign="top"></td><td class="left">   24 hours.</td><td> </td><td class="right">   24 hours.</td><td class="lineno" valign="top"></td></tr>
    526       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    527       <tr><td class="lineno" valign="top"></td><td class="left">5.5.5.  Warning: 199 - "Miscellaneous Warning"</td><td> </td><td class="right">5.5.5.  Warning: 199 - "Miscellaneous Warning"</td><td class="lineno" valign="top"></td></tr>
    528       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    529       <tr><td class="lineno" valign="top"></td><td class="left">   The warning text can include arbitrary information to be presented to</td><td> </td><td class="right">   The warning text can include arbitrary information to be presented to</td><td class="lineno" valign="top"></td></tr>
    530       <tr><td><a name="diff0027" /></td></tr>
    531       <tr><td class="lineno" valign="top"></td><td class="lblock">   a human user<span class="delete">,</span> or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="rblock">   a human user or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
    532       <tr><td class="lineno" valign="top"></td><td class="left">   take any automated action, besides presenting the warning to the</td><td> </td><td class="right">   take any automated action, besides presenting the warning to the</td><td class="lineno" valign="top"></td></tr>
    533       <tr><td class="lineno" valign="top"></td><td class="left">   user.</td><td> </td><td class="right">   user.</td><td class="lineno" valign="top"></td></tr>
    534       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    535       <tr><td class="lineno" valign="top"></td><td class="left">5.5.6.  Warning: 214 - "Transformation Applied"</td><td> </td><td class="right">5.5.6.  Warning: 214 - "Transformation Applied"</td><td class="lineno" valign="top"></td></tr>
    536       <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="diff0028" /></td></tr>
    538       <tr><td class="lineno" valign="top"></td><td class="lblock">   MUST be added by a proxy if it applies any transformation to the</td><td> </td><td class="rblock">   <span class="insert">This Warning code</span> MUST be added by a proxy if it applies any</td><td class="lineno" valign="top"></td></tr>
    539       <tr><td class="lineno" valign="top"></td><td class="lblock">   representation, such as changing the <span class="delete">content-coding,</span> media-type, or</td><td> </td><td class="rblock">   transformation to the representation, such as changing the <span class="insert">content-</span></td><td class="lineno" valign="top"></td></tr>
    540       <tr><td class="lineno" valign="top"></td><td class="lblock">   modifying the representation data, unless this Warning code already</td><td> </td><td class="rblock"><span class="insert">   coding,</span> media-type, or modifying the representation data, unless this</td><td class="lineno" valign="top"></td></tr>
    541       <tr><td class="lineno" valign="top"></td><td class="lblock">   appears in the response.</td><td> </td><td class="rblock">   Warning code already appears in the response.</td><td class="lineno" valign="top"></td></tr>
    542       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    543       <tr><td class="lineno" valign="top"></td><td class="left">5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"</td><td> </td><td class="right">5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"</td><td class="lineno" valign="top"></td></tr>
    544       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    545       <tr><td class="lineno" valign="top"></td><td class="left">   The warning text can include arbitrary information to be presented to</td><td> </td><td class="right">   The warning text can include arbitrary information to be presented to</td><td class="lineno" valign="top"></td></tr>
    546       <tr><td><a name="diff0029" /></td></tr>
    547       <tr><td class="lineno" valign="top"></td><td class="lblock">   a human user<span class="delete">,</span> or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="rblock">   a human user or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
    548       <tr><td class="lineno" valign="top"></td><td class="left">   take any automated action.</td><td> </td><td class="right">   take any automated action.</td><td class="lineno" valign="top"></td></tr>
    549       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    550       <tr><td class="lineno" valign="top"></td><td class="left">6.  History Lists</td><td> </td><td class="right">6.  History Lists</td><td class="lineno" valign="top"></td></tr>
    551       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    552       <tr><td class="lineno" valign="top"></td><td class="left">   User agents often have history mechanisms, such as "Back" buttons and</td><td> </td><td class="right">   User agents often have history mechanisms, such as "Back" buttons and</td><td class="lineno" valign="top"></td></tr>
    553       <tr><td class="lineno" valign="top"></td><td class="left">   history lists, that can be used to redisplay a representation</td><td> </td><td class="right">   history lists, that can be used to redisplay a representation</td><td class="lineno" valign="top"></td></tr>
    554       <tr><td class="lineno" valign="top"></td><td class="left">   retrieved earlier in a session.</td><td> </td><td class="right">   retrieved earlier in a session.</td><td class="lineno" valign="top"></td></tr>
    555       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    556       <tr><td class="lineno" valign="top"></td><td class="left">   The freshness model (Section 4.2) does not necessarily apply to</td><td> </td><td class="right">   The freshness model (Section 4.2) does not necessarily apply to</td><td class="lineno" valign="top"></td></tr>
    557       <tr><td><a name="diff0030" /></td></tr>
    558       <tr><td class="lineno" valign="top"></td><td class="lblock">   history mechanisms.  <span class="delete">I.e.,</span> a history mechanism can display a previous</td><td> </td><td class="rblock">   history mechanisms.  <span class="insert">That is,</span> a history mechanism can display a</td><td class="lineno" valign="top"></td></tr>
    559       <tr><td class="lineno" valign="top"></td><td class="lblock">   representation even if it has expired.</td><td> </td><td class="rblock">   previous representation even if it has expired.</td><td class="lineno" valign="top"></td></tr>
     208      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     209      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 32, line 11</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 32, line 11</em></th><td></td></tr>
     210      <tr><td class="lineno" valign="top"></td><td class="left">   previous representation even if it has expired.</td><td> </td><td class="right">   previous representation even if it has expired.</td><td class="lineno" valign="top"></td></tr>
    560211      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    561212      <tr><td class="lineno" valign="top"></td><td class="left">   This does not prohibit the history mechanism from telling the user</td><td> </td><td class="right">   This does not prohibit the history mechanism from telling the user</td><td class="lineno" valign="top"></td></tr>
    562       <tr><td><a name="diff0031" /></td></tr>
    563       <tr><td class="lineno" valign="top"></td><td class="lblock">   that a view might be stale<span class="delete">,</span> or from honoring cache directives (e.g.,</td><td> </td><td class="rblock">   that a view might be stale or from honoring cache directives (e.g.,</td><td class="lineno" valign="top"></td></tr>
     213      <tr><td class="lineno" valign="top"></td><td class="left">   that a view might be stale or from honoring cache directives (e.g.,</td><td> </td><td class="right">   that a view might be stale or from honoring cache directives (e.g.,</td><td class="lineno" valign="top"></td></tr>
    564214      <tr><td class="lineno" valign="top"></td><td class="left">   Cache-Control: no-store).</td><td> </td><td class="right">   Cache-Control: no-store).</td><td class="lineno" valign="top"></td></tr>
    565215      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    568218      <tr><td class="lineno" valign="top"></td><td class="left">7.1.  Cache Directive Registry</td><td> </td><td class="right">7.1.  Cache Directive Registry</td><td class="lineno" valign="top"></td></tr>
    569219      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    570       <tr><td><a name="diff0032" /></td></tr>
    571       <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">HTTP</span> Cache Directive <span class="delete">Registry</span> defines the <span class="delete">namespace</span> for the cache</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Cache Directive <span class="insert">Registry"</span> defines the <span class="insert">name space</span> for the</td><td class="lineno" valign="top"></td></tr>
    572       <tr><td class="lineno" valign="top"></td><td class="lblock">   directives.  It <span class="delete">will be</span> created and maintained at <span class="delete">(the suggested URI)</span></td><td> </td><td class="rblock">   cache directives.  It <span class="insert">has been</span> created and <span class="insert">is now</span> maintained at</td><td class="lineno" valign="top"></td></tr>
     220      <tr><td><a name="diff0012" /></td></tr>
     221      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">"Hypertext Transfer Protocol (HTTP)</span> Cache Directive Registry"</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Cache Directive Registry" defines the <span class="insert">name space</span> for the</td><td class="lineno" valign="top"></td></tr>
     222      <tr><td class="lineno" valign="top"></td><td class="lblock">   defines the <span class="delete">namespace</span> for the cache directives.  It has been created</td><td> </td><td class="rblock">   cache directives.  It has been created and is now maintained at</td><td class="lineno" valign="top"></td></tr>
     223      <tr><td class="lineno" valign="top"></td><td class="lblock">   and is now maintained at</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    573224      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-cache-directives&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-cache-directives&gt;.</td><td class="lineno" valign="top"></td></tr>
    574225      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    581232      <tr><td class="lineno" valign="top"></td><td class="left">   o  Pointer to specification text</td><td> </td><td class="right">   o  Pointer to specification text</td><td class="lineno" valign="top"></td></tr>
    582233      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    583       <tr><td><a name="diff0033" /></td></tr>
     234      <tr><td><a name="diff0013" /></td></tr>
    584235      <tr><td class="lineno" valign="top"></td><td class="lblock">   Values to be added to this namespace require IETF Review (see</td><td> </td><td class="rblock">   Values to be added to this name<span class="insert"> </span>space require IETF Review (see</td><td class="lineno" valign="top"></td></tr>
    585236      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5226], Section 4.1).</td><td> </td><td class="right">   [RFC5226], Section 4.1).</td><td class="lineno" valign="top"></td></tr>
     
    594245      <tr><td class="lineno" valign="top"></td><td class="left">      an argument is present,</td><td> </td><td class="right">      an argument is present,</td><td class="lineno" valign="top"></td></tr>
    595246      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    596       <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 32, line 45</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 32, line 45</em></th><td></td></tr>
     247      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 32, line 46</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 32, line 45</em></th><td></td></tr>
    597248      <tr><td class="lineno" valign="top"></td><td class="left">   o  When the directive requires an argument, what it means when it is</td><td> </td><td class="right">   o  When the directive requires an argument, what it means when it is</td><td class="lineno" valign="top"></td></tr>
    598249      <tr><td class="lineno" valign="top"></td><td class="left">      missing,</td><td> </td><td class="right">      missing,</td><td class="lineno" valign="top"></td></tr>
     
    605256      <tr><td class="lineno" valign="top"></td><td class="left">7.1.3.  Registrations</td><td> </td><td class="right">7.1.3.  Registrations</td><td class="lineno" valign="top"></td></tr>
    606257      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    607       <tr><td><a name="diff0034" /></td></tr>
    608       <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">HTTP Cache Directive Registry has been</span> populated with the</td><td> </td><td class="rblock">   The <span class="insert">"HTTP Cache Directive Registry" shall be</span> populated with the</td><td class="lineno" valign="top"></td></tr>
    609       <tr><td class="lineno" valign="top"></td><td class="left">   registrations below:</td><td> </td><td class="right">   registrations below:</td><td class="lineno" valign="top"></td></tr>
     258      <tr><td><a name="diff0014" /></td></tr>
     259      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">registry has been</span> populated with the registrations below:</td><td> </td><td class="rblock">   The <span class="insert">"HTTP Cache Directive Registry" shall be</span> populated with the</td><td class="lineno" valign="top"></td></tr>
     260      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   registrations below:</td><td class="lineno" valign="top"></td></tr>
    610261      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    611262      <tr><td class="lineno" valign="top"></td><td class="left">   +------------------------+----------------------------------+</td><td> </td><td class="right">   +------------------------+----------------------------------+</td><td class="lineno" valign="top"></td></tr>
     
    617268      <tr><td class="lineno" valign="top"></td><td class="left">   | must-revalidate        | Section 5.2.2.1                  |</td><td> </td><td class="right">   | must-revalidate        | Section 5.2.2.1                  |</td><td class="lineno" valign="top"></td></tr>
    618269      <tr><td class="lineno" valign="top"></td><td class="left">   | no-cache               | Section 5.2.1.4, Section 5.2.2.2 |</td><td> </td><td class="right">   | no-cache               | Section 5.2.1.4, Section 5.2.2.2 |</td><td class="lineno" valign="top"></td></tr>
    619       <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    620       <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 33, line 26</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 33, line 26</em></th><td></td></tr>
     270      <tr><td class="lineno" valign="top"></td><td class="left">   | no-store               | Section 5.2.1.5, Section 5.2.2.3 |</td><td> </td><td class="right">   | no-store               | Section 5.2.1.5, Section 5.2.2.3 |</td><td class="lineno" valign="top"></td></tr>
     271      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     272      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 33, line 26</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 33, line 26</em></th><td></td></tr>
    621273      <tr><td class="lineno" valign="top"></td><td class="left">   | private                | Section 5.2.2.6                  |</td><td> </td><td class="right">   | private                | Section 5.2.2.6                  |</td><td class="lineno" valign="top"></td></tr>
    622274      <tr><td class="lineno" valign="top"></td><td class="left">   | proxy-revalidate       | Section 5.2.2.7                  |</td><td> </td><td class="right">   | proxy-revalidate       | Section 5.2.2.7                  |</td><td class="lineno" valign="top"></td></tr>
     
    629281      <tr><td class="lineno" valign="top"></td><td class="left">7.2.  Warn Code Registry</td><td> </td><td class="right">7.2.  Warn Code Registry</td><td class="lineno" valign="top"></td></tr>
    630282      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    631       <tr><td><a name="diff0035" /></td></tr>
    632       <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">HTTP</span> Warn <span class="delete">Code Registry</span> defines the <span class="delete">namespace</span> for warn codes.  It</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Warn <span class="insert">Codes" registry</span> defines the <span class="insert">name space</span> for warn codes.</td><td class="lineno" valign="top"></td></tr>
    633       <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">will be</span> created and maintained at <span class="delete">(the suggested URI)</span></td><td> </td><td class="rblock">   It <span class="insert">has been</span> created and <span class="insert">is now</span> maintained at</td><td class="lineno" valign="top"></td></tr>
    634       <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td class="lineno" valign="top"></td></tr>
     283      <tr><td><a name="diff0015" /></td></tr>
     284      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">"Hypertext Transfer Protocol (HTTP)</span> Warn Codes" registry defines</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Warn Codes" registry defines the <span class="insert">name space</span> for warn codes.</td><td class="lineno" valign="top"></td></tr>
     285      <tr><td class="lineno" valign="top"></td><td class="lblock">   the <span class="delete">namespace</span> for warn codes.  It has been created and is now</td><td> </td><td class="rblock">   It has been created and is now maintained at</td><td class="lineno" valign="top"></td></tr>
     286      <tr><td class="lineno" valign="top"></td><td class="lblock">   maintained at &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td> </td><td class="rblock">   &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td class="lineno" valign="top"></td></tr>
    635287      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    636288      <tr><td class="lineno" valign="top"></td><td class="left">7.2.1.  Procedure</td><td> </td><td class="right">7.2.1.  Procedure</td><td class="lineno" valign="top"></td></tr>
     
    644296      <tr><td class="lineno" valign="top"></td><td class="left">   o  Pointer to specification text</td><td> </td><td class="right">   o  Pointer to specification text</td><td class="lineno" valign="top"></td></tr>
    645297      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    646       <tr><td><a name="diff0036" /></td></tr>
     298      <tr><td><a name="diff0016" /></td></tr>
    647299      <tr><td class="lineno" valign="top"></td><td class="lblock">   Values to be added to this name<span class="delete">s</span>pace require IETF Review (see</td><td> </td><td class="rblock">   Values to be added to this name<span class="insert"> </span>pace require IETF Review (see</td><td class="lineno" valign="top"></td></tr>
    648300      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5226], Section 4.1).</td><td> </td><td class="right">   [RFC5226], Section 4.1).</td><td class="lineno" valign="top"></td></tr>
     
    650302      <tr><td class="lineno" valign="top"></td><td class="left">7.2.2.  Registrations</td><td> </td><td class="right">7.2.2.  Registrations</td><td class="lineno" valign="top"></td></tr>
    651303      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    652       <tr><td><a name="diff0037" /></td></tr>
    653       <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">HTTP</span> Warn <span class="delete">Code Registry</span> has been populated with the registrations</td><td> </td><td class="rblock">   The <span class="insert">"HTTP</span> Warn <span class="insert">Codes" registry</span> has been populated with the</td><td class="lineno" valign="top"></td></tr>
    654       <tr><td class="lineno" valign="top"></td><td class="lblock">   below:</td><td> </td><td class="rblock">   registrations below:</td><td class="lineno" valign="top"></td></tr>
     304      <tr><td><a name="diff0017" /></td></tr>
     305      <tr><td class="lineno" valign="top"></td><td class="lblock">   The registry has been populated with the registrations below:</td><td> </td><td class="rblock">   The <span class="insert">"HTTP Warn Codes"</span> registry has been populated with the</td><td class="lineno" valign="top"></td></tr>
     306      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   registrations below:</td><td class="lineno" valign="top"></td></tr>
    655307      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    656308      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
     
    668320      <tr><td class="lineno" valign="top"></td><td class="left">7.3.  Header Field Registration</td><td> </td><td class="right">7.3.  Header Field Registration</td><td class="lineno" valign="top"></td></tr>
    669321      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    670       <tr><td><a name="diff0038" /></td></tr>
     322      <tr><td><a name="diff0018" /></td></tr>
    671323      <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>
    672324      <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>
    673325      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">&lt;http://www.iana.org/assignments/message-headers/&gt;.</span></td><td> </td><td class="rblock">   <span class="insert">&lt;http://www.iana.org/assignments/message-headers&gt;.</span></td><td class="lineno" valign="top"></td></tr>
    674326      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    675       <tr><td><a name="diff0039" /></td></tr>
     327      <tr><td><a name="diff0019" /></td></tr>
    676328      <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>
    677329      <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>
     
    688340      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
    689341      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    690       <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 35, line 48</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>
     342      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 35, line 48</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>
    691343      <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>
    692344      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    699351      <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>
    700352      <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>
    701       <tr><td><a name="diff0040" /></td></tr>
     353      <tr><td><a name="diff0020" /></td></tr>
    702354      <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>
    703355      <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>
    704356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    705357      <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>
    706       <tr><td><a name="diff0041" /></td></tr>
     358      <tr><td><a name="diff0021" /></td></tr>
    707359      <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>
    708360      <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>
     
    710362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    711363      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7232]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7232]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
    712       <tr><td><a name="diff0042" /></td></tr>
     364      <tr><td><a name="diff0022" /></td></tr>
    713365      <tr><td class="lineno" valign="top"></td><td class="lblock">              Protocol (HTTP/1.1): Conditional Requests",</td><td> </td><td class="rblock">              Protocol (HTTP/1.1): Conditional Requests", <span class="insert">RFC 7232,</span></td><td class="lineno" valign="top"></td></tr>
    714366      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p4-conditional-latest (work in</span></td><td> </td><td class="rblock">              May 2014.</td><td class="lineno" valign="top"></td></tr>
     
    717369      <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>
    718370      <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>
    719       <tr><td><a name="diff0043" /></td></tr>
     371      <tr><td><a name="diff0023" /></td></tr>
    720372      <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>
    721373      <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>
    722374      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    723375      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC7235]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [RFC7235]  Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
    724       <tr><td><a name="diff0044" /></td></tr>
     376      <tr><td><a name="diff0024" /></td></tr>
    725377      <tr><td class="lineno" valign="top"></td><td class="lblock">              Protocol (HTTP/1.1): Authentication",</td><td> </td><td class="rblock">              Protocol (HTTP/1.1): Authentication", <span class="insert">RFC 7235,</span> May 2014.</td><td class="lineno" valign="top"></td></tr>
    726378      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p7-auth-latest (work in progress),</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
     
    737389      <tr><td class="lineno" valign="top"></td><td class="left">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td> </td><td class="right">              Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.</td><td class="lineno" valign="top"></td></tr>
    738390      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
    739       <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 37, line 9</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 37, line 4</em></th><td></td></tr>
    740       <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>
    741       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    742       <tr><td class="lineno" valign="top"></td><td class="left">   The specification has been substantially rewritten for clarity.</td><td> </td><td class="right">   The specification has been substantially rewritten for clarity.</td><td class="lineno" valign="top"></td></tr>
    743       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    744       <tr><td class="lineno" valign="top"></td><td class="left">   The conditions under which an authenticated response can be cached</td><td> </td><td class="right">   The conditions under which an authenticated response can be cached</td><td class="lineno" valign="top"></td></tr>
    745       <tr><td class="lineno" valign="top"></td><td class="left">   have been clarified.  (Section 3.2)</td><td> </td><td class="right">   have been clarified.  (Section 3.2)</td><td class="lineno" valign="top"></td></tr>
    746       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    747       <tr><td class="lineno" valign="top"></td><td class="left">   New status codes can now define that caches are allowed to use</td><td> </td><td class="right">   New status codes can now define that caches are allowed to use</td><td class="lineno" valign="top"></td></tr>
    748       <tr><td class="lineno" valign="top"></td><td class="left">   heuristic freshness with them.  Caches are now allowed to calculate</td><td> </td><td class="right">   heuristic freshness with them.  Caches are now allowed to calculate</td><td class="lineno" valign="top"></td></tr>
    749       <tr><td class="lineno" valign="top"></td><td class="left">   heuristic freshness for URIs with query components.  (Section 4.2.2)</td><td> </td><td class="right">   heuristic freshness for URIs with query components.  (Section 4.2.2)</td><td class="lineno" valign="top"></td></tr>
    750       <tr><td><a name="diff0045" /></td></tr>
    751       <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                                         </span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
    752       <tr><td class="lineno" valign="top"></td><td class="left">   The algorithm for calculating age is now less conservative.  Caches</td><td> </td><td class="right">   The algorithm for calculating age is now less conservative.  Caches</td><td class="lineno" valign="top"></td></tr>
    753       <tr><td><a name="diff0046" /></td></tr>
    754       <tr><td class="lineno" valign="top"></td><td class="lblock">   are now required to handle dates with timezones as if they're</td><td> </td><td class="rblock">   are now required to handle dates with time<span class="insert"> </span>zones as if they're</td><td class="lineno" valign="top"></td></tr>
     391      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 37, line 22</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 37, line 16</em></th><td></td></tr>
    755392      <tr><td class="lineno" valign="top"></td><td class="left">   invalid, because it's not possible to accurately guess.</td><td> </td><td class="right">   invalid, because it's not possible to accurately guess.</td><td class="lineno" valign="top"></td></tr>
    756393      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2.3)</td><td> </td><td class="right">   (Section 4.2.3)</td><td class="lineno" valign="top"></td></tr>
     
    763400      <tr><td class="lineno" valign="top"></td><td class="left">   been clarified in several ways.  In particular, it now explicitly</td><td> </td><td class="right">   been clarified in several ways.  In particular, it now explicitly</td><td class="lineno" valign="top"></td></tr>
    764401      <tr><td class="lineno" valign="top"></td><td class="left">   allows header-specific canonicalization when processing selecting</td><td> </td><td class="right">   allows header-specific canonicalization when processing selecting</td><td class="lineno" valign="top"></td></tr>
    765       <tr><td><a name="diff0047" /></td></tr>
     402      <tr><td><a name="diff0025" /></td></tr>
    766403      <tr><td class="lineno" valign="top"></td><td class="lblock">   header fields.  (Section 4.1)</td><td> </td><td class="rblock">   header fields.  (Section 4.1)<span class="insert">.</span></td><td class="lineno" valign="top"></td></tr>
    767404      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     
    775412      <tr><td class="lineno" valign="top"></td><td class="left">   Handling of multiple instances of cache directives when only one is</td><td> </td><td class="right">   Handling of multiple instances of cache directives when only one is</td><td class="lineno" valign="top"></td></tr>
    776413      <tr><td class="lineno" valign="top"></td><td class="left">   expected is now defined.  (Section 5.2)</td><td> </td><td class="right">   expected is now defined.  (Section 5.2)</td><td class="lineno" valign="top"></td></tr>
    777       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    778       <tr><td class="lineno" valign="top"></td><td class="left">   The "no-store" request directive doesn't apply to responses; i.e., a</td><td> </td><td class="right">   The "no-store" request directive doesn't apply to responses; i.e., a</td><td class="lineno" valign="top"></td></tr>
    779       <tr><td><a name="diff0048" /></td></tr>
    780       <tr><td class="lineno" valign="top"></td><td class="lblock">   cache can satisfy a request with no-store on it<span class="delete">,</span> and does not</td><td> </td><td class="rblock">   cache can satisfy a request with no-store on it and does not</td><td class="lineno" valign="top"></td></tr>
    781       <tr><td class="lineno" valign="top"></td><td class="left">   invalidate it.  (Section 5.2.1.5)</td><td> </td><td class="right">   invalidate it.  (Section 5.2.1.5)</td><td class="lineno" valign="top"></td></tr>
    782       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    783       <tr><td class="lineno" valign="top"></td><td class="left">   The qualified forms of the private and no-cache cache directives are</td><td> </td><td class="right">   The qualified forms of the private and no-cache cache directives are</td><td class="lineno" valign="top"></td></tr>
    784       <tr><td><a name="diff0049" /></td></tr>
    785       <tr><td class="lineno" valign="top"></td><td class="lblock">   noted to not be widely implemented; <span class="delete">e.g.</span>, "private=foo" is</td><td> </td><td class="rblock">   noted to not be widely implemented; <span class="insert">for example</span>, "private=foo" is</td><td class="lineno" valign="top"></td></tr>
    786       <tr><td class="lineno" valign="top"></td><td class="left">   interpreted by many caches as simply "private".  Additionally, the</td><td> </td><td class="right">   interpreted by many caches as simply "private".  Additionally, the</td><td class="lineno" valign="top"></td></tr>
    787       <tr><td class="lineno" valign="top"></td><td class="left">   meaning of the qualified form of no-cache has been clarified.</td><td> </td><td class="right">   meaning of the qualified form of no-cache has been clarified.</td><td class="lineno" valign="top"></td></tr>
    788       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.2.2)</td><td> </td><td class="right">   (Section 5.2.2)</td><td class="lineno" valign="top"></td></tr>
    789       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    790       <tr><td class="lineno" valign="top"></td><td class="left">   The "no-cache" response directive's meaning has been clarified.</td><td> </td><td class="right">   The "no-cache" response directive's meaning has been clarified.</td><td class="lineno" valign="top"></td></tr>
    791       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.2.2.2)</td><td> </td><td class="right">   (Section 5.2.2.2)</td><td class="lineno" valign="top"></td></tr>
    792       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    793       <tr><td class="lineno" valign="top"></td><td class="left">   The one-year limit on Expires header field values has been removed;</td><td> </td><td class="right">   The one-year limit on Expires header field values has been removed;</td><td class="lineno" valign="top"></td></tr>
    794       <tr><td class="lineno" valign="top"></td><td class="left">   instead, the reasoning for using a sensible value is given.</td><td> </td><td class="right">   instead, the reasoning for using a sensible value is given.</td><td class="lineno" valign="top"></td></tr>
    795       <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.3)</td><td> </td><td class="right">   (Section 5.3)</td><td class="lineno" valign="top"></td></tr>
    796       <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
     414      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
     415      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 38, line 13</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 38, line 7</em></th><td></td></tr>
    797416      <tr><td class="lineno" valign="top"></td><td class="left">   The Pragma header field is now only defined for backwards</td><td> </td><td class="right">   The Pragma header field is now only defined for backwards</td><td class="lineno" valign="top"></td></tr>
    798417      <tr><td class="lineno" valign="top"></td><td class="left">   compatibility; future pragmas are deprecated.  (Section 5.4)</td><td> </td><td class="right">   compatibility; future pragmas are deprecated.  (Section 5.4)</td><td class="lineno" valign="top"></td></tr>
     
    801420      <tr><td class="lineno" valign="top"></td><td class="left">   header fields have been relaxed, as it is not widely implemented.</td><td> </td><td class="right">   header fields have been relaxed, as it is not widely implemented.</td><td class="lineno" valign="top"></td></tr>
    802421      <tr><td class="lineno" valign="top"></td><td class="left">   Furthermore, the Warning header field no longer uses RFC 2047</td><td> </td><td class="right">   Furthermore, the Warning header field no longer uses RFC 2047</td><td class="lineno" valign="top"></td></tr>
    803       <tr><td><a name="diff0050" /></td></tr>
    804       <tr><td class="lineno" valign="top"></td><td class="lblock">   encoding, nor <span class="delete">allows</span> multiple languages, as these aspects were not</td><td> </td><td class="rblock">   encoding, nor <span class="insert">does it allow</span> multiple languages, as these aspects were</td><td class="lineno" valign="top"></td></tr>
    805       <tr><td class="lineno" valign="top"></td><td class="lblock">   implemented.  (Section 5.5)</td><td> </td><td class="rblock">   not implemented.  (Section 5.5)</td><td class="lineno" valign="top"></td></tr>
     422      <tr><td class="lineno" valign="top"></td><td class="left">   encoding, nor does it allow multiple languages, as these aspects were</td><td> </td><td class="right">   encoding, nor does it allow multiple languages, as these aspects were</td><td class="lineno" valign="top"></td></tr>
     423      <tr><td class="lineno" valign="top"></td><td class="left">   not implemented.  (Section 5.5)</td><td> </td><td class="right">   not implemented.  (Section 5.5)</td><td class="lineno" valign="top"></td></tr>
    806424      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
    807425      <tr><td class="lineno" valign="top"></td><td class="left">   This specification introduces the Cache Directive and Warn Code</td><td> </td><td class="right">   This specification introduces the Cache Directive and Warn Code</td><td class="lineno" valign="top"></td></tr>
    808       <tr><td><a name="diff0051" /></td></tr>
     426      <tr><td><a name="diff0026" /></td></tr>
    809427      <tr><td class="lineno" valign="top"></td><td class="lblock">   Registries, and defines considerations for new cache <span class="delete">directives.</span></td><td> </td><td class="rblock">   Registries, and defines considerations for new cache <span class="insert">directives</span></td><td class="lineno" valign="top"></td></tr>
    810428      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   (Section</span> 7.1 and <span class="delete">Section 7.2)</span></td><td> </td><td class="rblock"><span class="insert">   (Sections</span> 7.1 and <span class="insert">7.2).</span></td><td class="lineno" valign="top"></td></tr>
     
    821439
    822440     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
    823      <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 51 change blocks.&nbsp;</a></th></tr>
    824      <tr class="stats"><td></td><th><i>105 lines changed or deleted</i></th><th><i> </i></th><th><i>82 lines changed or added</i></th><td></td></tr>
     441     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 26 change blocks.&nbsp;</a></th></tr>
     442     <tr class="stats"><td></td><th><i>73 lines changed or deleted</i></th><th><i> </i></th><th><i>51 lines changed or added</i></th><td></td></tr>
    825443     <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>
    826444   </table>
  • draft-ietf-httpbis/latest/p6-cache.html

    r2667 r2691  
    466466  }
    467467  @bottom-center {
    468        content: "Expires November 13, 2014";
     468       content: "Expires November 24, 2014";
    469469  }
    470470  @bottom-right {
     
    510510      <meta name="dct.creator" content="Reschke, J. F.">
    511511      <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-latest">
    512       <meta name="dct.issued" scheme="ISO8601" content="2014-05-12">
     512      <meta name="dct.issued" scheme="ISO8601" content="2014-05-23">
    513513      <meta name="dct.replaces" content="urn:ietf:rfc:2616">
    514514      <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document defines HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages.">
     
    536536            </tr>
    537537            <tr>
    538                <td class="left">Expires: November 13, 2014</td>
     538               <td class="left">Expires: November 24, 2014</td>
    539539               <td class="right">J. Reschke, Editor</td>
    540540            </tr>
     
    545545            <tr>
    546546               <td class="left"></td>
    547                <td class="right">May 12, 2014</td>
     547               <td class="right">May 23, 2014</td>
    548548            </tr>
    549549         </tbody>
     
    572572            in progress”.
    573573         </p>
    574          <p>This Internet-Draft will expire on November 13, 2014.</p>
     574         <p>This Internet-Draft will expire on November 24, 2014.</p>
    575575      </div>
    576576      <div id="rfc.copyrightnotice">
     
    794794            <h2 id="rfc.section.3.1"><a href="#rfc.section.3.1">3.1</a>&nbsp;<a href="#incomplete.responses">Storing Incomplete Responses</a></h2>
    795795            <p id="rfc.section.3.1.p.1">A response message is considered complete when all of the octets indicated by the message framing (<a href="#RFC7230" id="rfc.xref.RFC7230.3"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>) are received prior to the connection being closed. If the request method is GET, the response status code is <a href="p2-semantics.html#status.200" class="smpl">200 (OK)</a>, and the entire response header section has been received, a cache <em class="bcp14">MAY</em> store an incomplete response message body if the cache entry is recorded as incomplete. Likewise, a <a href="p5-range.html#status.206" class="smpl">206 (Partial Content)</a> response <em class="bcp14">MAY</em> be stored as if it were an incomplete <a href="p2-semantics.html#status.200" class="smpl">200
    796                   (OK)</a> cache entry. However, a cache <em class="bcp14">MUST NOT</em> store incomplete or partial content responses if it does not support the <a href="p5-range.html#header.range" class="smpl">Range</a> and <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> header fields or if it does not understand the range units used in those fields.
     796                  (OK)</a> cache entry. However, a cache <em class="bcp14">MUST NOT</em> store incomplete or partial-content responses if it does not support the <a href="p5-range.html#header.range" class="smpl">Range</a> and <a href="p5-range.html#header.content-range" class="smpl">Content-Range</a> header fields or if it does not understand the range units used in those fields.
    797797            </p>
    798798            <p id="rfc.section.3.1.p.2">A cache <em class="bcp14">MAY</em> complete a stored incomplete response by making a subsequent range request (<a href="#RFC7233" id="rfc.xref.RFC7233.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Range Requests">[RFC7233]</cite></a>) and combining the successful response with the stored entry, as defined in <a href="#combining.responses" title="Combining Partial Content">Section&nbsp;3.3</a>. A cache <em class="bcp14">MUST NOT</em> use an incomplete response to answer requests unless the response has been made complete or the request is partial and specifies
     
    804804            <p id="rfc.section.3.2.p.1">A shared cache <em class="bcp14">MUST NOT</em> use a cached response to a request with an <a href="p7-auth.html#header.authorization" class="smpl">Authorization</a> header field (<a href="p7-auth.html#header.authorization" title="Authorization">Section 4.2</a> of <a href="#RFC7235" id="rfc.xref.RFC7235.2"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[RFC7235]</cite></a>) to satisfy any subsequent request unless a cache directive that allows such responses to be stored is present in the response.
    805805            </p>
    806             <p id="rfc.section.3.2.p.2">In this specification, the following <a href="#header.cache-control" class="smpl">Cache-Control</a> response directives (<a href="#cache-response-directive" title="Response Cache-Control Directives">Section&nbsp;5.2.2</a>) have such an effect: must-revalidate, public, s-maxage.
     806            <p id="rfc.section.3.2.p.2">In this specification, the following <a href="#header.cache-control" class="smpl">Cache-Control</a> response directives (<a href="#cache-response-directive" title="Response Cache-Control Directives">Section&nbsp;5.2.2</a>) have such an effect: must-revalidate, public, and s-maxage.
    807807            </p>
    808808            <p id="rfc.section.3.2.p.3">Note that cached responses that contain the "must-revalidate" and/or "s-maxage" response directives are not allowed to be
     
    861861            and having received a corresponding response.
    862862         </p>
    863          <p id="rfc.section.4.p.5">Also, note that unsafe requests might invalidate already stored responses; see <a href="#invalidation" title="Invalidation">Section&nbsp;4.4</a>.
     863         <p id="rfc.section.4.p.5">Also, note that unsafe requests might invalidate already-stored responses; see <a href="#invalidation" title="Invalidation">Section&nbsp;4.4</a>.
    864864         </p>
    865865         <p id="rfc.section.4.p.6">When more than one suitable response is stored, a cache <em class="bcp14">MUST</em> use the most recent response (as determined by the <a href="p2-semantics.html#header.date" class="smpl">Date</a> header field). It can also forward the request with "Cache-Control: max-age=0" or "Cache-Control: no-cache" to disambiguate
     
    881881               </li>
    882882               <li>normalizing both header field values in a way that is known to have identical semantics, according to the header field's specification
    883                   (e.g., re-ordering field values when order is not significant; case-normalization, where values are defined to be case-insensitive)
     883                  (e.g., reordering field values when order is not significant; case-normalization, where values are defined to be case-insensitive)
    884884               </li>
    885885            </ul>
     
    936936            <p id="rfc.section.4.2.p.12"></p>
    937937            <ul>
    938                <li>Although all date formats are specified to be case-sensitive, a cache recipient <em class="bcp14">SHOULD</em> match day, week, and timezone names case-insensitively.
     938               <li>Although all date formats are specified to be case-sensitive, a cache recipient <em class="bcp14">SHOULD</em> match day, week, and time-zone names case-insensitively.
    939939               </li>
    940940               <li>If a cache recipient's internal implementation of time has less resolution than the value of an HTTP-date, the recipient <em class="bcp14">MUST</em> internally represent a parsed <a href="#header.expires" class="smpl">Expires</a> date as the nearest time equal to or earlier than the received value.
     
    950950            <div id="calculating.freshness.lifetime">
    951951               <h3 id="rfc.section.4.2.1"><a href="#rfc.section.4.2.1">4.2.1</a>&nbsp;<a href="#calculating.freshness.lifetime">Calculating Freshness Lifetime</a></h3>
    952                <p id="rfc.section.4.2.1.p.1">A cache can calculate the freshness lifetime (denoted as freshness_lifetime) of a response by using the first match of: </p>
     952               <p id="rfc.section.4.2.1.p.1">A cache can calculate the freshness lifetime (denoted as freshness_lifetime) of a response by using the first match of the
     953                  following:
     954               </p>
    953955               <ul>
    954956                  <li>If the cache is shared and the s-maxage response directive (<a href="#cache-response-directive.s-maxage" title="s-maxage">Section&nbsp;5.2.2.9</a>) is present, use its value, or
     
    11011103               <p id="rfc.section.4.3.2.p.4">A request containing an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> header field (<a href="p4-conditional.html#header.if-none-match" title="If-None-Match">Section 3.2</a> of <a href="#RFC7232" id="rfc.xref.RFC7232.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[RFC7232]</cite></a>) indicates that the client wants to validate one or more of its own stored responses in comparison to whichever stored response
    11021104                  is selected by the cache. If the field-value is "*", or if the field-value is a list of entity-tags and at least one of them
    1103                   match the entity-tag of the selected stored response, a cache recipient <em class="bcp14">SHOULD</em> generate a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response (using the metadata of the selected stored response) instead of sending that stored response.
     1105                  matches the entity-tag of the selected stored response, a cache recipient <em class="bcp14">SHOULD</em> generate a <a href="p4-conditional.html#status.304" class="smpl">304 (Not Modified)</a> response (using the metadata of the selected stored response) instead of sending that stored response.
    11041106               </p>
    11051107               <p id="rfc.section.4.3.2.p.5">When a cache decides to revalidate its own stored responses for a request that contains an <a href="p4-conditional.html#header.if-none-match" class="smpl">If-None-Match</a> list of entity-tags, the cache <em class="bcp14">MAY</em> combine the received list with a list of entity-tags from its own stored set of responses (fresh or stale) and send the union
     
    11351137               </p>
    11361138               <div id="rfc.iref.s.3"></div>
    1137                <p id="rfc.section.4.3.4.p.2">The stored response to update is identified by using the first match (if any) of: </p>
     1139               <p id="rfc.section.4.3.4.p.2">The stored response to update is identified by using the first match (if any) of the following: </p>
    11381140               <ul>
    11391141                  <li>If the new response contains a <dfn>strong validator</dfn> (see <a href="p4-conditional.html#weak.and.strong.validators" title="Weak versus Strong">Section 2.1</a> of <a href="#RFC7232" id="rfc.xref.RFC7232.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests">[RFC7232]</cite></a>), then that strong validator identifies the selected representation for update. All of the stored responses with the same
     
    11871189            <h2 id="rfc.section.4.4"><a href="#rfc.section.4.4">4.4</a>&nbsp;<a href="#invalidation">Invalidation</a></h2>
    11881190            <p id="rfc.section.4.4.p.1">Because unsafe request methods (<a href="p2-semantics.html#safe.methods" title="Safe Methods">Section 4.2.1</a> of <a href="#RFC7231" id="rfc.xref.RFC7231.7"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content">[RFC7231]</cite></a>) such as PUT, POST or DELETE have the potential for changing state on the origin server, intervening caches can use them
    1189                to keep their contents up-to-date.
     1191               to keep their contents up to date.
    11901192            </p>
    11911193            <p id="rfc.section.4.4.p.2">A cache <em class="bcp14">MUST</em> invalidate the effective Request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.6"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>) as well as the URI(s) in the <a href="p2-semantics.html#header.location" class="smpl">Location</a> and <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header fields (if present) when a non-error status code is received in response to an unsafe request method.
     
    11951197            <p id="rfc.section.4.4.p.4">A cache <em class="bcp14">MUST</em> invalidate the effective request URI (<a href="p1-messaging.html#effective.request.uri" title="Effective Request URI">Section 5.5</a> of <a href="#RFC7230" id="rfc.xref.RFC7230.8"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[RFC7230]</cite></a>) when it receives a non-error response to a request with a method whose safety is unknown.
    11961198            </p>
    1197             <p id="rfc.section.4.4.p.5">Here, a "non-error response" is one with a <a href="p2-semantics.html#status.2xx" class="smpl">2xx (Successful)</a> or <a href="p2-semantics.html#status.3xx" class="smpl">3xx (Redirection)</a> status code. "Invalidate" means that the cache will either remove all stored responses related to the effective request URI,
     1199            <p id="rfc.section.4.4.p.5">Here, a "non-error response" is one with a <a href="p2-semantics.html#status.2xx" class="smpl">2xx (Successful)</a> or <a href="p2-semantics.html#status.3xx" class="smpl">3xx (Redirection)</a> status code. "Invalidate" means that the cache will either remove all stored responses related to the effective request URI
    11981200               or will mark these as "invalid" and in need of a mandatory validation before they can be sent in response to a subsequent
    11991201               request.
     
    12611263                     stale response.
    12621264                  </p>
    1263                   <p id="rfc.section.5.2.1.1.p.3">This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
     1265                  <p id="rfc.section.5.2.1.1.p.3">This directive uses the token form of the argument syntax: e.g., 'max-age=5' not 'max-age="5"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
    12641266                  </p>
    12651267               </div>
     
    12771279                     to accept a stale response of any age.
    12781280                  </p>
    1279                   <p id="rfc.section.5.2.1.2.p.3">This directive uses the token form of the argument syntax; e.g., 'max-stale=10', not 'max-stale="10"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
     1281                  <p id="rfc.section.5.2.1.2.p.3">This directive uses the token form of the argument syntax: e.g., 'max-stale=10' not 'max-stale="10"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
    12801282                  </p>
    12811283               </div>
     
    12921294                     for at least the specified number of seconds.
    12931295                  </p>
    1294                   <p id="rfc.section.5.2.1.3.p.3">This directive uses the token form of the argument syntax; e.g., 'min-fresh=20', not 'min-fresh="20"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
     1296                  <p id="rfc.section.5.2.1.3.p.3">This directive uses the token form of the argument syntax: e.g., 'min-fresh=20' not 'min-fresh="20"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
    12951297                  </p>
    12961298               </div>
     
    14271429                     number of seconds.
    14281430                  </p>
    1429                   <p id="rfc.section.5.2.2.8.p.3">This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
     1431                  <p id="rfc.section.5.2.2.8.p.3">This directive uses the token form of the argument syntax: e.g., 'max-age=5' not 'max-age="5"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
    14301432                  </p>
    14311433               </div>
     
    14411443                     the maximum age specified by either the max-age directive or the <a href="#header.expires" class="smpl">Expires</a> header field. The s-maxage directive also implies the semantics of the proxy-revalidate response directive.
    14421444                  </p>
    1443                   <p id="rfc.section.5.2.2.9.p.3">This directive uses the token form of the argument syntax; e.g., 's-maxage=10', not 's-maxage="10"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
     1445                  <p id="rfc.section.5.2.2.9.p.3">This directive uses the token form of the argument syntax: e.g., 's-maxage=10' not 's-maxage="10"'. A sender <em class="bcp14">SHOULD NOT</em> generate the quoted-string form.
    14441446                  </p>
    14451447               </div>
     
    15641566            </p>
    15651567            <ul>
    1566                <li>1xx warn-codes describe the freshness or validation status of the response, and so <em class="bcp14">MUST</em> be deleted by a cache after validation. They can only be generated by a cache when validating a cached entry, and <em class="bcp14">MUST NOT</em> be generated in any other situation.
     1568               <li>1xx warn-codes describe the freshness or validation status of the response, and so they <em class="bcp14">MUST</em> be deleted by a cache after validation. They can only be generated by a cache when validating a cached entry, and <em class="bcp14">MUST NOT</em> be generated in any other situation.
    15671569               </li>
    15681570               <li>2xx warn-codes describe some aspect of the representation that is not rectified by a validation (for example, a lossy compression
    1569                   of the representation) and <em class="bcp14">MUST NOT</em> be deleted by a cache after validation, unless a full response is sent, in which case they <em class="bcp14">MUST</em> be.
     1571                  of the representation) and they <em class="bcp14">MUST NOT</em> be deleted by a cache after validation, unless a full response is sent, in which case they <em class="bcp14">MUST</em> be.
    15701572               </li>
    15711573            </ul>
     
    16211623               <div id="rfc.iref.m.6"></div>
    16221624               <h3 id="rfc.section.5.5.5"><a href="#rfc.section.5.5.5">5.5.5</a>&nbsp;<a href="#warn.199">Warning: 199 - "Miscellaneous Warning"</a></h3>
    1623                <p id="rfc.section.5.5.5.p.1">The warning text can include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action, besides presenting the warning to the user.
     1625               <p id="rfc.section.5.5.5.p.1">The warning text can include arbitrary information to be presented to a human user or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action, besides presenting the warning to the user.
    16241626               </p>
    16251627            </div>
     
    16281630               <div id="rfc.iref.t.1"></div>
    16291631               <h3 id="rfc.section.5.5.6"><a href="#rfc.section.5.5.6">5.5.6</a>&nbsp;<a href="#warn.214">Warning: 214 - "Transformation Applied"</a></h3>
    1630                <p id="rfc.section.5.5.6.p.1"><em class="bcp14">MUST</em> be added by a proxy if it applies any transformation to the representation, such as changing the content-coding, media-type,
     1632               <p id="rfc.section.5.5.6.p.1">This Warning code <em class="bcp14">MUST</em> be added by a proxy if it applies any transformation to the representation, such as changing the content-coding, media-type,
    16311633                  or modifying the representation data, unless this Warning code already appears in the response.
    16321634               </p>
     
    16361638               <div id="rfc.iref.m.7"></div>
    16371639               <h3 id="rfc.section.5.5.7"><a href="#rfc.section.5.5.7">5.5.7</a>&nbsp;<a href="#warn.299">Warning: 299 - "Miscellaneous Persistent Warning"</a></h3>
    1638                <p id="rfc.section.5.5.7.p.1">The warning text can include arbitrary information to be presented to a human user, or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action.
     1640               <p id="rfc.section.5.5.7.p.1">The warning text can include arbitrary information to be presented to a human user or logged. A system receiving this warning <em class="bcp14">MUST NOT</em> take any automated action.
    16391641               </p>
    16401642            </div>
     
    16461648            retrieved earlier in a session.
    16471649         </p>
    1648          <p id="rfc.section.6.p.2">The freshness model (<a href="#expiration.model" title="Freshness">Section&nbsp;4.2</a>) does not necessarily apply to history mechanisms. I.e., a history mechanism can display a previous representation even if
    1649             it has expired.
    1650          </p>
    1651          <p id="rfc.section.6.p.3">This does not prohibit the history mechanism from telling the user that a view might be stale, or from honoring cache directives
     1650         <p id="rfc.section.6.p.2">The freshness model (<a href="#expiration.model" title="Freshness">Section&nbsp;4.2</a>) does not necessarily apply to history mechanisms. That is, a history mechanism can display a previous representation even
     1651            if it has expired.
     1652         </p>
     1653         <p id="rfc.section.6.p.3">This does not prohibit the history mechanism from telling the user that a view might be stale or from honoring cache directives
    16521654            (e.g., Cache-Control: no-store).
    16531655         </p>
     
    16571659         <div id="cache.directive.registry">
    16581660            <h2 id="rfc.section.7.1"><a href="#rfc.section.7.1">7.1</a>&nbsp;<a href="#cache.directive.registry">Cache Directive Registry</a></h2>
    1659             <p id="rfc.section.7.1.p.1">The HTTP Cache Directive Registry defines the namespace for the cache directives. It will be created and maintained at (the
    1660                suggested URI) &lt;<a href="http://www.iana.org/assignments/http-cache-directives">http://www.iana.org/assignments/http-cache-directives</a>&gt;.
     1661            <p id="rfc.section.7.1.p.1">The "Hypertext Transfer Protocol (HTTP) Cache Directive Registry" defines the namespace for the cache directives. It has been
     1662               created and is now maintained at &lt;<a href="http://www.iana.org/assignments/http-cache-directives">http://www.iana.org/assignments/http-cache-directives</a>&gt;.
    16611663            </p>
    16621664            <div id="cache.directive.registry.procedure">
     
    16861688            <div id="cache.directive.registration">
    16871689               <h3 id="rfc.section.7.1.3"><a href="#rfc.section.7.1.3">7.1.3</a>&nbsp;<a href="#cache.directive.registration">Registrations</a></h3>
    1688                <p id="rfc.section.7.1.3.p.1">The HTTP Cache Directive Registry has been populated with the registrations below:</p>
     1690               <p id="rfc.section.7.1.3.p.1">The registry has been populated with the registrations below:</p>
    16891691               <div id="rfc.table.1">
    16901692                  <div id="iana.cache.directive.registration.table"></div>
     
    17741776         <div id="warn.code.registry">
    17751777            <h2 id="rfc.section.7.2"><a href="#rfc.section.7.2">7.2</a>&nbsp;<a href="#warn.code.registry">Warn Code Registry</a></h2>
    1776             <p id="rfc.section.7.2.p.1">The HTTP Warn Code Registry defines the namespace for warn codes. It will be created and maintained at (the suggested URI) &lt;<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>&gt;.
     1778            <p id="rfc.section.7.2.p.1">The "Hypertext Transfer Protocol (HTTP) Warn Codes" registry defines the namespace for warn codes. It has been created and
     1779               is now maintained at &lt;<a href="http://www.iana.org/assignments/http-warn-codes">http://www.iana.org/assignments/http-warn-codes</a>&gt;.
    17771780            </p>
    17781781            <div id="warn.code.registry.procedure">
     
    17901793            <div id="warn.code.registration">
    17911794               <h3 id="rfc.section.7.2.2"><a href="#rfc.section.7.2.2">7.2.2</a>&nbsp;<a href="#warn.code.registration">Registrations</a></h3>
    1792                <p id="rfc.section.7.2.2.p.1">The HTTP Warn Code Registry has been populated with the registrations below:</p>
     1795               <p id="rfc.section.7.2.2.p.1">The registry has been populated with the registrations below:</p>
    17931796               <div id="rfc.table.2">
    17941797                  <div id="iana.warn.code.registration.table"></div>
     
    20242027            heuristic freshness for URIs with query components. (<a href="#heuristic.freshness" title="Calculating Heuristic Freshness">Section&nbsp;4.2.2</a>)
    20252028         </p>
    2026          <p id="rfc.section.A.p.4">The algorithm for calculating age is now less conservative. Caches are now required to handle dates with timezones as if they're
    2027             invalid, because it's not possible to accurately guess. (<a href="#age.calculations" title="Calculating Age">Section&nbsp;4.2.3</a>)
     2029         <p id="rfc.section.A.p.4">The algorithm for calculating age is now less conservative. Caches are now required to handle dates with time zones as if
     2030            they're invalid, because it's not possible to accurately guess. (<a href="#age.calculations" title="Calculating Age">Section&nbsp;4.2.3</a>)
    20282031         </p>
    20292032         <p id="rfc.section.A.p.5">The <a href="p2-semantics.html#header.content-location" class="smpl">Content-Location</a> response header field is no longer used to determine the appropriate response to use when validating. (<a href="#validation.model" title="Validation">Section&nbsp;4.3</a>)
     
    20392042            one is expected is now defined. (<a href="#header.cache-control" id="rfc.xref.header.cache-control.3" title="Cache-Control">Section&nbsp;5.2</a>)
    20402043         </p>
    2041          <p id="rfc.section.A.p.10">The "no-store" request directive doesn't apply to responses; i.e., a cache can satisfy a request with no-store on it, and
    2042             does not invalidate it. (<a href="#cache-request-directive.no-store" title="no-store">Section&nbsp;5.2.1.5</a>)
    2043          </p>
    2044          <p id="rfc.section.A.p.11">The qualified forms of the private and no-cache cache directives are noted to not be widely implemented; e.g., "private=foo"
     2044         <p id="rfc.section.A.p.10">The "no-store" request directive doesn't apply to responses; i.e., a cache can satisfy a request with no-store on it and does
     2045            not invalidate it. (<a href="#cache-request-directive.no-store" title="no-store">Section&nbsp;5.2.1.5</a>)
     2046         </p>
     2047         <p id="rfc.section.A.p.11">The qualified forms of the private and no-cache cache directives are noted to not be widely implemented; for example, "private=foo"
    20452048            is interpreted by many caches as simply "private". Additionally, the meaning of the qualified form of no-cache has been clarified.
    20462049            (<a href="#cache-response-directive" title="Response Cache-Control Directives">Section&nbsp;5.2.2</a>)
     
    20522055         <p id="rfc.section.A.p.14">The <a href="#header.pragma" class="smpl">Pragma</a> header field is now only defined for backwards compatibility; future pragmas are deprecated. (<a href="#header.pragma" id="rfc.xref.header.pragma.3" title="Pragma">Section&nbsp;5.4</a>)
    20532056         </p>
    2054          <p id="rfc.section.A.p.15">Some requirements regarding production and processing of the <a href="#header.warning" class="smpl">Warning</a> header fields have been relaxed, as it is not widely implemented. Furthermore, the <a href="#header.warning" class="smpl">Warning</a> header field no longer uses RFC 2047 encoding, nor allows multiple languages, as these aspects were not implemented. (<a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section&nbsp;5.5</a>)
     2057         <p id="rfc.section.A.p.15">Some requirements regarding production and processing of the <a href="#header.warning" class="smpl">Warning</a> header fields have been relaxed, as it is not widely implemented. Furthermore, the <a href="#header.warning" class="smpl">Warning</a> header field no longer uses RFC 2047 encoding, nor does it allow multiple languages, as these aspects were not implemented.
     2058            (<a href="#header.warning" id="rfc.xref.header.warning.5" title="Warning">Section&nbsp;5.5</a>)
    20552059         </p>
    20562060         <p id="rfc.section.A.p.16">This specification introduces the Cache Directive and Warn Code Registries, and defines considerations for new cache directives.
  • draft-ietf-httpbis/latest/p6-cache.xml

    r2667 r2691  
    354354   response &MAY; be stored as if it were an incomplete <x:ref>200
    355355   (OK)</x:ref> cache entry. However, a cache &MUST-NOT; store incomplete or
    356    partial content responses if it does not support the <x:ref>Range</x:ref>
     356   partial-content responses if it does not support the <x:ref>Range</x:ref>
    357357   and <x:ref>Content-Range</x:ref> header fields or if it does not understand
    358358   the range units used in those fields.
     
    382382   In this specification, the following <x:ref>Cache-Control</x:ref> response
    383383   directives (<xref target="cache-response-directive"/>) have such an effect:
    384    must-revalidate, public, s-maxage.
     384   must-revalidate, public, and s-maxage.
    385385</t>
    386386<t>
     
    471471</t>
    472472<t>
    473    Also, note that unsafe requests might invalidate already stored responses;
     473   Also, note that unsafe requests might invalidate already-stored responses;
    474474   see <xref target="invalidation" />.
    475475</t>
     
    511511         normalizing both header field values in a way that is known to have
    512512         identical semantics, according to the header field's specification
    513          (e.g., re-ordering field values when order is not significant;
     513         (e.g., reordering field values when order is not significant;
    514514         case-normalization, where values are defined to be case-insensitive)
    515515      </t>
     
    620620  <list style="symbols">
    621621     <t>Although all date formats are specified to be case-sensitive,
    622         a cache recipient &SHOULD; match day, week, and timezone names
     622        a cache recipient &SHOULD; match day, week, and time-zone names
    623623        case-insensitively.</t>
    624624             
     
    646646<t>
    647647   A cache can calculate the freshness lifetime (denoted as
    648    freshness_lifetime) of a response by using the first match of:
     648   freshness_lifetime) of a response by using the first match of the following:
    649649   <list style="symbols">
    650650      <t>If the cache is shared and the s-maxage response directive
     
    928928   response is selected by the cache.
    929929   If the field-value is "*", or if the field-value is a list of entity-tags
    930    and at least one of them match the entity-tag of the selected stored
     930   and at least one of them matches the entity-tag of the selected stored
    931931   response, a cache recipient &SHOULD; generate a
    932932   <x:ref>304 (Not Modified)</x:ref> response (using the metadata of the
     
    10151015<t>
    10161016   The stored response to update is identified by using the first match (if
    1017    any) of:
     1017   any) of the following:
    10181018   <list style="symbols">
    10191019    <t>
     
    11011101   Because unsafe request methods (&safe-methods;) such as PUT, POST or DELETE
    11021102   have the potential for changing state on the origin server, intervening
    1103    caches can use them to keep their contents up-to-date.
     1103   caches can use them to keep their contents up to date.
    11041104</t>
    11051105<t>
     
    11251125   or <x:ref>3xx (Redirection)</x:ref> status code. "Invalidate" means that
    11261126   the cache will either remove all stored responses related to the effective
    1127    request URI, or will mark these as "invalid" and in need of a mandatory
     1127   request URI or will mark these as "invalid" and in need of a mandatory
    11281128   validation before they can be sent in response to a subsequent request.
    11291129</t>
     
    12351235</t>
    12361236<t>
    1237    This directive uses the token form of the argument syntax;
    1238    e.g., 'max-age=5', not 'max-age="5"'. A sender &SHOULD-NOT; generate the
     1237   This directive uses the token form of the argument syntax:
     1238   e.g., 'max-age=5' not 'max-age="5"'. A sender &SHOULD-NOT; generate the
    12391239   quoted-string form.
    12401240</t>
     
    12601260</t>
    12611261<t>
    1262    This directive uses the token form of the argument syntax;
    1263    e.g., 'max-stale=10', not 'max-stale="10"'. A sender &SHOULD-NOT; generate
     1262   This directive uses the token form of the argument syntax:
     1263   e.g., 'max-stale=10' not 'max-stale="10"'. A sender &SHOULD-NOT; generate
    12641264   the quoted-string form.
    12651265</t>
     
    12841284</t>
    12851285<t>
    1286    This directive uses the token form of the argument syntax;
    1287    e.g., 'min-fresh=20', not 'min-fresh="20"'. A sender &SHOULD-NOT; generate
     1286   This directive uses the token form of the argument syntax:
     1287   e.g., 'min-fresh=20' not 'min-fresh="20"'. A sender &SHOULD-NOT; generate
    12881288   the quoted-string form.
    12891289</t>
     
    15271527</t>
    15281528<t>
    1529    This directive uses the token form of the argument syntax;
    1530    e.g., 'max-age=5', not 'max-age="5"'. A sender &SHOULD-NOT; generate the
     1529   This directive uses the token form of the argument syntax:
     1530   e.g., 'max-age=5' not 'max-age="5"'. A sender &SHOULD-NOT; generate the
    15311531   quoted-string form.
    15321532</t>
     
    15511551</t>
    15521552<t>
    1553    This directive uses the token form of the argument syntax;
    1554    e.g., 's-maxage=10', not 's-maxage="10"'. A sender &SHOULD-NOT; generate
     1553   This directive uses the token form of the argument syntax:
     1554   e.g., 's-maxage=10' not 's-maxage="10"'. A sender &SHOULD-NOT; generate
    15551555   the quoted-string form.
    15561556</t>
     
    17681768   <list style="symbols">
    17691769      <t>1xx warn-codes describe the freshness or validation status of the
    1770       response, and so &MUST; be deleted by a cache after validation. They can
     1770      response, and so they &MUST; be deleted by a cache after validation. They can
    17711771      only be generated by a cache when validating a cached entry, and
    17721772      &MUST-NOT; be generated in any other situation.</t>
    17731773      <t>2xx warn-codes describe some aspect of the representation that is not
    17741774      rectified by a validation (for example, a lossy compression of the
    1775       representation) and &MUST-NOT; be deleted by a cache after validation,
     1775      representation) and they &MUST-NOT; be deleted by a cache after validation,
    17761776      unless a full response is sent, in which case they &MUST; be.</t>
    17771777   </list>
     
    18531853<t>
    18541854   The warning text can include arbitrary information to be presented to
    1855    a human user, or logged. A system receiving this warning &MUST-NOT; take
     1855   a human user or logged. A system receiving this warning &MUST-NOT; take
    18561856   any automated action, besides presenting the warning to the user.
    18571857</t>
     
    18621862  <iref primary="true" item="Transformation Applied (warn-text)" x:for-anchor=""/>
    18631863<t>
    1864    &MUST; be added by a proxy if it applies any transformation to the
     1864   This Warning code &MUST; be added by a proxy if it applies any transformation to the
    18651865   representation, such as changing the content-coding, media-type, or
    18661866   modifying the representation data, unless this Warning code already appears
     
    18741874<t>
    18751875   The warning text can include arbitrary information to be presented to
    1876    a human user, or logged. A system receiving this warning &MUST-NOT; take
     1876   a human user or logged. A system receiving this warning &MUST-NOT; take
    18771877   any automated action.
    18781878</t>
     
    18891889<t>
    18901890   The freshness model (<xref target="expiration.model"/>) does not
    1891    necessarily apply to history mechanisms. I.e., a history mechanism can
     1891   necessarily apply to history mechanisms. That is, a history mechanism can
    18921892   display a previous representation even if it has expired.
    18931893</t>
    18941894<t>
    18951895   This does not prohibit the history mechanism from telling the user that a
    1896    view might be stale, or from honoring cache directives (e.g.,
     1896   view might be stale or from honoring cache directives (e.g.,
    18971897   Cache-Control: no-store).
    18981898</t>
     
    19041904<section title="Cache Directive Registry" anchor="cache.directive.registry">
    19051905<t>
    1906    The HTTP Cache Directive Registry defines the namespace for the
    1907    cache directives. It will be created and maintained at (the suggested URI)
     1906   The "Hypertext Transfer Protocol (HTTP) Cache Directive Registry" defines the namespace for the
     1907   cache directives. It has been created and is now maintained at
    19081908   <eref target="http://www.iana.org/assignments/http-cache-directives"/>.
    19091909</t>
     
    19451945<section title="Registrations" anchor="cache.directive.registration">
    19461946<t>
    1947   The HTTP Cache Directive Registry has been populated with the registrations below:
     1947  The registry has been populated with the registrations below:
    19481948</t>
    19491949<?BEGININC p6-cache.cache-directives ?>
     
    20182018<section title="Warn Code Registry" anchor="warn.code.registry">
    20192019<t>
    2020    The HTTP Warn Code Registry defines the namespace for warn codes.
    2021    It will be created and maintained at (the suggested URI)
     2020   The "Hypertext Transfer Protocol (HTTP) Warn Codes" registry defines the namespace for warn codes.
     2021   It has been created and is now maintained at
    20222022   <eref target="http://www.iana.org/assignments/http-warn-codes"/>.
    20232023</t>
     
    20402040<section title="Registrations" anchor="warn.code.registration">
    20412041<t>
    2042   The HTTP Warn Code Registry has been populated with the registrations below:
     2042  The registry has been populated with the registrations below:
    20432043</t>
    20442044<?BEGININC p6-cache.iana-warn-codes ?>
     
    25022502<t>
    25032503  The algorithm for calculating age is now less conservative.
    2504   Caches are now required to handle dates with timezones as if they're
     2504  Caches are now required to handle dates with time zones as if they're
    25052505  invalid, because it's not possible to accurately guess.
    25062506  (<xref target="age.calculations"/>)
     
    25342534<t>
    25352535  The "no-store" request directive doesn't apply to responses; i.e.,
    2536   a cache can satisfy a request with no-store on it, and does not invalidate
     2536  a cache can satisfy a request with no-store on it and does not invalidate
    25372537  it.
    25382538  (<xref target="cache-request-directive.no-store" />)
     
    25402540<t>
    25412541  The qualified forms of the private and no-cache cache directives are noted
    2542   to not be widely implemented; e.g., "private=foo" is interpreted by many
     2542  to not be widely implemented; for example, "private=foo" is interpreted by many
    25432543  caches as simply "private". Additionally, the meaning of the qualified
    25442544  form of no-cache has been clarified.
     
    25632563  header fields have been relaxed, as it is not widely implemented.
    25642564  Furthermore, the <x:ref>Warning</x:ref> header field no longer uses RFC 2047 encoding,
    2565   nor allows multiple languages, as these aspects were not implemented.
     2565  nor does it allow multiple languages, as these aspects were not implemented.
    25662566  (<xref target="header.warning" />)
    25672567</t>
Note: See TracChangeset for help on using the changeset viewer.