source: draft-ietf-httpbis/latest/auth48/rfc7234.diff.html @ 2678

Last change on this file since 2678 was 2678, checked in by julian.reschke@…, 6 years ago

add RFC7234-to-be and RFC7235-to-be (#553)

  • Property svn:eol-style set to native
File size: 165.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<!-- Generated by rfcdiff 1.38: rfcdiff  -->
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7  <meta http-equiv="Content-Style-Type" content="text/css" />
8  <title>Diff: p6-cache.unpg.txt - rfc7234-to-be.unpg.txt</title>
9  <style type="text/css">
10    body    { margin: 0.4ex; margin-right: auto; }
11    tr      { }
12    td      { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
13    th      { font-size: 0.86em; }
14    .small  { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
15    .left   { background-color: #EEE; }
16    .right  { background-color: #FFF; }
17    .diff   { background-color: #CCF; }
18    .lblock { background-color: #BFB; }
19    .rblock { background-color: #FF8; }
20    .insert { background-color: #8FF; }
21    .delete { background-color: #ACF; }
22    .void   { background-color: #FFB; }
23    .cont   { background-color: #EEE; }
24    .linebr { background-color: #AAA; }
25    .lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
26    .elipsis{ background-color: #AAA; }
27    .left .cont { background-color: #DDD; }
28    .right .cont { background-color: #EEE; }
29    .lblock .cont { background-color: #9D9; }
30    .rblock .cont { background-color: #DD6; }
31    .insert .cont { background-color: #0DD; }
32    .delete .cont { background-color: #8AD; }
33    .stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
34  </style>
35</head>
36<body > 
37  <table border="0" cellpadding="0" cellspacing="0">
38  <tr bgcolor="orange"><th></th><th>&nbsp;p6-cache.unpg.txt&nbsp;</th><th> </th><th>&nbsp;rfc7234-to-be.unpg.txt&nbsp;</th><th></th></tr>
39      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
40      <tr><td><a name="diff0001" /></td></tr>
41      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">HTTPbis Working Group</span>                                   R. Fielding, Ed.</td><td> </td><td class="rblock"><span class="insert">Internet Engineering Task Force (IETF)</span>                  R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Internet-Draft</span>                                                     Adobe</td><td> </td><td class="rblock"><span class="insert">Request for Comments: 7234</span>                                         Adobe</td><td class="lineno" valign="top"></td></tr>
43      <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>
44      <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>
46      <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>
47      <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>
49      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
50      <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>
51      <tr><td><a name="diff0003" /></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                   draft-ietf-httpbis-p6-cache-latest</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is a stateless application-</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is a stateless application-</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">   level protocol for distributed, collaborative, hypertext information</td><td> </td><td class="right">   level protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines HTTP caches and the associated header</td><td> </td><td class="right">   systems.  This document defines HTTP caches and the associated header</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   fields that control cache behavior or indicate cacheable response</td><td> </td><td class="right">   fields that control cache behavior or indicate cacheable response</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">   messages.</td><td> </td><td class="right">   messages.</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
62      <tr><td><a name="diff0004" /></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">Editorial Note (To be removed by RFC Editor)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
64      <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>
65      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Discussion of this draft takes place on the HTTPBIS working group</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   mailing list (ietf-http-wg@w3.org), which is archived at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
68      <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>
69      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The current issues list is at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   documents (including fancy diffs) can be found at</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
73      <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>
74      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   _This is a temporary document for the purpose of tracking the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   editorial changes made during the AUTH48 (RFC publication) phase._</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
79      <tr><td><a name="diff0005" /></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="lblock">   This <span class="delete">Internet-Draft</span> is <span class="delete">submitted in full conformance with the</span></td><td> </td><td class="rblock">   This is <span class="insert">an Internet Standards Track document.</span></td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   provisions of BCP 78 and BCP 79.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
83      <tr><td><a name="diff0006" /></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Internet-Drafts are working documents</span> of the Internet Engineering</td><td> </td><td class="rblock">   <span class="insert">This document is a product</span> of the Internet Engineering Task Force</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="lblock">   Task Force (IETF).  <span class="delete">Note that other groups may also distribute</span></td><td> </td><td class="rblock">   (IETF).  <span class="insert">It represents the consensus</span> of <span class="insert">the IETF community.  It has</span></td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   working documents as Internet-Drafts.  The list</span> of <span class="delete">current Internet-</span></td><td> </td><td class="rblock"><span class="insert">   received public review and has been approved for publication by the</span></td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Drafts</span> is <span class="delete">at http://datatracker.ietf.org/drafts/current/.</span></td><td> </td><td class="rblock"><span class="insert">   Internet Engineering Steering Group (IESG).  Further information on</span></td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Internet Standards</span> is <span class="insert">available in Section 2 of RFC 5741.</span></td><td class="lineno" valign="top"></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
90      <tr><td><a name="diff0007" /></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Internet-Drafts are draft documents valid for a maximum</span> of <span class="delete">six months</span></td><td> </td><td class="rblock">   <span class="insert">Information about the current status</span> of <span class="insert">this document, any errata,</span></td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="lblock">   and may be <span class="delete">updated, replaced, or obsoleted by other documents</span> at <span class="delete">any</span></td><td> </td><td class="rblock">   and <span class="insert">how to provide feedback on it</span> may be <span class="insert">obtained</span> at</td><td class="lineno" valign="top"></td></tr>
93      <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>
94      <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>
96      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
97      <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>
98      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2014 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2014 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   document authors.  All rights reserved.</td><td> </td><td class="right">   document authors.  All rights reserved.</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="left">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents</td><td> </td><td class="right">   Provisions Relating to IETF Documents</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno" valign="top"></td></tr>
105      <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>
106      <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">using of</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">   the following:</span></td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
242      <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>
243      <tr><td class="lineno" valign="top"></td><td class="left">      (Section 5.2.2.9) is present, use its value, or</td><td> </td><td class="right">      (Section 5.2.2.9) is present, use its value, or</td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the max-age response directive (Section 5.2.2.8) is present,</td><td> </td><td class="right">   o  If the max-age response directive (Section 5.2.2.8) is present,</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">      use its value, or</td><td> </td><td class="right">      use its value, or</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
248      <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>
250      <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>
251      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   o  Otherwise, no explicit expiration time is present in the response.</td><td> </td><td class="right">   o  Otherwise, no explicit expiration time is present in the response.</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="left">      A heuristic freshness lifetime might be applicable; see</td><td> </td><td class="right">      A heuristic freshness lifetime might be applicable; see</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left">      Section 4.2.2.</td><td> </td><td class="right">      Section 4.2.2.</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="left">   Note that this calculation is not vulnerable to clock skew, since all</td><td> </td><td class="right">   Note that this calculation is not vulnerable to clock skew, since all</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">   of the information comes from the origin server.</td><td> </td><td class="right">   of the information comes from the origin server.</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   When there is more than one value present for a given directive</td><td> </td><td class="right">   When there is more than one value present for a given directive</td><td class="lineno" valign="top"></td></tr>
260      <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>
261      <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 16, line 46</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 16, line 49</em></th><td></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
264      <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>
265      <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>
266      <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>
267      <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>
268      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
269      <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>
270      <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>
271      <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>
272      <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>
273      <tr><td><a name="diff0015" /></td></tr>
274      <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>
275      <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>
276      <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>
277      <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>
278      <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>
279      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
280      <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>
281      <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>
282      <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>
283      <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>
284      <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>
285      <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 18, line 20</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 18, line 21</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">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>
289      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
290      <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>
291      <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>
292      <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>
293      <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>
294      <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>
295      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
296      <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>
297      <tr><td><a name="diff0016" /></td></tr>
298      <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>
299      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left">   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>
301      <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>
302      <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>
303      <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>
304      <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>
305      <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>
306      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
307      <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>
308      <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>
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 19, line 48</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 19, line 48</em></th><td></td></tr>
311      <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>
312      <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>
313      <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>
314      <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>
315      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
316      <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>
317      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   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>
319      <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>
320      <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>
321      <tr><td><a name="diff0017" /></td></tr>
322      <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>
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">   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>
325      <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>
326      <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>
327      <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>
328      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">   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>
330      <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>
331      <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>
332      <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>
333      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   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>
335      <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>
336      <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>
337      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
338      <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>
339      <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>
340      <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>
341      <tr><td><a name="diff0018" /></td></tr>
342      <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>
343      <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>
344      <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>
345      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
346      <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>
347      <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>
348      <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>
349      <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>
350      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
351      <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>
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"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
354      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 21, line 52</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 21, line 52</em></th><td></td></tr>
355      <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>
356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">      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>
358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
359      <tr><td 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>
360      <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>
361      <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>
362      <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>
363      <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>
364      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
365      <tr><td><a name="diff0019" /></td></tr>
366      <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>
367      <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>
368      <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>
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">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>
371      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
372      <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>
373      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
374      <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>
375      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
376      <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>
377      <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>
378      <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>
379      <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>
380      <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>
381      <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>
382      <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>
383      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
384      <tr><td><a name="diff0020" /></td></tr>
385      <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>
386      <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>
387      <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>
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 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>
390      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
391      <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>
392      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
393      <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>
394      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
395      <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>
396      <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>
397      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
398      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 25, line 47</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 25, line 47</em></th><td></td></tr>
399      <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>
400      <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>
401      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">   The field-names given are not limited to the set of header fields</td><td> </td><td class="right">   The field-names given are not limited to the set of header fields</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   defined by this specification.  Field names are case-insensitive.</td><td> </td><td class="right">   defined by this specification.  Field names are case-insensitive.</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   This directive uses the quoted-string form of the argument syntax.  A</td><td> </td><td class="right">   This directive uses the quoted-string form of the argument syntax.  A</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">   sender SHOULD NOT generate the token form (even if quoting appears</td><td> </td><td class="right">   sender SHOULD NOT generate the token form (even if quoting appears</td><td class="lineno" valign="top"></td></tr>
407      <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>
408      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
409      <tr><td><a name="diff0021" /></td></tr>
410      <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>
411      <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>
412      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">content.</span>  Also, private response directives with field-names are</td><td> </td><td class="rblock">   message <span class="insert">content cannot be ensured.</span>  Also, private response directives</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="lblock">   often handled by caches as if an unqualified private directive was</td><td> </td><td class="rblock">   with field-names are often handled by caches as if an unqualified</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="lblock">   received; i.e., the special handling for the qualified form is not</td><td> </td><td class="rblock">   private directive was received; i.e., the special handling for the</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="lblock">   widely implemented.</td><td> </td><td class="rblock">   qualified form is not widely implemented.</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left">5.2.2.7.  proxy-revalidate</td><td> </td><td class="right">5.2.2.7.  proxy-revalidate</td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="left">   The "proxy-revalidate" response directive has the same meaning as the</td><td> </td><td class="right">   The "proxy-revalidate" response directive has the same meaning as the</td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="left">   must-revalidate response directive, except that it does not apply to</td><td> </td><td class="right">   must-revalidate response directive, except that it does not apply to</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left">   private caches.</td><td> </td><td class="right">   private caches.</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left">5.2.2.8.  max-age</td><td> </td><td class="right">5.2.2.8.  max-age</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left">   Argument syntax:</td><td> </td><td class="right">   Argument syntax:</td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
427      <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>
428      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
429      <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>
430      <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>
431      <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>
432      <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>
434      <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>
435      <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>
436      <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>
437      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
438      <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>
439      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
440      <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>
441      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left">      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>
443      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left">   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>
445      <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>
446      <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>
447      <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>
448      <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>
449      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
450      <tr><td><a name="diff0023" /></td></tr>
451      <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>
452      <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>
453      <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>
454      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left">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>
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 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>
458      <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>
459      <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>
460      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">   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>
462      <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>
463      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
464      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 30, line 10</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 30, line 10</em></th><td></td></tr>
465      <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>
466      <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>
467      <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>
468      <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>
469      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="left">   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>
471      <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>
472      <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>
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 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>
475      <tr><td><a name="diff0024" /></td></tr>
476      <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>
477      <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>
478      <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>
479      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
480      <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>
481      <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>
482      <tr><td><a name="diff0025" /></td></tr>
483      <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>
484      <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>
485      <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>
486      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
487      <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>
488      <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>
489      <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>
490      <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>
491      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
492      <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>
493      <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>
494      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
495      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 31, line 25</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 31, line 25</em></th><td></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
497      <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>
498      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
499      <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>
500      <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>
501      <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>
502      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
503      <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>
504      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
505      <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>
506      <tr><td><a name="diff0026" /></td></tr>
507      <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>
508      <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>
509      <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>
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">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>
512      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
513      <tr><td><a name="diff0027" /></td></tr>
514      <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>
515      <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>
516      <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>
517      <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>
518      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
519      <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>
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">   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>
522      <tr><td><a name="diff0028" /></td></tr>
523      <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>
524      <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>
525      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
526      <tr><td 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>
527      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
528      <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>
529      <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>
530      <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>
531      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
532      <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>
533      <tr><td><a name="diff0029" /></td></tr>
534      <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>
535      <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>
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 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>
538      <tr><td><a name="diff0030" /></td></tr>
539      <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>
540      <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>
541      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
542      <tr><td class="lineno" valign="top"></td><td class="left">7.  IANA Considerations</td><td> </td><td class="right">7.  IANA Considerations</td><td class="lineno" valign="top"></td></tr>
543      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
544      <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>
545      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
546      <tr><td><a name="diff0031" /></td></tr>
547      <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>
548      <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>
549      <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>
550      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="left">7.1.1.  Procedure</td><td> </td><td class="right">7.1.1.  Procedure</td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="left">   A registration MUST include the following fields:</td><td> </td><td class="right">   A registration MUST include the following fields:</td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="left">   o  Cache Directive Name</td><td> </td><td class="right">   o  Cache Directive Name</td><td class="lineno" valign="top"></td></tr>
556      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
557      <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>
558      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
559      <tr><td><a name="diff0032" /></td></tr>
560      <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>
561      <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>
562      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left">7.1.2.  Considerations for New Cache Control Directives</td><td> </td><td class="right">7.1.2.  Considerations for New Cache Control Directives</td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="left">   New extension directives ought to consider defining:</td><td> </td><td class="right">   New extension directives ought to consider defining:</td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="left">   o  What it means for a directive to be specified multiple times,</td><td> </td><td class="right">   o  What it means for a directive to be specified multiple times,</td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
569      <tr><td class="lineno" valign="top"></td><td class="left">   o  When the directive does not take an argument, what it means when</td><td> </td><td class="right">   o  When the directive does not take an argument, what it means when</td><td class="lineno" valign="top"></td></tr>
570      <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>
571      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
572      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 32, line 45</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 32, line 45</em></th><td></td></tr>
573      <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>
574      <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>
575      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left">   o  Whether the directive is specific to requests, responses, or able</td><td> </td><td class="right">   o  Whether the directive is specific to requests, responses, or able</td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="left">      to be used in either.</td><td> </td><td class="right">      to be used in either.</td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="left">   See also Section 5.2.3.</td><td> </td><td class="right">   See also Section 5.2.3.</td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
581      <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>
582      <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>
584      <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>
585      <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>
586      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
587      <tr><td class="lineno" valign="top"></td><td class="left">   +------------------------+----------------------------------+</td><td> </td><td class="right">   +------------------------+----------------------------------+</td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="left">   | Cache Directive        | Reference                        |</td><td> </td><td class="right">   | Cache Directive        | Reference                        |</td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="left">   +------------------------+----------------------------------+</td><td> </td><td class="right">   +------------------------+----------------------------------+</td><td class="lineno" valign="top"></td></tr>
590      <tr><td class="lineno" valign="top"></td><td class="left">   | max-age                | Section 5.2.1.1, Section 5.2.2.8 |</td><td> </td><td class="right">   | max-age                | Section 5.2.1.1, Section 5.2.2.8 |</td><td class="lineno" valign="top"></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="left">   | max-stale              | Section 5.2.1.2                  |</td><td> </td><td class="right">   | max-stale              | Section 5.2.1.2                  |</td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="left">   | min-fresh              | Section 5.2.1.3                  |</td><td> </td><td class="right">   | min-fresh              | Section 5.2.1.3                  |</td><td class="lineno" valign="top"></td></tr>
593      <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>
594      <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>
595      <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 33, line 26</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 33, line 26</em></th><td></td></tr>
597      <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>
598      <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>
599      <tr><td class="lineno" valign="top"></td><td class="left">   | public                 | Section 5.2.2.5                  |</td><td> </td><td class="right">   | public                 | Section 5.2.2.5                  |</td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="left">   | s-maxage               | Section 5.2.2.9                  |</td><td> </td><td class="right">   | s-maxage               | Section 5.2.2.9                  |</td><td class="lineno" valign="top"></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="left">   | stale-if-error         | [RFC5861], Section 4             |</td><td> </td><td class="right">   | stale-if-error         | [RFC5861], Section 4             |</td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="left">   | stale-while-revalidate | [RFC5861], Section 3             |</td><td> </td><td class="right">   | stale-while-revalidate | [RFC5861], Section 3             |</td><td class="lineno" valign="top"></td></tr>
603      <tr><td class="lineno" valign="top"></td><td class="left">   +------------------------+----------------------------------+</td><td> </td><td class="right">   +------------------------+----------------------------------+</td><td class="lineno" valign="top"></td></tr>
604      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
605      <tr><td 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>
606      <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</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>
609      <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>
610      <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>
611      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
612      <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>
613      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left">   A registration MUST include the following fields:</td><td> </td><td class="right">   A registration MUST include the following fields:</td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno" valign="top"></td><td class="left">   o  Warn Code (3 digits)</td><td> </td><td class="right">   o  Warn Code (3 digits)</td><td class="lineno" valign="top"></td></tr>
617      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="left">   o  Short Description</td><td> </td><td class="right">   o  Short Description</td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
620      <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>
621      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
622      <tr><td><a name="diff0035" /></td></tr>
623      <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>
624      <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>
625      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
626      <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>
627      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
628      <tr><td><a name="diff0036" /></td></tr>
629      <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>
630      <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>
631      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">   | Warn Code | Short Description                | Reference     |</td><td> </td><td class="right">   | Warn Code | Short Description                | Reference     |</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="left">   | 110       | Response is Stale                | Section 5.5.1 |</td><td> </td><td class="right">   | 110       | Response is Stale                | Section 5.5.1 |</td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left">   | 111       | Revalidation Failed              | Section 5.5.2 |</td><td> </td><td class="right">   | 111       | Revalidation Failed              | Section 5.5.2 |</td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left">   | 112       | Disconnected Operation           | Section 5.5.3 |</td><td> </td><td class="right">   | 112       | Disconnected Operation           | Section 5.5.3 |</td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left">   | 113       | Heuristic Expiration             | Section 5.5.4 |</td><td> </td><td class="right">   | 113       | Heuristic Expiration             | Section 5.5.4 |</td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left">   | 199       | Miscellaneous Warning            | Section 5.5.5 |</td><td> </td><td class="right">   | 199       | Miscellaneous Warning            | Section 5.5.5 |</td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="left">   | 214       | Transformation Applied           | Section 5.5.6 |</td><td> </td><td class="right">   | 214       | Transformation Applied           | Section 5.5.6 |</td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="left">   | 299       | Miscellaneous Persistent Warning | Section 5.5.7 |</td><td> </td><td class="right">   | 299       | Miscellaneous Persistent Warning | Section 5.5.7 |</td><td class="lineno" valign="top"></td></tr>
642      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
643      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
644      <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>
645      <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="diff0037" /></td></tr>
647      <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>
648      <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>
649      <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>
650      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
651      <tr><td><a name="diff0038" /></td></tr>
652      <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>
653      <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>
654      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">accordingly</span> (see <span class="delete">[BCP90]).</span></td><td> </td><td class="rblock"><span class="insert">   permanent registrations below</span> (see <span class="insert">[BCP90]):</span></td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="left">   | Header Field Name | Protocol | Status   | Reference   |</td><td> </td><td class="right">   | Header Field Name | Protocol | Status   | Reference   |</td><td class="lineno" valign="top"></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="left">   | Age               | http     | standard | Section 5.1 |</td><td> </td><td class="right">   | Age               | http     | standard | Section 5.1 |</td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="left">   | Cache-Control     | http     | standard | Section 5.2 |</td><td> </td><td class="right">   | Cache-Control     | http     | standard | Section 5.2 |</td><td class="lineno" valign="top"></td></tr>
661      <tr><td class="lineno" valign="top"></td><td class="left">   | Expires           | http     | standard | Section 5.3 |</td><td> </td><td class="right">   | Expires           | http     | standard | Section 5.3 |</td><td class="lineno" valign="top"></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="left">   | Pragma            | http     | standard | Section 5.4 |</td><td> </td><td class="right">   | Pragma            | http     | standard | Section 5.4 |</td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left">   | Warning           | http     | standard | Section 5.5 |</td><td> </td><td class="right">   | Warning           | http     | standard | Section 5.5 |</td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
665      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
666      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 35, line 48</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 35, line 48</em></th><td></td></tr>
667      <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>
668      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
669      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td> </td><td class="right">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td> </td><td class="right">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
672      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td> </td><td class="right">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td class="lineno" valign="top"></td></tr>
673      <tr><td class="lineno" valign="top"></td><td class="left">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr>
674      <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 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>
676      <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>
677      <tr><td><a name="diff0039" /></td></tr>
678      <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>
679      <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>
680      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
681      <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>
682      <tr><td><a name="diff0040" /></td></tr>
683      <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>
684      <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>
685      <tr><td class="lineno" valign="top"></td><td class="left">              May 2014.</td><td> </td><td class="right">              May 2014.</td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
687      <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>
688      <tr><td><a name="diff0041" /></td></tr>
689      <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>
690      <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>
691      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              progress),</span> May 2014.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
693      <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>
694      <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>
695      <tr><td><a name="diff0042" /></td></tr>
696      <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>
697      <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>
698      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
699      <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>
700      <tr><td><a name="diff0043" /></td></tr>
701      <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>
702      <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>
703      <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>
704      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
705      <tr><td class="lineno" valign="top"></td><td class="left">10.2.  Informative References</td><td> </td><td class="right">10.2.  Informative References</td><td class="lineno" valign="top"></td></tr>
706      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
707      <tr><td class="lineno" valign="top"></td><td class="left">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td> </td><td class="right">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td class="lineno" valign="top"></td></tr>
708      <tr><td class="lineno" valign="top"></td><td class="left">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td> </td><td class="right">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left">              September 2004.</td><td> </td><td class="right">              September 2004.</td><td class="lineno" valign="top"></td></tr>
710      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
711      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
712      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td> </td><td class="right">              Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext</td><td class="lineno" valign="top"></td></tr>
713      <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>
714      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
715      <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 37, line 9</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 37, line 4</em></th><td></td></tr>
716      <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>
717      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
718      <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>
719      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
720      <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>
721      <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>
722      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
723      <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>
724      <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>
725      <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>
726      <tr><td><a name="diff0044" /></td></tr>
727      <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>
728      <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>
729      <tr><td><a name="diff0045" /></td></tr>
730      <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>
731      <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>
732      <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>
733      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
734      <tr><td class="lineno" valign="top"></td><td class="left">   The Content-Location response header field is no longer used to</td><td> </td><td class="right">   The Content-Location response header field is no longer used to</td><td class="lineno" valign="top"></td></tr>
735      <tr><td class="lineno" valign="top"></td><td class="left">   determine the appropriate response to use when validating.</td><td> </td><td class="right">   determine the appropriate response to use when validating.</td><td class="lineno" valign="top"></td></tr>
736      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.3)</td><td> </td><td class="right">   (Section 4.3)</td><td class="lineno" valign="top"></td></tr>
737      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
738      <tr><td class="lineno" valign="top"></td><td class="left">   The algorithm for selecting a cached negotiated response to use has</td><td> </td><td class="right">   The algorithm for selecting a cached negotiated response to use has</td><td class="lineno" valign="top"></td></tr>
739      <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>
740      <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>
741      <tr><td><a name="diff0046" /></td></tr>
742      <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>
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">   Requirements regarding denial-of-service attack avoidance when</td><td> </td><td class="right">   Requirements regarding denial-of-service attack avoidance when</td><td class="lineno" valign="top"></td></tr>
745      <tr><td class="lineno" valign="top"></td><td class="left">   performing invalidation have been clarified.  (Section 4.4)</td><td> </td><td class="right">   performing invalidation have been clarified.  (Section 4.4)</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">   Cache invalidation only occurs when a successful response is</td><td> </td><td class="right">   Cache invalidation only occurs when a successful response is</td><td class="lineno" valign="top"></td></tr>
748      <tr><td class="lineno" valign="top"></td><td class="left">   received.  (Section 4.4)</td><td> </td><td class="right">   received.  (Section 4.4)</td><td class="lineno" valign="top"></td></tr>
749      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
750      <tr><td class="lineno" valign="top"></td><td class="left">   Cache directives are explicitly defined to be case-insensitive.</td><td> </td><td class="right">   Cache directives are explicitly defined to be case-insensitive.</td><td class="lineno" valign="top"></td></tr>
751      <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>
752      <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>
753      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
754      <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>
755      <tr><td><a name="diff0047" /></td></tr>
756      <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>
757      <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>
758      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
759      <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>
760      <tr><td><a name="diff0048" /></td></tr>
761      <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>
762      <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>
763      <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>
764      <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>
765      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
766      <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>
767      <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>
768      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
769      <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>
770      <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>
771      <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>
772      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
773      <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>
774      <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>
775      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
776      <tr><td class="lineno" valign="top"></td><td class="left">   Some requirements regarding production and processing of the Warning</td><td> </td><td class="right">   Some requirements regarding production and processing of the Warning</td><td class="lineno" valign="top"></td></tr>
777      <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>
778      <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>
779      <tr><td><a name="diff0049" /></td></tr>
780      <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>
781      <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>
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">   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>
784      <tr><td><a name="diff0050" /></td></tr>
785      <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>
786      <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>
787      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
788      <tr><td class="lineno" valign="top"></td><td class="left">Appendix B.  Imported ABNF</td><td> </td><td class="right">Appendix B.  Imported ABNF</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 following core rules are included by reference, as defined in</td><td> </td><td class="right">   The following core rules are included by reference, as defined in</td><td class="lineno" valign="top"></td></tr>
791      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td> </td><td class="right">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td class="lineno" valign="top"></td></tr>
792      <tr><td class="lineno" valign="top"></td><td class="left">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td> </td><td class="right">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td class="lineno" valign="top"></td></tr>
793      <tr><td class="lineno" valign="top"></td><td class="left">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td> </td><td class="right">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td class="lineno" valign="top"></td></tr>
794      <tr><td class="lineno" valign="top"></td><td class="left">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
795      <tr><td class="lineno" valign="top"></td><td class="left">   character).</td><td> </td><td class="right">   character).</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>
797
798     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
799     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 50 change blocks.&nbsp;</a></th></tr>
800     <tr class="stats"><td></td><th><i>104 lines changed or deleted</i></th><th><i> </i></th><th><i>81 lines changed or added</i></th><td></td></tr>
801     <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>
802   </table>
803   </body>
804   </html>
Note: See TracBrowser for help on using the repository browser.