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

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

update AUTH48 versions (#553)

  • Property svn:eol-style set to native
File size: 146.7 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.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.txt&nbsp;</th><th></th></tr>
39      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
40      <tr bgcolor="gray" ><td></td><th><a name="part-l1" /><small>skipping to change at</small><em> page 1, line 21</em></th><th> </th><th><a name="part-r1" /><small>skipping to change at</small><em> page 1, line 21</em></th><td></td></tr>
41      <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>
42      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
43      <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>
44      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
45      <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>
46      <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>
47      <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>
48      <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>
49      <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>
50      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
51      <tr><td><a name="diff0001" /></td></tr>
52      <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>
53      <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>
54      <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>
55      <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>
56      <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>
57      <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>
58      <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>
59      <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>
60      <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>
61      <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>
62      <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>
63      <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>
64      <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>
65      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
66      <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>
67      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="left">   This is an Internet Standards Track document.</td><td> </td><td class="right">   This is an Internet Standards Track document.</td><td class="lineno" valign="top"></td></tr>
69      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
70      <tr><td class="lineno" valign="top"></td><td class="left">   This document is a product of the Internet Engineering Task Force</td><td> </td><td class="right">   This document is a product of the Internet Engineering Task Force</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   (IETF).  It represents the consensus of the IETF community.  It has</td><td> </td><td class="right">   (IETF).  It represents the consensus of the IETF community.  It has</td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left">   received public review and has been approved for publication by the</td><td> </td><td class="right">   received public review and has been approved for publication by the</td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="left">   Internet Engineering Steering Group (IESG).  Further information on</td><td> </td><td class="right">   Internet Engineering Steering Group (IESG).  Further information on</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left">   Internet Standards is available in Section 2 of RFC 5741.</td><td> </td><td class="right">   Internet Standards is available in Section 2 of RFC 5741.</td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
77      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 2, line 31</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 2, line 34</em></th><td></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left">   modifications of such material outside the IETF Standards Process.</td><td> </td><td class="right">   modifications of such material outside the IETF Standards Process.</td><td class="lineno" valign="top"></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left">   Without obtaining an adequate license from the person(s) controlling</td><td> </td><td class="right">   Without obtaining an adequate license from the person(s) controlling</td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left">   the copyright in such materials, this document may not be modified</td><td> </td><td class="right">   the copyright in such materials, this document may not be modified</td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   outside the IETF Standards Process, and derivative works of it may</td><td> </td><td class="right">   outside the IETF Standards Process, and derivative works of it may</td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left">   not be created outside the IETF Standards Process, except to format</td><td> </td><td class="right">   not be created outside the IETF Standards Process, except to format</td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   it for publication as an RFC or to translate it into languages other</td><td> </td><td class="right">   it for publication as an RFC or to translate it into languages other</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left">   than English.</td><td> </td><td class="right">   than English.</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left">Table of Contents</td><td> </td><td class="right">Table of Contents</td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
88      <tr><td><a name="diff0002" /></td></tr>
89      <tr><td class="lineno" valign="top"></td><td class="lblock">   1.  Introduction <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . .  4</span></td><td> </td><td class="rblock">   1. Introduction <span class="insert">....................................................4</span></td><td class="lineno" valign="top"></td></tr>
90      <tr><td class="lineno" valign="top"></td><td class="lblock">     1.1.  Conformance and Error Handling <span class="delete">. . . . . . . . . . . . . .  4</span></td><td> </td><td class="rblock">      1.1. Conformance and Error Handling <span class="insert">.............................4</span></td><td class="lineno" valign="top"></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="lblock">     1.2.  Syntax Notation  <span class="delete">. . . . . . . . . . . . . . . . . . . . .  4</span></td><td> </td><td class="rblock">      1.2. Syntax Notation <span class="insert">............................................4</span></td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="lblock">       1.2.1.  Delta Seconds  <span class="delete">. . . . . . . . . . . . . . . . . . . .  5</span></td><td> </td><td class="rblock">           1.2.1. Delta Seconds <span class="insert">.......................................5</span></td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="lblock">   2.  Overview of Cache Operation  <span class="delete">. . . . . . . . . . . . . . . . .  5</span></td><td> </td><td class="rblock">   2. Overview of Cache Operation <span class="insert">.....................................5</span></td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="lblock">   3.  Storing Responses in Caches  <span class="delete">. . . . . . . . . . . . . . . . .  6</span></td><td> </td><td class="rblock">   3. Storing Responses in Caches <span class="insert">.....................................6</span></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.1.  Storing Incomplete Responses <span class="delete">. . . . . . . . . . . . . . .  7</span></td><td> </td><td class="rblock">      3.1. Storing Incomplete Responses <span class="insert">...............................7</span></td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.2.  Storing Responses to Authenticated Requests  <span class="delete">. . . . . . .  7</span></td><td> </td><td class="rblock">      3.2. Storing Responses to Authenticated Requests <span class="insert">................7</span></td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.3.  Combining Partial Content  <span class="delete">. . . . . . . . . . . . . . . .  8</span></td><td> </td><td class="rblock">      3.3. Combining Partial Content <span class="insert">..................................8</span></td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.  Constructing Responses from Caches <span class="delete">. . . . . . . . . . . . . .  8</span></td><td> </td><td class="rblock">   4. Constructing Responses from Caches <span class="insert">..............................8</span></td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.1.  Calculating Secondary Keys with Vary <span class="delete">. . . . . . . . . . .  9</span></td><td> </td><td class="rblock">      4.1. Calculating Secondary Keys with Vary <span class="insert">.......................9</span></td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.2.  Freshness  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . 10</span></td><td> </td><td class="rblock">      4.2. Freshness <span class="insert">.................................................11</span></td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.2.1.  Calculating Freshness Lifetime <span class="delete">. . . . . . . . . . . . 12</span></td><td> </td><td class="rblock">           4.2.1. Calculating Freshness Lifetime <span class="insert">.....................12</span></td><td class="lineno" valign="top"></td></tr>
102      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.2.2.  Calculating Heuristic Freshness  <span class="delete">. . . . . . . . . . . 12</span></td><td> </td><td class="rblock">           4.2.2. Calculating Heuristic Freshness <span class="insert">....................13</span></td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.2.3.  Calculating Age  <span class="delete">. . . . . . . . . . . . . . . . . . . 13</span></td><td> </td><td class="rblock">           4.2.3. Calculating Age <span class="insert">....................................13</span></td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.2.4.  Serving Stale Responses  <span class="delete">. . . . . . . . . . . . . . . 15</span></td><td> </td><td class="rblock">           4.2.4. Serving Stale Responses <span class="insert">............................15</span></td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.3.  Validation <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . 15</span></td><td> </td><td class="rblock">      4.3. Validation <span class="insert">................................................16</span></td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.3.1.  Sending a Validation Request <span class="delete">. . . . . . . . . . . . . 15</span></td><td> </td><td class="rblock">           4.3.1. Sending a Validation Request <span class="insert">.......................16</span></td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.3.2.  Handling a Received Validation Request <span class="delete">. . . . . . . . 16</span></td><td> </td><td class="rblock">           4.3.2. Handling a Received Validation Request <span class="insert">.............16</span></td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.3.3.  Handling a Validation Response <span class="delete">. . . . . . . . . . . . 17</span></td><td> </td><td class="rblock">           4.3.3. Handling a Validation Response <span class="insert">.....................18</span></td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.3.4.  Freshening Stored Responses upon Validation  <span class="delete">. . . . . 18</span></td><td> </td><td class="rblock">           4.3.4. Freshening Stored Responses upon Validation <span class="insert">........18</span></td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.3.5.  Freshening Responses via HEAD  <span class="delete">. . . . . . . . . . . . 19</span></td><td> </td><td class="rblock">           4.3.5. Freshening Responses via HEAD <span class="insert">......................19</span></td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.4.  Invalidation <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . 19</span></td><td> </td><td class="rblock">      4.4. Invalidation <span class="insert">..............................................20</span></td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="lblock">   5.  Header Field Definitions <span class="delete">. . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock">   5. Header Field Definitions <span class="insert">.......................................21</span></td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.1.  Age  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . . . 20</span></td><td> </td><td class="rblock">      5.1. Age <span class="insert">.......................................................21</span></td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.2.  Cache-Control  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . 21</span></td><td> </td><td class="rblock">      5.2. Cache-Control <span class="insert">.............................................21</span></td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.2.1.  Request Cache-Control Directives <span class="delete">. . . . . . . . . . . 21</span></td><td> </td><td class="rblock">           5.2.1. Request Cache-Control Directives <span class="insert">...................22</span></td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.2.2.  Response Cache-Control Directives  <span class="delete">. . . . . . . . . . 23</span></td><td> </td><td class="rblock">           5.2.2. Response Cache-Control Directives <span class="insert">..................24</span></td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.2.3.  Cache Control Extensions <span class="delete">. . . . . . . . . . . . . . . 26</span></td><td> </td><td class="rblock">           5.2.3. Cache Control Extensions <span class="insert">...........................27</span></td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.3.  Expires  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . 27</span></td><td> </td><td class="rblock">      5.3. Expires <span class="insert">...................................................28</span></td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.4.  Pragma <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . . 28</span></td><td> </td><td class="rblock">      5.4. Pragma <span class="insert">....................................................29</span></td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="lblock">     5.5.  Warning  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . 29</span></td><td> </td><td class="rblock">      5.5. Warning <span class="insert">...................................................29</span></td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.1.  Warning: 110 - "Response is Stale" <span class="delete">. . . . . . . . . . 30</span></td><td> </td><td class="rblock">           5.5.1. Warning: 110 - "Response is Stale" <span class="insert">.................31</span></td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.2.  Warning: 111 - "Revalidation Failed" <span class="delete">. . . . . . . . . 31</span></td><td> </td><td class="rblock">           5.5.2. Warning: 111 - "Revalidation Failed" <span class="insert">...............31</span></td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.3.  Warning: 112 - "Disconnected Operation"  <span class="delete">. . . . . . . 31</span></td><td> </td><td class="rblock">           5.5.3. Warning: 112 - "Disconnected Operation" <span class="insert">............31</span></td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.4.  Warning: 113 - "Heuristic Expiration"  <span class="delete">. . . . . . . . 31</span></td><td> </td><td class="rblock">           5.5.4. Warning: 113 - "Heuristic Expiration" <span class="insert">..............31</span></td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.5.  Warning: 199 - "Miscellaneous Warning" <span class="delete">. . . . . . . . 31</span></td><td> </td><td class="rblock">           5.5.5. Warning: 199 - "Miscellaneous Warning" <span class="insert">.............32</span></td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.6.  Warning: 214 - "Transformation Applied"  <span class="delete">. . . . . . . 31</span></td><td> </td><td class="rblock">           5.5.6. Warning: 214 - "Transformation Applied" <span class="insert">............32</span></td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"  <span class="delete">. . 31</span></td><td> </td><td class="rblock">           5.5.7. Warning: 299 - "Miscellaneous Persistent Warning" <span class="insert">..32</span></td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="lblock">   6.  History Lists  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . 31</span></td><td> </td><td class="rblock">   6. History Lists <span class="insert">..................................................32</span></td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="lblock">   7.  IANA Considerations  <span class="delete">. . . . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock">   7. IANA Considerations <span class="insert">............................................32</span></td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.1.  Cache Directive Registry <span class="delete">. . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock">      7.1. Cache Directive Registry <span class="insert">..................................32</span></td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.1.1.  Procedure  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock">           7.1.1. Procedure <span class="insert">..........................................32</span></td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.1.2.  Considerations for New Cache Control Directives  <span class="delete">. . . 32</span></td><td> </td><td class="rblock">           7.1.2. Considerations for New Cache Control Directives <span class="insert">....33</span></td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.1.3.  Registrations  <span class="delete">. . . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock">           7.1.3. Registrations <span class="insert">......................................33</span></td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.2.  Warn Code Registry <span class="delete">. . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock">      7.2. Warn Code Registry <span class="insert">........................................34</span></td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.2.1.  Procedure  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock">           7.2.1. Procedure <span class="insert">..........................................34</span></td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.2.2.  Registrations  <span class="delete">. . . . . . . . . . . . . . . . . . . . 33</span></td><td> </td><td class="rblock">           7.2.2. Registrations <span class="insert">......................................34</span></td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.3.  Header Field Registration  <span class="delete">. . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock">      7.3. Header Field Registration <span class="insert">.................................34</span></td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="lblock">   8.  Security Considerations  <span class="delete">. . . . . . . . . . . . . . . . . . . 34</span></td><td> </td><td class="rblock">   8. Security Considerations <span class="insert">........................................35</span></td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock">   9.  Acknowledgments  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . 35</span></td><td> </td><td class="rblock">   9. Acknowledgments <span class="insert">................................................36</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="lblock">   10. References <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . . 35</span></td><td> </td><td class="rblock">   10. References <span class="insert">....................................................36</span></td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="lblock">     10.1. Normative References <span class="delete">. . . . . . . . . . . . . . . . . . . 35</span></td><td> </td><td class="rblock">      10.1. Normative References <span class="insert">.....................................36</span></td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="lblock">     10.2. Informative References <span class="delete">. . . . . . . . . . . . . . . . . . 36</span></td><td> </td><td class="rblock">      10.2. Informative References <span class="insert">...................................37</span></td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix A.  Changes from RFC 2616 <span class="delete">. . . . . . . . . . . . . . . . 36</span></td><td> </td><td class="rblock">   Appendix A. Changes from RFC 2616 <span class="insert">.................................38</span></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix B.  Imported ABNF <span class="delete">. . . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock">   Appendix B. Imported ABNF <span class="insert">.........................................39</span></td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix C.  Collected ABNF  <span class="delete">. . . . . . . . . . . . . . . . . . . 38</span></td><td> </td><td class="rblock">   Appendix C. Collected ABNF <span class="insert">........................................39</span></td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="lblock">   Index  <span class="delete">. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39</span></td><td> </td><td class="rblock">   Index <span class="insert">.............................................................41</span></td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP is typically used for distributed information systems, where</td><td> </td><td class="right">   HTTP is typically used for distributed information systems, where</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="left">   performance can be improved by the use of response caches.  This</td><td> </td><td class="right">   performance can be improved by the use of response caches.  This</td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">   document defines aspects of HTTP/1.1 related to caching and reusing</td><td> </td><td class="right">   document defines aspects of HTTP/1.1 related to caching and reusing</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left">   response messages.</td><td> </td><td class="right">   response messages.</td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left">   An HTTP cache is a local store of response messages and the subsystem</td><td> </td><td class="right">   An HTTP cache is a local store of response messages and the subsystem</td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="left">   that controls storage, retrieval, and deletion of messages in it.  A</td><td> </td><td class="right">   that controls storage, retrieval, and deletion of messages in it.  A</td><td class="lineno" valign="top"></td></tr>
157      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
158      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 5, line 14</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 5, line 16</em></th><td></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="left">   operators expanded to standard ABNF notation.</td><td> </td><td class="right">   operators expanded to standard ABNF notation.</td><td class="lineno" valign="top"></td></tr>
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">1.2.1.  Delta Seconds</td><td> </td><td class="right">1.2.1.  Delta Seconds</td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">   The delta-seconds rule specifies a non-negative integer, representing</td><td> </td><td class="right">   The delta-seconds rule specifies a non-negative integer, representing</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">   time in seconds.</td><td> </td><td class="right">   time in seconds.</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">     delta-seconds  = 1*DIGIT</td><td> </td><td class="right">     delta-seconds  = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient parsing a delta-seconds value and converting it to binary</td><td> </td><td class="right">   A recipient parsing a delta-seconds value and converting it to binary</td><td class="lineno" valign="top"></td></tr>
169      <tr><td><a name="diff0003" /></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="lblock">   form ought to use an arithmetic type of at least 31 bits of <span class="delete">non-</span></td><td> </td><td class="rblock">   form ought to use an arithmetic type of at least 31 bits of</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   negative</span> integer range.  If a cache receives a delta-seconds value</td><td> </td><td class="rblock">   <span class="insert">non-negative</span> integer range.  If a cache receives a delta-seconds</td><td class="lineno" valign="top"></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="lblock">   greater than the greatest integer it can represent, or if any of its</td><td> </td><td class="rblock">   value greater than the greatest integer it can represent, or if any</td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock">   subsequent calculations overflows, the cache MUST consider the value</td><td> </td><td class="rblock">   of its subsequent calculations overflows, the cache MUST consider the</td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="lblock">   to be either 2147483648 (2^31) or the greatest positive integer it</td><td> </td><td class="rblock">   value to be either 2147483648 (2^31) or the greatest positive integer</td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="lblock">   can conveniently represent.</td><td> </td><td class="rblock">   it can conveniently represent.</td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left">      Note: The value 2147483648 is here for historical reasons,</td><td> </td><td class="right">      Note: The value 2147483648 is here for historical reasons,</td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">      effectively represents infinity (over 68 years), and does not need</td><td> </td><td class="right">      effectively represents infinity (over 68 years), and does not need</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left">      to be stored in binary form; an implementation could produce it as</td><td> </td><td class="right">      to be stored in binary form; an implementation could produce it as</td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">      a canned string if any overflow occurs, even if the calculations</td><td> </td><td class="right">      a canned string if any overflow occurs, even if the calculations</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">      are performed with an arithmetic type incapable of directly</td><td> </td><td class="right">      are performed with an arithmetic type incapable of directly</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left">      representing that number.  What matters here is that an overflow</td><td> </td><td class="right">      representing that number.  What matters here is that an overflow</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">      be detected and not treated as a negative value in later</td><td> </td><td class="right">      be detected and not treated as a negative value in later</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno" valign="top"></td><td class="left">      calculations.</td><td> </td><td class="right">      calculations.</td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
186      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
187      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 8, line 23</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 8, line 26</em></th><td></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left">   Range specifiers ([RFC7233]).  After several such transfers, a cache</td><td> </td><td class="right">   Range specifiers ([RFC7233]).  After several such transfers, a cache</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left">   might have received several ranges of the same representation.  A</td><td> </td><td class="right">   might have received several ranges of the same representation.  A</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">   cache MAY combine these ranges into a single stored response, and</td><td> </td><td class="right">   cache MAY combine these ranges into a single stored response, and</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">   reuse that response to satisfy later requests, if they all share the</td><td> </td><td class="right">   reuse that response to satisfy later requests, if they all share the</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">   same strong validator and the cache complies with the client</td><td> </td><td class="right">   same strong validator and the cache complies with the client</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">   requirements in Section 4.3 of [RFC7233].</td><td> </td><td class="right">   requirements in Section 4.3 of [RFC7233].</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   When combining the new response with one or more stored responses, a</td><td> </td><td class="right">   When combining the new response with one or more stored responses, a</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST:</td><td> </td><td class="right">   cache MUST:</td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
198      <tr><td><a name="diff0004" /></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
202      <tr><td><a name="diff0005" /></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the new response, aside from</td><td> </td><td class="right">   o  use other header fields provided in the new response, aside from</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Range, to replace all instances of the corresponding</td><td> </td><td class="right">      Content-Range, to replace all instances of the corresponding</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left">      header fields in the stored response.</td><td> </td><td class="right">      header fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left">4.  Constructing Responses from Caches</td><td> </td><td class="right">4.  Constructing Responses from Caches</td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">   When presented with a request, a cache MUST NOT reuse a stored</td><td> </td><td class="right">   When presented with a request, a cache MUST NOT reuse a stored</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="left">   response, unless:</td><td> </td><td class="right">   response, unless:</td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
216      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 11, line 41</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 8</em></th><td></td></tr>
217      <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>
218      <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>
219      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
220      <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>
221      <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>
222      <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>
223      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="left">   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>
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" 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>
227      <tr><td><a name="diff0006" /></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="lblock">      cache recipient SHOULD match day, week, and time-zone names <span class="delete">case-</span></td><td> </td><td class="rblock">      cache recipient SHOULD match day, week, and time-zone names</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      insensitively.</span></td><td> </td><td class="rblock">      <span class="insert">case-insensitively.</span></td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
231      <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>
232      <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>
233      <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>
234      <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>
235      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">   o  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>
237      <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>
238      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">   o  A cache recipient SHOULD consider a date with a zone abbreviation</td><td> </td><td class="right">   o  A cache recipient SHOULD consider a date with a zone abbreviation</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
241      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 15, line 22</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 15, line 40</em></th><td></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   according to the calculations in Section 4.2.</td><td> </td><td class="right">   according to the calculations in Section 4.2.</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT generate a stale response if it is prohibited by an</td><td> </td><td class="right">   A cache MUST NOT generate a stale response if it is prohibited by an</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td> </td><td class="right">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td> </td><td class="right">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left">   applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td> </td><td class="right">   applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left">   see Section 5.2.2).</td><td> </td><td class="right">   see Section 5.2.2).</td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT send stale responses unless it is disconnected</td><td> </td><td class="right">   A cache MUST NOT send stale responses unless it is disconnected</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">   (i.e., it cannot contact the origin server or otherwise find a</td><td> </td><td class="right">   (i.e., it cannot contact the origin server or otherwise find a</td><td class="lineno" valign="top"></td></tr>
252      <tr><td><a name="diff0007" /></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="lblock">   forward path) or doing so is explicitly allowed (e.g., by the <span class="delete">max-</span></td><td> </td><td class="rblock">   forward path) or doing so is explicitly allowed (e.g., by the</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   stale</span> request directive; see Section 5.2.1).</td><td> </td><td class="rblock">   <span class="insert">max-stale</span> request directive; see Section 5.2.1).</td><td class="lineno" valign="top"></td></tr>
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">   A cache SHOULD generate a Warning header field with the 110 warn-code</td><td> </td><td class="right">   A cache SHOULD generate a Warning header field with the 110 warn-code</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">   (see Section 5.5.1) in stale responses.  Likewise, a cache SHOULD</td><td> </td><td class="right">   (see Section 5.5.1) in stale responses.  Likewise, a cache SHOULD</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">   generate a 112 warn-code (see Section 5.5.3) in stale responses if</td><td> </td><td class="right">   generate a 112 warn-code (see Section 5.5.3) in stale responses if</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   the cache is disconnected.</td><td> </td><td class="right">   the cache is disconnected.</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">   A cache SHOULD NOT generate a new Warning header field when</td><td> </td><td class="right">   A cache SHOULD NOT generate a new Warning header field when</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left">   forwarding a response that does not have an Age header field, even if</td><td> </td><td class="right">   forwarding a response that does not have an Age header field, even if</td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">   the response is already stale.  A cache need not validate a response</td><td> </td><td class="right">   the response is already stale.  A cache need not validate a response</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left">   that merely became stale in transit.</td><td> </td><td class="right">   that merely became stale in transit.</td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
266      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 16, line 6</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 16, line 25</em></th><td></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left">4.3.1.  Sending a Validation Request</td><td> </td><td class="right">4.3.1.  Sending a Validation Request</td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   When sending a conditional request for cache validation, a cache</td><td> </td><td class="right">   When sending a conditional request for cache validation, a cache</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">   sends one or more precondition header fields containing validator</td><td> </td><td class="right">   sends one or more precondition header fields containing validator</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left">   metadata from its stored response(s), which is then compared by</td><td> </td><td class="right">   metadata from its stored response(s), which is then compared by</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left">   recipients to determine whether a stored response is equivalent to a</td><td> </td><td class="right">   recipients to determine whether a stored response is equivalent to a</td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left">   current representation of the resource.</td><td> </td><td class="right">   current representation of the resource.</td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">   One such validator is the timestamp given in a Last-Modified header</td><td> </td><td class="right">   One such validator is the timestamp given in a Last-Modified header</td><td class="lineno" valign="top"></td></tr>
277      <tr><td><a name="diff0008" /></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="lblock">   field (Section 2.2 of [RFC7232]), which can be used in an <span class="delete">If-</span></td><td> </td><td class="rblock">   field (Section 2.2 of [RFC7232]), which can be used in an</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified-Since</span> header field for response validation, or in an <span class="delete">If-</span></td><td> </td><td class="rblock">   <span class="insert">If-Modified-Since</span> header field for response validation, or in an</td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Unmodified-Since</span> or If-Range header field for representation</td><td> </td><td class="rblock">   <span class="insert">If-Unmodified-Since</span> or If-Range header field for representation</td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left">   selection (i.e., the client is referring specifically to a previously</td><td> </td><td class="right">   selection (i.e., the client is referring specifically to a previously</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   obtained representation with that timestamp).</td><td> </td><td class="right">   obtained representation with that timestamp).</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   Another validator is the entity-tag given in an ETag header field</td><td> </td><td class="right">   Another validator is the entity-tag given in an ETag header field</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 2.3 of [RFC7232]).  One or more entity-tags, indicating one</td><td> </td><td class="right">   (Section 2.3 of [RFC7232]).  One or more entity-tags, indicating one</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">   or more stored responses, can be used in an If-None-Match header</td><td> </td><td class="right">   or more stored responses, can be used in an If-None-Match header</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">   field for response validation, or in an If-Match or If-Range header</td><td> </td><td class="right">   field for response validation, or in an If-Match or If-Range header</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left">   field for representation selection (i.e., the client is referring</td><td> </td><td class="right">   field for representation selection (i.e., the client is referring</td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left">   specifically to one or more previously obtained representations with</td><td> </td><td class="right">   specifically to one or more previously obtained representations with</td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   the listed entity-tags).</td><td> </td><td class="right">   the listed entity-tags).</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
292      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 16, line 42</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 17, line 12</em></th><td></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   received in that request with respect to the corresponding validators</td><td> </td><td class="right">   received in that request with respect to the corresponding validators</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   contained within the selected response.  A cache MUST NOT evaluate</td><td> </td><td class="right">   contained within the selected response.  A cache MUST NOT evaluate</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   conditional header fields that are only applicable to an origin</td><td> </td><td class="right">   conditional header fields that are only applicable to an origin</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left">   server, found in a request with semantics that cannot be satisfied</td><td> </td><td class="right">   server, found in a request with semantics that cannot be satisfied</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">   with a cached response, or applied to a target resource for which it</td><td> </td><td class="right">   with a cached response, or applied to a target resource for which it</td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left">   has no stored responses; such preconditions are likely intended for</td><td> </td><td class="right">   has no stored responses; such preconditions are likely intended for</td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="left">   some other (inbound) server.</td><td> </td><td class="right">   some other (inbound) server.</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
301      <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>
302      <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>
303      <tr><td><a name="diff0009" /></td></tr>
304      <tr><td class="lineno" valign="top"></td><td class="lblock">   defined in Section 6 of [RFC7232].  The If-Match and <span class="delete">If-Unmodified-</span></td><td> </td><td class="rblock">   defined in Section 6 of [RFC7232].  The If-Match and</td><td class="lineno" valign="top"></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Since</span> conditional header fields are not applicable to a cache.</td><td> </td><td class="rblock">   <span class="insert">If-Unmodified-Since</span> conditional header fields are not applicable to a</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   cache.</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
308      <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>
309      <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>
310      <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>
311      <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>
312      <tr><td class="lineno" valign="top"></td><td class="left">   field-value is a list of entity-tags and at least one of them matches</td><td> </td><td class="right">   field-value is a list of entity-tags and at least one of them matches</td><td class="lineno" valign="top"></td></tr>
313      <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>
314      <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>
315      <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>
316      <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>
317      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
318      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 28</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 17, line 48</em></th><td></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left">   corresponding stored response, as updated by the 304 response</td><td> </td><td class="right">   corresponding stored response, as updated by the 304 response</td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left">   metadata (Section 4.3.4).</td><td> </td><td class="right">   metadata (Section 4.3.4).</td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   If an If-None-Match header field is not present, a request containing</td><td> </td><td class="right">   If an If-None-Match header field is not present, a request containing</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   an If-Modified-Since header field (Section 3.3 of [RFC7232])</td><td> </td><td class="right">   an If-Modified-Since header field (Section 3.3 of [RFC7232])</td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="left">   indicates that the client wants to validate one or more of its own</td><td> </td><td class="right">   indicates that the client wants to validate one or more of its own</td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="left">   stored responses by modification date.  A cache recipient SHOULD</td><td> </td><td class="right">   stored responses by modification date.  A cache recipient SHOULD</td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">   generate a 304 (Not Modified) response (using the metadata of the</td><td> </td><td class="right">   generate a 304 (Not Modified) response (using the metadata of the</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   selected stored response) if one of the following cases is true: 1)</td><td> </td><td class="right">   selected stored response) if one of the following cases is true: 1)</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left">   the selected stored response has a Last-Modified field-value that is</td><td> </td><td class="right">   the selected stored response has a Last-Modified field-value that is</td><td class="lineno" valign="top"></td></tr>
329      <tr><td><a name="diff0010" /></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="lblock">   earlier than or equal to the conditional timestamp; 2) no <span class="delete">Last-</span></td><td> </td><td class="rblock">   earlier than or equal to the conditional timestamp; 2) no</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Modified</span> field is present in the selected stored response, but it has</td><td> </td><td class="rblock">   <span class="insert">Last-Modified</span> field is present in the selected stored response, but</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="lblock">   a Date field-value that is earlier than or equal to the conditional</td><td> </td><td class="rblock">   it has a Date field-value that is earlier than or equal to the</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="lblock">   timestamp; or, 3) neither Last-Modified nor Date is present in the</td><td> </td><td class="rblock">   conditional timestamp; or, 3) neither Last-Modified nor Date is</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="lblock">   selected stored response, but the cache recorded it as having been</td><td> </td><td class="rblock">   present in the selected stored response, but the cache recorded it as</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="lblock">   received at a time earlier than or equal to the conditional</td><td> </td><td class="rblock">   having been received at a time earlier than or equal to the</td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="lblock">   timestamp.</td><td> </td><td class="rblock">   conditional timestamp.</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">   A cache that implements partial responses to range requests, as</td><td> </td><td class="right">   A cache that implements partial responses to range requests, as</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left">   defined in [RFC7233], also needs to evaluate a received If-Range</td><td> </td><td class="right">   defined in [RFC7233], also needs to evaluate a received If-Range</td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="left">   header field (Section 3.2 of [RFC7233]) with respect to its selected</td><td> </td><td class="right">   header field (Section 3.2 of [RFC7233]) with respect to its selected</td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left">   stored response.</td><td> </td><td class="right">   stored response.</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">4.3.3.  Handling a Validation Response</td><td> </td><td class="right">4.3.3.  Handling a Validation Response</td><td class="lineno" valign="top"></td></tr>
344      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">   Cache handling of a response to a conditional request is dependent</td><td> </td><td class="right">   Cache handling of a response to a conditional request is dependent</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">   upon its status code:</td><td> </td><td class="right">   upon its status code:</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
348      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 43</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 19, line 18</em></th><td></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the new response does not include any form of validator (such</td><td> </td><td class="right">   o  If the new response does not include any form of validator (such</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left">      as in the case where a client generates an If-Modified-Since</td><td> </td><td class="right">      as in the case where a client generates an If-Modified-Since</td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">      request from a source other than the Last-Modified response header</td><td> </td><td class="right">      request from a source other than the Last-Modified response header</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">      field), and there is only one stored response, and that stored</td><td> </td><td class="right">      field), and there is only one stored response, and that stored</td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left">      response also lacks a validator, then that stored response is</td><td> </td><td class="right">      response also lacks a validator, then that stored response is</td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left">      selected for update.</td><td> </td><td class="right">      selected for update.</td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">   If a stored response is selected for update, the cache MUST:</td><td> </td><td class="right">   If a stored response is selected for update, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
359      <tr><td><a name="diff0011" /></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
363      <tr><td><a name="diff0012" /></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the 304 (Not Modified)</td><td> </td><td class="right">   o  use other header fields provided in the 304 (Not Modified)</td><td class="lineno" valign="top"></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="left">      response to replace all instances of the corresponding header</td><td> </td><td class="right">      response to replace all instances of the corresponding header</td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="left">      fields in the stored response.</td><td> </td><td class="right">      fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">4.3.5.  Freshening Responses via HEAD</td><td> </td><td class="right">4.3.5.  Freshening Responses via HEAD</td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
373      <tr><td class="lineno" valign="top"></td><td class="left">   A response to the HEAD method is identical to what an equivalent</td><td> </td><td class="right">   A response to the HEAD method is identical to what an equivalent</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">   request made with a GET would have been, except it lacks a body.</td><td> </td><td class="right">   request made with a GET would have been, except it lacks a body.</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">   This property of HEAD responses can be used to invalidate or update a</td><td> </td><td class="right">   This property of HEAD responses can be used to invalidate or update a</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
377      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 23</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 46</em></th><td></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   desired even if it has changed.</td><td> </td><td class="right">   desired even if it has changed.</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   When a cache makes an inbound HEAD request for a given request target</td><td> </td><td class="right">   When a cache makes an inbound HEAD request for a given request target</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">   and receives a 200 (OK) response, the cache SHOULD update or</td><td> </td><td class="right">   and receives a 200 (OK) response, the cache SHOULD update or</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   invalidate each of its stored GET responses that could have been</td><td> </td><td class="right">   invalidate each of its stored GET responses that could have been</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">   selected for that request (see Section 4.1).</td><td> </td><td class="right">   selected for that request (see Section 4.1).</td><td class="lineno" valign="top"></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left">   For each of the stored responses that could have been selected, if</td><td> </td><td class="right">   For each of the stored responses that could have been selected, if</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left">   the stored response and HEAD response have matching values for any</td><td> </td><td class="right">   the stored response and HEAD response have matching values for any</td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td> </td><td class="right">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td class="lineno" valign="top"></td></tr>
388      <tr><td><a name="diff0013" /></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="lblock">   response has a Content-Length header field, the value of <span class="delete">Content-</span></td><td> </td><td class="rblock">   response has a Content-Length header field, the value of</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Length</span> matches that of the stored response, the cache SHOULD update</td><td> </td><td class="rblock">   <span class="insert">Content-Length</span> matches that of the stored response, the cache SHOULD</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="lblock">   the stored response as described below; otherwise, the cache SHOULD</td><td> </td><td class="rblock">   update the stored response as described below; otherwise, the cache</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="lblock">   consider the stored response to be stale.</td><td> </td><td class="rblock">   SHOULD consider the stored response to be stale.</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache updates a stored response with the metadata provided in a</td><td> </td><td class="right">   If a cache updates a stored response with the metadata provided in a</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   HEAD response, the cache MUST:</td><td> </td><td class="right">   HEAD response, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
397      <tr><td><a name="diff0014" /></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  delete any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  delete any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 1xx (see Section 5.5);</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
401      <tr><td><a name="diff0015" /></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  retain any Warning header fields in the stored response with <span class="delete">warn-</span></td><td> </td><td class="rblock">   o  retain any Warning header fields in the stored response with</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      code</span> 2xx; and,</td><td> </td><td class="rblock">      <span class="insert">warn-code</span> 2xx; and,</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the HEAD response to replace</td><td> </td><td class="right">   o  use other header fields provided in the HEAD response to replace</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">      all instances of the corresponding header fields in the stored</td><td> </td><td class="right">      all instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left">      response and append new header fields to the stored response's</td><td> </td><td class="right">      response and append new header fields to the stored response's</td><td class="lineno" valign="top"></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="left">      header section unless otherwise restricted by the Cache-Control</td><td> </td><td class="right">      header section unless otherwise restricted by the Cache-Control</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">      header field.</td><td> </td><td class="right">      header field.</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left">4.4.  Invalidation</td><td> </td><td class="right">4.4.  Invalidation</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td> </td><td class="right">   Because unsafe request methods (Section 4.2.1 of [RFC7231]) such as</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
415      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 21, line 24</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 47</em></th><td></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left">   Cache-Control directives defined elsewhere are handled.</td><td> </td><td class="right">   Cache-Control directives defined elsewhere are handled.</td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left">      Note: Some HTTP/1.0 caches might not implement Cache-Control.</td><td> </td><td class="right">      Note: Some HTTP/1.0 caches might not implement Cache-Control.</td><td class="lineno" valign="top"></td></tr>
419      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
420      <tr><td class="lineno" valign="top"></td><td class="left">   A proxy, whether or not it implements a cache, MUST pass cache</td><td> </td><td class="right">   A proxy, whether or not it implements a cache, MUST pass cache</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left">   directives through in forwarded messages, regardless of their</td><td> </td><td class="right">   directives through in forwarded messages, regardless of their</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left">   significance to that application, since the directives might be</td><td> </td><td class="right">   significance to that application, since the directives might be</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left">   applicable to all recipients along the request/response chain.  It is</td><td> </td><td class="right">   applicable to all recipients along the request/response chain.  It is</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left">   not possible to target a directive to a specific cache.</td><td> </td><td class="right">   not possible to target a directive to a specific cache.</td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
426      <tr><td><a name="diff0016" /></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="lblock">   Cache directives are identified by a token, to be compared <span class="delete">case-</span></td><td> </td><td class="rblock">   Cache directives are identified by a token, to be compared</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   insensitively,</span> and have an optional argument, that can use both token</td><td> </td><td class="rblock">   <span class="insert">case-insensitively,</span> and have an optional argument, that can use both</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="lblock">   and quoted-string syntax.  For the directives defined below that</td><td> </td><td class="rblock">   token and quoted-string syntax.  For the directives defined below</td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="lblock">   define arguments, recipients ought to accept both forms, even if one</td><td> </td><td class="rblock">   that define arguments, recipients ought to accept both forms, even if</td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="lblock">   is documented to be preferred.  For any directive not defined by this</td><td> </td><td class="rblock">   one is documented to be preferred.  For any directive not defined by</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="lblock">   specification, a recipient MUST accept both forms.</td><td> </td><td class="rblock">   this specification, a recipient MUST accept both forms.</td><td class="lineno" valign="top"></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="left">     Cache-Control   = 1#cache-directive</td><td> </td><td class="right">     Cache-Control   = 1#cache-directive</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="left">     cache-directive = token [ "=" ( token / quoted-string ) ]</td><td> </td><td class="right">     cache-directive = token [ "=" ( token / quoted-string ) ]</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">   For the cache directives defined below, no argument is defined (nor</td><td> </td><td class="right">   For the cache directives defined below, no argument is defined (nor</td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="left">   allowed) unless stated otherwise.</td><td> </td><td class="right">   allowed) unless stated otherwise.</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.  Request Cache-Control Directives</td><td> </td><td class="right">5.2.1.  Request Cache-Control Directives</td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
444      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 23, line 5</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 23, line 27</em></th><td></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td> </td><td class="right">   The "no-cache" request directive indicates that a cache MUST NOT use</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left">   a stored response to satisfy the request without successful</td><td> </td><td class="right">   a stored response to satisfy the request without successful</td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="left">   validation on the origin server.</td><td> </td><td class="right">   validation on the origin server.</td><td class="lineno" valign="top"></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left">5.2.1.5.  no-store</td><td> </td><td class="right">5.2.1.5.  no-store</td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-store" request directive indicates that a cache MUST NOT</td><td> </td><td class="right">   The "no-store" request directive indicates that a cache MUST NOT</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left">   store any part of either this request or any response to it.  This</td><td> </td><td class="right">   store any part of either this request or any response to it.  This</td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left">   directive applies to both private and shared caches.  "MUST NOT</td><td> </td><td class="right">   directive applies to both private and shared caches.  "MUST NOT</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left">   store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right">   store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr>
455      <tr><td><a name="diff0017" /></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="lblock">   store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock">   store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock">   <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="lblock">   promptly as possible after forwarding it.</td><td> </td><td class="rblock">   as promptly as possible after forwarding it.</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="left">   This directive is NOT a reliable or sufficient mechanism for ensuring</td><td> </td><td class="right">   This directive is NOT a reliable or sufficient mechanism for ensuring</td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">   privacy.  In particular, malicious or compromised caches might not</td><td> </td><td class="right">   privacy.  In particular, malicious or compromised caches might not</td><td class="lineno" valign="top"></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left">   recognize or obey this directive, and communications networks might</td><td> </td><td class="right">   recognize or obey this directive, and communications networks might</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="left">   be vulnerable to eavesdropping.</td><td> </td><td class="right">   be vulnerable to eavesdropping.</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="left">   Note that if a request containing this directive is satisfied from a</td><td> </td><td class="right">   Note that if a request containing this directive is satisfied from a</td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left">   cache, the no-store request directive does not apply to the already</td><td> </td><td class="right">   cache, the no-store request directive does not apply to the already</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left">   stored response.</td><td> </td><td class="right">   stored response.</td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
470      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 24, line 34</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 25, line 10</em></th><td></td></tr>
471      <tr><td class="lineno" valign="top"></td><td class="left">   still allowing caching of the rest of the response.</td><td> </td><td class="right">   still allowing caching of the rest of the response.</td><td class="lineno" valign="top"></td></tr>
472      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
473      <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>
474      <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>
475      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
476      <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>
477      <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>
478      <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>
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">   Note: Although it has been back-ported to many implementations, some</td><td> </td><td class="right">   Note: Although it has been back-ported to many implementations, some</td><td class="lineno" valign="top"></td></tr>
481      <tr><td><a name="diff0018" /></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP/1.0 caches will not recognize or obey this directive.  Also, <span class="delete">no-</span></td><td> </td><td class="rblock">   HTTP/1.0 caches will not recognize or obey this directive.  Also,</td><td class="lineno" valign="top"></td></tr>
483      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   cache</span> response directives with field-names are often handled by</td><td> </td><td class="rblock">   <span class="insert">no-cache</span> response directives with field-names are often handled by</td><td class="lineno" valign="top"></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="left">   caches as if an unqualified no-cache directive was received; i.e.,</td><td> </td><td class="right">   caches as if an unqualified no-cache directive was received; i.e.,</td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left">   the special handling for the qualified form is not widely</td><td> </td><td class="right">   the special handling for the qualified form is not widely</td><td class="lineno" valign="top"></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left">   implemented.</td><td> </td><td class="right">   implemented.</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left">5.2.2.3.  no-store</td><td> </td><td class="right">5.2.2.3.  no-store</td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-store" response directive indicates that a cache MUST NOT</td><td> </td><td class="right">   The "no-store" response directive indicates that a cache MUST NOT</td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left">   store any part of either the immediate request or response.  This</td><td> </td><td class="right">   store any part of either the immediate request or response.  This</td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno" valign="top"></td><td class="left">   directive applies to both private and shared caches.  "MUST NOT</td><td> </td><td class="right">   directive applies to both private and shared caches.  "MUST NOT</td><td class="lineno" valign="top"></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="left">   store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right">   store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr>
494      <tr><td><a name="diff0019" /></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="lblock">   store the information in non-volatile storage, and MUST make a <span class="delete">best-</span></td><td> </td><td class="rblock">   store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   effort</span> attempt to remove the information from volatile storage as</td><td> </td><td class="rblock">   <span class="insert">best-effort</span> attempt to remove the information from volatile storage</td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="lblock">   promptly as possible after forwarding it.</td><td> </td><td class="rblock">   as promptly as possible after forwarding it.</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">   This directive is NOT a reliable or sufficient mechanism for ensuring</td><td> </td><td class="right">   This directive is NOT a reliable or sufficient mechanism for ensuring</td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">   privacy.  In particular, malicious or compromised caches might not</td><td> </td><td class="right">   privacy.  In particular, malicious or compromised caches might not</td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="left">   recognize or obey this directive, and communications networks might</td><td> </td><td class="right">   recognize or obey this directive, and communications networks might</td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">   be vulnerable to eavesdropping.</td><td> </td><td class="right">   be vulnerable to eavesdropping.</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
504      <tr><td class="lineno" valign="top"></td><td class="left">5.2.2.4.  no-transform</td><td> </td><td class="right">5.2.2.4.  no-transform</td><td class="lineno" valign="top"></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left">   The "no-transform" response directive indicates that an intermediary</td><td> </td><td class="right">   The "no-transform" response directive indicates that an intermediary</td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left">   (regardless of whether it implements a cache) MUST NOT transform the</td><td> </td><td class="right">   (regardless of whether it implements a cache) MUST NOT transform the</td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
509      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 30, line 38</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 31, line 23</em></th><td></td></tr>
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">   Warnings have accompanying warn-text that describes the error, e.g.,</td><td> </td><td class="right">   Warnings have accompanying warn-text that describes the error, e.g.,</td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">   for logging.  It is advisory only, and its content does not affect</td><td> </td><td class="right">   for logging.  It is advisory only, and its content does not affect</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left">   interpretation of the warn-code.</td><td> </td><td class="right">   interpretation of the warn-code.</td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="left">   If a recipient that uses, evaluates, or displays Warning header</td><td> </td><td class="right">   If a recipient that uses, evaluates, or displays Warning header</td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="left">   fields receives a warn-date that is different from the Date value in</td><td> </td><td class="right">   fields receives a warn-date that is different from the Date value in</td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left">   the same message, the recipient MUST exclude the warning-value</td><td> </td><td class="right">   the same message, the recipient MUST exclude the warning-value</td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left">   containing that warn-date before storing, forwarding, or using the</td><td> </td><td class="right">   containing that warn-date before storing, forwarding, or using the</td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="left">   message.  This allows recipients to exclude warning-values that were</td><td> </td><td class="right">   message.  This allows recipients to exclude warning-values that were</td><td class="lineno" valign="top"></td></tr>
520      <tr><td><a name="diff0020" /></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="lblock">   improperly retained after a cache validation.  If all of the <span class="delete">warning-</span></td><td> </td><td class="rblock">   improperly retained after a cache validation.  If all of the</td><td class="lineno" valign="top"></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   values</span> are excluded, the recipient MUST exclude the Warning header</td><td> </td><td class="rblock">   <span class="insert">warning-values</span> are excluded, the recipient MUST exclude the Warning</td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="lblock">   field as well.</td><td> </td><td class="rblock">   header field as well.</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="left">   The following warn-codes are defined by this specification, each with</td><td> </td><td class="right">   The following warn-codes are defined by this specification, each with</td><td class="lineno" valign="top"></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="left">   a recommended warn-text in English, and a description of its meaning.</td><td> </td><td class="right">   a recommended warn-text in English, and a description of its meaning.</td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno" valign="top"></td><td class="left">   The procedure for defining additional warn codes is described in</td><td> </td><td class="right">   The procedure for defining additional warn codes is described in</td><td class="lineno" valign="top"></td></tr>
528      <tr><td class="lineno" valign="top"></td><td class="left">   Section 7.2.1.</td><td> </td><td class="right">   Section 7.2.1.</td><td class="lineno" valign="top"></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left">5.5.1.  Warning: 110 - "Response is Stale"</td><td> </td><td class="right">5.5.1.  Warning: 110 - "Response is Stale"</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">   A cache SHOULD generate this whenever the sent response is stale.</td><td> </td><td class="right">   A cache SHOULD generate this whenever the sent response is stale.</td><td class="lineno" valign="top"></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
535      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 31, line 32</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 32, line 15</em></th><td></td></tr>
536      <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>
537      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
538      <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>
539      <tr><td class="lineno" valign="top"></td><td class="left">   a human user or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="right">   a human user or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
540      <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>
541      <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>
542      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
543      <tr><td class="lineno" valign="top"></td><td class="left">5.5.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>
544      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
545      <tr><td class="lineno" valign="top"></td><td class="left">   This Warning code MUST be added by a proxy if it applies any</td><td> </td><td class="right">   This Warning code MUST be added by a proxy if it applies any</td><td class="lineno" valign="top"></td></tr>
546      <tr><td><a name="diff0021" /></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="lblock">   transformation to the representation, such as changing the <span class="delete">content-</span></td><td> </td><td class="rblock">   transformation to the representation, such as changing the</td><td class="lineno" valign="top"></td></tr>
548      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   coding,</span> media-type, or modifying the representation data, unless this</td><td> </td><td class="rblock">   <span class="insert">content-coding,</span> media-type, or modifying the representation data,</td><td class="lineno" valign="top"></td></tr>
549      <tr><td class="lineno" valign="top"></td><td class="lblock">   Warning code already appears in the response.</td><td> </td><td class="rblock">   unless this Warning code already appears in the response.</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">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>
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">   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>
554      <tr><td class="lineno" valign="top"></td><td class="left">   a human user or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="right">   a human user or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
555      <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>
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">6.  History Lists</td><td> </td><td class="right">6.  History Lists</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 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>
560      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
561      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 39, line 50</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 41, line 8</em></th><td></td></tr>
562      <tr><td class="lineno" valign="top"></td><td class="left">   warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td> </td><td class="right">   warn-agent = ( uri-host [ ":" port ] ) / pseudonym</td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left">   warn-code = 3DIGIT</td><td> </td><td class="right">   warn-code = 3DIGIT</td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left">   warn-date = DQUOTE HTTP-date DQUOTE</td><td> </td><td class="right">   warn-date = DQUOTE HTTP-date DQUOTE</td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="left">   warn-text = quoted-string</td><td> </td><td class="right">   warn-text = quoted-string</td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="left">   warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date</td><td> </td><td class="right">   warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date</td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="left">    ]</td><td> </td><td class="right">    ]</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">Index</td><td> </td><td class="right">Index</td><td class="lineno" valign="top"></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left">   1</td><td> </td><td class="right">   1</td><td class="lineno" valign="top"></td></tr>
572      <tr><td><a name="diff0022" /></td></tr>
573      <tr><td class="lineno" valign="top"></td><td class="lblock">      110 (warn-code)  3<span class="delete">0</span></td><td> </td><td class="rblock">      110 (warn-code)  3<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
574      <tr><td class="lineno" valign="top"></td><td class="left">      111 (warn-code)  31</td><td> </td><td class="right">      111 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
575      <tr><td class="lineno" valign="top"></td><td class="left">      112 (warn-code)  31</td><td> </td><td class="right">      112 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left">      113 (warn-code)  31</td><td> </td><td class="right">      113 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
577      <tr><td><a name="diff0023" /></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="lblock">      199 (warn-code)  3<span class="delete">1</span></td><td> </td><td class="rblock">      199 (warn-code)  3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="left">   2</td><td> </td><td class="right">   2</td><td class="lineno" valign="top"></td></tr>
581      <tr><td><a name="diff0024" /></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="lblock">      214 (warn-code)  <span class="delete">31</span></td><td> </td><td class="rblock">      214 (warn-code)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
583      <tr><td class="lineno" valign="top"></td><td class="lblock">      299 (warn-code)  <span class="delete">31</span></td><td> </td><td class="rblock">      299 (warn-code)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
584      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
585      <tr><td class="lineno" valign="top"></td><td class="left">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
586      <tr><td><a name="diff0025" /></td></tr>
587      <tr><td class="lineno" valign="top"></td><td class="lblock">      age  <span class="delete">10</span></td><td> </td><td class="rblock">      age  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="lblock">      Age header field  <span class="delete">20</span></td><td> </td><td class="rblock">      Age header field  <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr>
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">   C</td><td> </td><td class="right">   C</td><td class="lineno" valign="top"></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="left">      cache  4</td><td> </td><td class="right">      cache  4</td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="left">      cache entry  5</td><td> </td><td class="right">      cache entry  5</td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="left">      cache key  5-6</td><td> </td><td class="right">      cache key  5-6</td><td class="lineno" valign="top"></td></tr>
594      <tr><td class="lineno" valign="top"></td><td class="left">      Cache-Control header field  21</td><td> </td><td class="right">      Cache-Control header field  21</td><td class="lineno" valign="top"></td></tr>
595      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
596      <tr><td class="lineno" valign="top"></td><td class="left">   D</td><td> </td><td class="right">   D</td><td class="lineno" valign="top"></td></tr>
597      <tr><td class="lineno" valign="top"></td><td class="left">      Disconnected Operation (warn-text)  31</td><td> </td><td class="right">      Disconnected Operation (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="left">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
600      <tr><td><a name="diff0026" /></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="lblock">      Expires header field  <span class="delete">27</span></td><td> </td><td class="rblock">      Expires header field  <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="lblock">      explicit expiration time  <span class="delete">10</span></td><td> </td><td class="rblock">      explicit expiration time  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
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">   F</td><td> </td><td class="right">   F</td><td class="lineno" valign="top"></td></tr>
605      <tr><td><a name="diff0027" /></td></tr>
606      <tr><td class="lineno" valign="top"></td><td class="lblock">      fresh  <span class="delete">10</span></td><td> </td><td class="rblock">      fresh  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
607      <tr><td class="lineno" valign="top"></td><td class="lblock">      freshness lifetime  <span class="delete">10</span></td><td> </td><td class="rblock">      freshness lifetime  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
608      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
611      <tr><td><a name="diff0028" /></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="lblock">         Age  <span class="delete">20</span></td><td> </td><td class="rblock">         Age  21</td><td class="lineno" valign="top"></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Cache-Control</span>  21</td><td> </td><td class="rblock">         <span class="insert">Cache-Control  22</span></td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="lblock">         cache-directive  <span class="delete">21</span></td><td> </td><td class="rblock">         cache-directive  <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left">         delta-seconds  5</td><td> </td><td class="right">         delta-seconds  5</td><td class="lineno" valign="top"></td></tr>
616      <tr><td><a name="diff0029" /></td></tr>
617      <tr><td class="lineno" valign="top"></td><td class="lblock">         Expires  <span class="delete">27</span></td><td> </td><td class="rblock">         Expires  28</td><td class="lineno" valign="top"></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         extension-pragma</span>  28</td><td> </td><td class="rblock">         <span class="insert">extension-pragma  29</span></td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="lblock">         Pragma  <span class="delete">28</span></td><td> </td><td class="rblock">         Pragma  <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno" valign="top"></td><td class="lblock">         pragma-directive  <span class="delete">28</span></td><td> </td><td class="rblock">         pragma-directive  <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno" valign="top"></td><td class="left">         warn-agent  29</td><td> </td><td class="right">         warn-agent  29</td><td class="lineno" valign="top"></td></tr>
622      <tr><td class="lineno" valign="top"></td><td class="left">         warn-code  29</td><td> </td><td class="right">         warn-code  29</td><td class="lineno" valign="top"></td></tr>
623      <tr><td class="lineno" valign="top"></td><td class="left">         warn-date  29</td><td> </td><td class="right">         warn-date  29</td><td class="lineno" valign="top"></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="left">         warn-text  29</td><td> </td><td class="right">         warn-text  29</td><td class="lineno" valign="top"></td></tr>
625      <tr><td class="lineno" valign="top"></td><td class="left">         Warning  29</td><td> </td><td class="right">         Warning  29</td><td class="lineno" valign="top"></td></tr>
626      <tr><td class="lineno" valign="top"></td><td class="left">         warning-value  29</td><td> </td><td class="right">         warning-value  29</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 class="lineno" valign="top"></td><td class="left">   H</td><td> </td><td class="right">   H</td><td class="lineno" valign="top"></td></tr>
629      <tr><td class="lineno" valign="top"></td><td class="left">      Heuristic Expiration (warn-text)  31</td><td> </td><td class="right">      Heuristic Expiration (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
630      <tr><td><a name="diff0030" /></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="lblock">      heuristic expiration time  <span class="delete">10</span></td><td> </td><td class="rblock">      heuristic expiration time  <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">   M</td><td> </td><td class="right">   M</td><td class="lineno" valign="top"></td></tr>
634      <tr><td><a name="diff0031" /></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="lblock">      max-age (cache directive)  2<span class="delete">1</span>, 26</td><td> </td><td class="rblock">      max-age (cache directive)  2<span class="insert">2</span>, 26</td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left">      max-stale (cache directive)  22</td><td> </td><td class="right">      max-stale (cache directive)  22</td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left">      min-fresh (cache directive)  22</td><td> </td><td class="right">      min-fresh (cache directive)  22</td><td class="lineno" valign="top"></td></tr>
638      <tr><td><a name="diff0032" /></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="lblock">      Miscellaneous Persistent Warning (warn-text)  <span class="delete">31</span></td><td> </td><td class="rblock">      Miscellaneous Persistent Warning (warn-text)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="lblock">      Miscellaneous Warning (warn-text)  <span class="delete">31</span></td><td> </td><td class="rblock">      Miscellaneous Warning (warn-text)  <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="lblock">      must-revalidate (cache directive)  <span class="delete">23</span></td><td> </td><td class="rblock">      must-revalidate (cache directive)  <span class="insert">24</span></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">   N</td><td> </td><td class="right">   N</td><td class="lineno" valign="top"></td></tr>
644      <tr><td><a name="diff0033" /></td></tr>
645      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-cache (cache directive)  <span class="delete">22, 24</span></td><td> </td><td class="rblock">      no-cache (cache directive)  <span class="insert">23, 25</span></td><td class="lineno" valign="top"></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-store (cache directive)  <span class="delete">22,</span> 24</td><td> </td><td class="rblock">      no-store (cache directive)  <span class="insert">23,</span> 24</td><td class="lineno" valign="top"></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="left">      no-transform (cache directive)  23, 25</td><td> </td><td class="right">      no-transform (cache directive)  23, 25</td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   O</td><td> </td><td class="right">   O</td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left">      only-if-cached (cache directive)  23</td><td> </td><td class="right">      only-if-cached (cache directive)  23</td><td class="lineno" valign="top"></td></tr>
651      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
652      <tr><td class="lineno" valign="top"></td><td class="left">   P</td><td> </td><td class="right">   P</td><td class="lineno" valign="top"></td></tr>
653      <tr><td><a name="diff0034" /></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="lblock">      Pragma header field  2<span class="delete">8</span></td><td> </td><td class="rblock">      Pragma header field  2<span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left">      private (cache directive)  25</td><td> </td><td class="right">      private (cache directive)  25</td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno" valign="top"></td><td class="left">      private cache  4</td><td> </td><td class="right">      private cache  4</td><td class="lineno" valign="top"></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="left">      proxy-revalidate (cache directive)  26</td><td> </td><td class="right">      proxy-revalidate (cache directive)  26</td><td class="lineno" valign="top"></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left">      public (cache directive)  25</td><td> </td><td class="right">      public (cache directive)  25</td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="left">   R</td><td> </td><td class="right">   R</td><td class="lineno" valign="top"></td></tr>
661      <tr><td class="lineno" valign="top"></td><td class="left">      Response is Stale (warn-text)  30</td><td> </td><td class="right">      Response is Stale (warn-text)  30</td><td class="lineno" valign="top"></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="left">      Revalidation Failed (warn-text)  31</td><td> </td><td class="right">      Revalidation Failed (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
665      <tr><td><a name="diff0035" /></td></tr>
666      <tr><td class="lineno" valign="top"></td><td class="lblock">      s-maxage (cache directive)  2<span class="delete">6</span></td><td> </td><td class="rblock">      s-maxage (cache directive)  2<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
667      <tr><td class="lineno" valign="top"></td><td class="left">      shared cache  4</td><td> </td><td class="right">      shared cache  4</td><td class="lineno" valign="top"></td></tr>
668      <tr><td><a name="diff0036" /></td></tr>
669      <tr><td class="lineno" valign="top"></td><td class="lblock">      stale  1<span class="delete">0</span></td><td> </td><td class="rblock">      stale  1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left">      strong validator  18</td><td> </td><td class="right">      strong validator  18</td><td class="lineno" valign="top"></td></tr>
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">   T</td><td> </td><td class="right">   T</td><td class="lineno" valign="top"></td></tr>
673      <tr><td><a name="diff0037" /></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="lblock">      Transformation Applied (warn-text)  3<span class="delete">1</span></td><td> </td><td class="rblock">      Transformation Applied (warn-text)  3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
675      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
676      <tr><td class="lineno" valign="top"></td><td class="left">   V</td><td> </td><td class="right">   V</td><td class="lineno" valign="top"></td></tr>
677      <tr><td><a name="diff0038" /></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="lblock">      validator  1<span class="delete">5</span></td><td> </td><td class="rblock">      validator  1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="left">   W</td><td> </td><td class="right">   W</td><td class="lineno" valign="top"></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="left">      Warning header field  29</td><td> </td><td class="right">      Warning header field  29</td><td class="lineno" valign="top"></td></tr>
682      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
683      <tr><td class="lineno" valign="top"></td><td class="left">Authors' Addresses</td><td> </td><td class="right">Authors' Addresses</td><td class="lineno" valign="top"></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
685      <tr><td class="lineno" valign="top"></td><td class="left">   Roy T. Fielding (editor)</td><td> </td><td class="right">   Roy T. Fielding (editor)</td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="left">   Adobe Systems Incorporated</td><td> </td><td class="right">   Adobe Systems Incorporated</td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="left">   345 Park Ave</td><td> </td><td class="right">   345 Park Ave</td><td class="lineno" valign="top"></td></tr>
688      <tr><td class="lineno" valign="top"></td><td class="left">   San Jose, CA  95110</td><td> </td><td class="right">   San Jose, CA  95110</td><td class="lineno" valign="top"></td></tr>
689
690     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
691     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 38 change blocks.&nbsp;</a></th></tr>
692     <tr class="stats"><td></td><th><i>160 lines changed or deleted</i></th><th><i> </i></th><th><i>146 lines changed or added</i></th><td></td></tr>
693     <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>
694   </table>
695   </body>
696   </html>
Note: See TracBrowser for help on using the repository browser.