source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-08-from-7.diff.html @ 841

Last change on this file since 841 was 719, checked in by julian.reschke@…, 10 years ago

Prepare for -08 drafts

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 212.6 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.35: 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: draft-ietf-httpbis-p6-cache-07.txt - draft-ietf-httpbis-p6-cache-08.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;draft-ietf-httpbis-p6-cache-07.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p6-cache-08.txt&nbsp;</th><th></th></tr> 
39      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
40      <tr><td class="lineno" valign="top"></td><td class="left">HTTPbis Working Group                                   R. Fielding, Ed.</td><td> </td><td class="right">HTTPbis Working Group                                   R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr>
41      <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft                                              Day Software</td><td> </td><td class="right">Internet-Draft                                              Day Software</td><td class="lineno" valign="top"></td></tr>
42      <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                                  J. Gettys</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                    One Laptop per Child</td><td> </td><td class="right">Intended status: Standards Track                    One Laptop per Child</td><td class="lineno" valign="top"></td></tr>
44      <tr><td><a name="diff0001" /></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">January 14, 2010</span>                                       J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">April 29, 2010  </span>                                       J. Mogul</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left">                                                                      HP</td><td> </td><td class="right">                                                                      HP</td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="left">                                                              H. Frystyk</td><td> </td><td class="right">                                                              H. Frystyk</td><td class="lineno" valign="top"></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="left">                                                             L. Masinter</td><td> </td><td class="right">                                                             L. Masinter</td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left">                                                           Adobe Systems</td><td> </td><td class="right">                                                           Adobe Systems</td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="left">                                                                P. Leach</td><td> </td><td class="right">                                                                P. Leach</td><td class="lineno" valign="top"></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="left">                                                               Microsoft</td><td> </td><td class="right">                                                               Microsoft</td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left">                                                          T. Berners-Lee</td><td> </td><td class="right">                                                          T. Berners-Lee</td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">                                                                 W3C/MIT</td><td> </td><td class="right">                                                                 W3C/MIT</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left">                                                           Y. Lafon, Ed.</td><td> </td><td class="right">                                                           Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">                                                                     W3C</td><td> </td><td class="right">                                                                     W3C</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left">                                                      M. Nottingham, Ed.</td><td> </td><td class="right">                                                      M. Nottingham, Ed.</td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">                                                         J. Reschke, Ed.</td><td> </td><td class="right">                                                         J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
61      <tr><td><a name="diff0002" /></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                        <span class="delete">   July 13</span>, 2009</td><td> </td><td class="rblock">                                                        <span class="insert">October 26</span>, 2009</td><td class="lineno" valign="top"></td></tr>
63      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
64      <tr><td class="lineno" valign="top"></td><td class="left">                       HTTP/1.1, part 6: Caching</td><td> </td><td class="right">                       HTTP/1.1, part 6: Caching</td><td class="lineno" valign="top"></td></tr>
65      <tr><td><a name="diff0003" /></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p6-cache-0<span class="delete">7</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p6-cache-0<span class="insert">8</span></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">Status of this Memo</td><td> </td><td class="right">Status of this Memo</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 Internet-Draft is submitted to IETF in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted to IETF in full conformance with the</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.  This document may contain material</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.  This document may contain material</td><td class="lineno" valign="top"></td></tr>
72      <tr><td class="lineno" valign="top"></td><td class="left">   from IETF Documents or IETF Contributions published or made publicly</td><td> </td><td class="right">   from IETF Documents or IETF Contributions published or made publicly</td><td class="lineno" valign="top"></td></tr>
73      <tr><td class="lineno" valign="top"></td><td class="left">   available before November 10, 2008.  The person(s) controlling the</td><td> </td><td class="right">   available before November 10, 2008.  The person(s) controlling the</td><td class="lineno" valign="top"></td></tr>
74      <tr><td class="lineno" valign="top"></td><td class="left">   copyright in some of this material may not have granted the IETF</td><td> </td><td class="right">   copyright in some of this material may not have granted the IETF</td><td class="lineno" valign="top"></td></tr>
75      <tr><td class="lineno" valign="top"></td><td class="left">   Trust the right to allow modifications of such material outside the</td><td> </td><td class="right">   Trust the right to allow modifications of such material outside the</td><td class="lineno" valign="top"></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="left">   IETF Standards Process.  Without obtaining an adequate license from</td><td> </td><td class="right">   IETF Standards Process.  Without obtaining an adequate license from</td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
78      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 2, line 13</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 2, line 13</em></th><td></td></tr>
79      <tr><td class="lineno" valign="top"></td><td class="left">   and may be updated, replaced, or obsoleted by other documents at any</td><td> </td><td class="right">   and may be updated, replaced, or obsoleted by other documents at any</td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left">   time.  It is inappropriate to use Internet-Drafts as reference</td><td> </td><td class="right">   time.  It is inappropriate to use Internet-Drafts as reference</td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   material or to cite them other than as "work in progress."</td><td> </td><td class="right">   material or to cite them other than as "work in progress."</td><td class="lineno" valign="top"></td></tr>
82      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
83      <tr><td class="lineno" valign="top"></td><td class="left">   The list of current Internet-Drafts can be accessed at</td><td> </td><td class="right">   The list of current Internet-Drafts can be accessed at</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left">   http://www.ietf.org/ietf/1id-abstracts.txt.</td><td> </td><td class="right">   http://www.ietf.org/ietf/1id-abstracts.txt.</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">   The list of Internet-Draft Shadow Directories can be accessed at</td><td> </td><td class="right">   The list of Internet-Draft Shadow Directories can be accessed at</td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="left">   http://www.ietf.org/shadow.html.</td><td> </td><td class="right">   http://www.ietf.org/shadow.html.</td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
89      <tr><td><a name="diff0004" /></td></tr>
90      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">January 14</span>, 2010.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">April 29</span>, 2010.</td><td class="lineno" valign="top"></td></tr>
91      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2009 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2009 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left">   document authors.  All rights reserved.</td><td> </td><td class="right">   document authors.  All rights reserved.</td><td class="lineno" valign="top"></td></tr>
96      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="left">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td> </td><td class="right">   This document is subject to BCP 78 and the IETF Trust's Legal</td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents in effect on the date of</td><td> </td><td class="right">   Provisions Relating to IETF Documents in effect on the date of</td><td class="lineno" valign="top"></td></tr>
99      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document (http://trustee.ietf.org/license-info).</td><td> </td><td class="right">   publication of this document (http://trustee.ietf.org/license-info).</td><td class="lineno" valign="top"></td></tr>
100      <tr><td class="lineno" valign="top"></td><td class="left">   Please review these documents carefully, as they describe your rights</td><td> </td><td class="right">   Please review these documents carefully, as they describe your rights</td><td class="lineno" valign="top"></td></tr>
101      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
102      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 2, line 44</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 2, line 44</em></th><td></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   or indicate cacheable response messages.</td><td> </td><td class="right">   or indicate cacheable response messages.</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="left">Editorial Note (To be removed by RFC Editor)</td><td> </td><td class="right">Editorial Note (To be removed by RFC Editor)</td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft should take place on the HTTPBIS working</td><td> </td><td class="right">   Discussion of this draft should take place on the HTTPBIS working</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">   group mailing list (ietf-http-wg@w3.org).  The current issues list is</td><td> </td><td class="right">   group mailing list (ietf-http-wg@w3.org).  The current issues list is</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left">   at &lt;http://tools.ietf.org/wg/httpbis/trac/report/11&gt; and related</td><td> </td><td class="right">   at &lt;http://tools.ietf.org/wg/httpbis/trac/report/11&gt; and related</td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">   documents (including fancy diffs) can be found at</td><td> </td><td class="right">   documents (including fancy diffs) can be found at</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/&gt;.</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
113      <tr><td><a name="diff0005" /></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix C.<span class="delete">8</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix C.<span class="insert">9</span>.</td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
116      <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>
117      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="left">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Purpose  . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     1.1.  Purpose  . . . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="left">     1.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td> </td><td class="right">     1.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  5</td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="left">     1.3.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  6</td><td> </td><td class="right">     1.3.  Requirements . . . . . . . . . . . . . . . . . . . . . . .  6</td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">     1.4.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">     1.4.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">       1.4.1.  Core Rules . . . . . . . . . . . . . . . . . . . . . .  7</td><td> </td><td class="right">       1.4.1.  Core Rules . . . . . . . . . . . . . . . . . . . . . .  7</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">       1.4.2.  ABNF Rules defined in other Parts of the</td><td> </td><td class="right">       1.4.2.  ABNF Rules defined in other Parts of the</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
126      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 3, line 27</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 3, line 27</em></th><td></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">       2.1.1.  Storing Partial and Incomplete Responses . . . . . . .  8</td><td> </td><td class="right">       2.1.1.  Storing Partial and Incomplete Responses . . . . . . .  8</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">     2.2.  Constructing Responses from Caches . . . . . . . . . . . .  8</td><td> </td><td class="right">     2.2.  Constructing Responses from Caches . . . . . . . . . . . .  8</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">     2.3.  Freshness Model  . . . . . . . . . . . . . . . . . . . . .  9</td><td> </td><td class="right">     2.3.  Freshness Model  . . . . . . . . . . . . . . . . . . . . .  9</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">       2.3.1.  Calculating Freshness Lifetime . . . . . . . . . . . . 10</td><td> </td><td class="right">       2.3.1.  Calculating Freshness Lifetime . . . . . . . . . . . . 10</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left">       2.3.2.  Calculating Age  . . . . . . . . . . . . . . . . . . . 11</td><td> </td><td class="right">       2.3.2.  Calculating Age  . . . . . . . . . . . . . . . . . . . 11</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">       2.3.3.  Serving Stale Responses  . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">       2.3.3.  Serving Stale Responses  . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
133      <tr><td class="lineno" valign="top"></td><td class="left">     2.4.  Validation Model . . . . . . . . . . . . . . . . . . . . . 13</td><td> </td><td class="right">     2.4.  Validation Model . . . . . . . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="left">     2.5.  Request Methods that Invalidate  . . . . . . . . . . . . . 14</td><td> </td><td class="right">     2.5.  Request Methods that Invalidate  . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">     2.6.  Caching Negotiated Responses . . . . . . . . . . . . . . . 15</td><td> </td><td class="right">     2.6.  Caching Negotiated Responses . . . . . . . . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">     2.7.  Combining Responses  . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right">     2.7.  Combining Responses  . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
137      <tr><td><a name="diff0006" /></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="lblock">   3.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 1<span class="delete">7</span></td><td> </td><td class="rblock">   3.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 1<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="left">     3.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="right">     3.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">     3.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="right">     3.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left">       3.2.1.  Request Cache-Control Directives . . . . . . . . . . . 18</td><td> </td><td class="right">       3.2.1.  Request Cache-Control Directives . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">       3.2.2.  Response Cache-Control Directives  . . . . . . . . . . 20</td><td> </td><td class="right">       3.2.2.  Response Cache-Control Directives  . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="left">       3.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . 22</td><td> </td><td class="right">       3.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . 22</td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">     3.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . 23</td><td> </td><td class="right">     3.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
145      <tr><td><a name="diff0007" /></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 2<span class="delete">3</span></td><td> </td><td class="rblock">     3.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 2<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
147      <tr><td class="lineno" valign="top"></td><td class="left">     3.5.  Vary . . . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td> </td><td class="right">     3.5.  Vary . . . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="left">     3.6.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . 25</td><td> </td><td class="right">     3.6.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">   4.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td> </td><td class="right">   4.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="left">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 28</td><td> </td><td class="right">   5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 28</td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="left">     5.1.  Message Header Registration  . . . . . . . . . . . . . . . 28</td><td> </td><td class="right">     5.1.  Message Header Registration  . . . . . . . . . . . . . . . 28</td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 29</td><td> </td><td class="right">   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 29</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left">   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 29</td><td> </td><td class="right">   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 29</td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 29</td><td> </td><td class="right">   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 29</td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left">     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 29</td><td> </td><td class="right">     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 29</td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="left">     8.2.  Informative References . . . . . . . . . . . . . . . . . . 30</td><td> </td><td class="right">     8.2.  Informative References . . . . . . . . . . . . . . . . . . 30</td><td class="lineno" valign="top"></td></tr>
157      <tr><td><a name="diff0008" /></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix A.  Compatibility with Previous Versions  . . . . . . . . 3<span class="delete">1</span></td><td> </td><td class="rblock">   Appendix A.  Compatibility with Previous Versions  . . . . . . . . 3<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="left">     A.1.  Changes from RFC 2068  . . . . . . . . . . . . . . . . . . 31</td><td> </td><td class="right">     A.1.  Changes from RFC 2068  . . . . . . . . . . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="left">     A.2.  Changes from RFC 2616  . . . . . . . . . . . . . . . . . . 31</td><td> </td><td class="right">     A.2.  Changes from RFC 2616  . . . . . . . . . . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 31</td><td> </td><td class="right">   Appendix B.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix C.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 33</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">     C.1.  Since RFC2616  . . . . . . . . . . . . . . . . . . . . . . 33</td><td> </td><td class="right">     C.1.  Since RFC2616  . . . . . . . . . . . . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">     C.2.  Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . 33</td><td> </td><td class="right">     C.2.  Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">     C.3.  Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . 34</td><td> </td><td class="right">     C.3.  Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . 34</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left">     C.4.  Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . 34</td><td> </td><td class="right">     C.4.  Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . 34</td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">     C.5.  Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . 34</td><td> </td><td class="right">     C.5.  Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . 34</td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left">     C.6.  Since draft-ietf-httpbis-p6-cache-04 . . . . . . . . . . . 35</td><td> </td><td class="right">     C.6.  Since draft-ietf-httpbis-p6-cache-04 . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">     C.7.  Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 35</td><td> </td><td class="right">     C.7.  Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left">     C.8.  Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 35</td><td> </td><td class="right">     C.8.  Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
172      <tr><td><a name="diff0009" /></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     C.9.  Since draft-ietf-httpbis-p6-cache-07 . . . . . . . . . . . 36</span></td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left">   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38</td><td> </td><td class="right">   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 38</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">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" 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>
180      <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>
181      <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>
182      <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>
183      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
185      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 7, line 38</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 7, line 38</em></th><td></td></tr>
186      <tr><td class="lineno" valign="top"></td><td class="left">   The core rules below are defined in Section 1.2.2 of [Part1]:</td><td> </td><td class="right">   The core rules below are defined in Section 1.2.2 of [Part1]:</td><td class="lineno" valign="top"></td></tr>
187      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left">     quoted-string = &lt;quoted-string, defined in [Part1], Section 1.2.2&gt;</td><td> </td><td class="right">     quoted-string = &lt;quoted-string, defined in [Part1], Section 1.2.2&gt;</td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left">     token         = &lt;token, defined in [Part1], Section 1.2.2&gt;</td><td> </td><td class="right">     token         = &lt;token, defined in [Part1], Section 1.2.2&gt;</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">     OWS           = &lt;OWS, defined in [Part1], Section 1.2.2&gt;</td><td> </td><td class="right">     OWS           = &lt;OWS, defined in [Part1], Section 1.2.2&gt;</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">1.4.2.  ABNF Rules defined in other Parts of the Specification</td><td> </td><td class="right">1.4.2.  ABNF Rules defined in other Parts of the Specification</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left">   The ABNF rules below are defined in other parts:</td><td> </td><td class="right">   The ABNF rules below are defined in other parts:</td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
196      <tr><td><a name="diff0010" /></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="lblock">     field-name    = &lt;field-name, defined in [Part1], Section <span class="delete">4.2&gt;</span></td><td> </td><td class="rblock">     field-name    = &lt;field-name, defined in [Part1], Section <span class="insert">3.2&gt;</span></td><td class="lineno" valign="top"></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="lblock">     HTTP-date     = &lt;HTTP-date, defined in [Part1], Section <span class="delete">3.2&gt;</span></td><td> </td><td class="rblock">     HTTP-date     = &lt;HTTP-date, defined in [Part1], Section <span class="insert">6.1&gt;</span></td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">     port          = &lt;port, defined in [Part1], Section <span class="delete">2.1&gt;</span></td><td> </td><td class="rblock">     port          = &lt;port, defined in [Part1], Section <span class="insert">2.6&gt;</span></td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="lblock">     pseudonym     = &lt;pseudonym, defined in [Part1], Section <span class="delete">8.9&gt;</span></td><td> </td><td class="rblock">     pseudonym     = &lt;pseudonym, defined in [Part1], Section <span class="insert">9.9&gt;</span></td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="lblock">     uri-host      = &lt;uri-host, defined in [Part1], Section <span class="delete">2.1&gt;</span></td><td> </td><td class="rblock">     uri-host      = &lt;uri-host, defined in [Part1], Section <span class="insert">2.6&gt;</span></td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left">2.  Cache Operation</td><td> </td><td class="right">2.  Cache Operation</td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left">2.1.  Response Cacheability</td><td> </td><td class="right">2.1.  Response Cacheability</td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT store a response to any request, unless:</td><td> </td><td class="right">   A cache MUST NOT store a response to any request, unless:</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left">   o  The request method is defined as being cacheable, and</td><td> </td><td class="right">   o  The request method is defined as being cacheable, and</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left">   o  the "no-store" cache directive (see Section 3.2) does not appear</td><td> </td><td class="right">   o  the "no-store" cache directive (see Section 3.2) does not appear</td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
213      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 8, line 47</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 8, line 47</em></th><td></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="left">   MUST NOT store incomplete or partial responses.</td><td> </td><td class="right">   MUST NOT store incomplete or partial responses.</td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">2.2.  Constructing Responses from Caches</td><td> </td><td class="right">2.2.  Constructing Responses from Caches</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">   For a presented request, a cache MUST NOT return a stored response,</td><td> </td><td class="right">   For a presented request, a cache MUST NOT return a stored response,</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="left">   unless:</td><td> </td><td class="right">   unless:</td><td class="lineno" valign="top"></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left">   o  The presented Request-URI and that of the stored response match</td><td> </td><td class="right">   o  The presented Request-URI and that of the stored response match</td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">      ([[TODO-Request-URI: Need to find a new term for this, as Part 1</td><td> </td><td class="right">      ([[TODO-Request-URI: Need to find a new term for this, as Part 1</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left">      doesn't define Request-URI anymore; the new term request-target</td><td> </td><td class="right">      doesn't define Request-URI anymore; the new term request-target</td><td class="lineno" valign="top"></td></tr>
224      <tr><td><a name="diff0011" /></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="lblock">      does not work for <span class="delete">this.]]),</span> and</td><td> </td><td class="rblock">      does not work for <span class="insert">this. (see</span></td><td class="lineno" valign="top"></td></tr>
226      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/196&gt;)]]),</span> and</td><td class="lineno" valign="top"></td></tr>
227      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="left">   o  the request method associated with the stored response allows it</td><td> </td><td class="right">   o  the request method associated with the stored response allows it</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="left">      to be used for the presented request, and</td><td> </td><td class="right">      to be used for the presented request, and</td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="left">   o  selecting request-headers nominated by the stored response (if</td><td> </td><td class="right">   o  selecting request-headers nominated by the stored response (if</td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="left">      any) match those presented (see Section 2.6), and</td><td> </td><td class="right">      any) match those presented (see Section 2.6), and</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   o  the presented request and stored response are free from directives</td><td> </td><td class="right">   o  the presented request and stored response are free from directives</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">      that would prevent its use (see Section 3.2 and Section 3.4), and</td><td> </td><td class="right">      that would prevent its use (see Section 3.2 and Section 3.4), and</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">   o  the stored response is either:</td><td> </td><td class="right">   o  the stored response is either:</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
238      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 11, line 51</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 11, line 51</em></th><td></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">   generated or validated by the origin server.  In essence, the Age</td><td> </td><td class="right">   generated or validated by the origin server.  In essence, the Age</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="left">   value is the sum of the time that the response has been resident in</td><td> </td><td class="right">   value is the sum of the time that the response has been resident in</td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="left">   each of the caches along the path from the origin server, plus the</td><td> </td><td class="right">   each of the caches along the path from the origin server, plus the</td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   amount of time it has been in transit along network paths.</td><td> </td><td class="right">   amount of time it has been in transit along network paths.</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">   The term "age_value" denotes the value of the Age header, in a form</td><td> </td><td class="right">   The term "age_value" denotes the value of the Age header, in a form</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">   appropriate for arithmetic operations.</td><td> </td><td class="right">   appropriate for arithmetic operations.</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 requires origin servers to send a Date header, if possible,</td><td> </td><td class="right">   HTTP/1.1 requires origin servers to send a Date header, if possible,</td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left">   with every response, giving the time at which the response was</td><td> </td><td class="right">   with every response, giving the time at which the response was</td><td class="lineno" valign="top"></td></tr>
249      <tr><td><a name="diff0012" /></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="lblock">   generated (see Section <span class="delete">8</span>.3 of [Part1]).  The term "date_value"</td><td> </td><td class="rblock">   generated (see Section <span class="insert">9</span>.3 of [Part1]).  The term "date_value"</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">   denotes the value of the Date header, in a form appropriate for</td><td> </td><td class="right">   denotes the value of the Date header, in a form appropriate for</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   arithmetic operations.</td><td> </td><td class="right">   arithmetic operations.</td><td class="lineno" valign="top"></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="left">   The term "now" means "the current value of the clock at the host</td><td> </td><td class="right">   The term "now" means "the current value of the clock at the host</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left">   performing the calculation."  Hosts that use HTTP, but especially</td><td> </td><td class="right">   performing the calculation."  Hosts that use HTTP, but especially</td><td class="lineno" valign="top"></td></tr>
256      <tr><td class="lineno" valign="top"></td><td class="left">   hosts running origin servers and caches, SHOULD use NTP [RFC1305] or</td><td> </td><td class="right">   hosts running origin servers and caches, SHOULD use NTP [RFC1305] or</td><td class="lineno" valign="top"></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left">   some similar protocol to synchronize their clocks to a globally</td><td> </td><td class="right">   some similar protocol to synchronize their clocks to a globally</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">   accurate time standard.</td><td> </td><td class="right">   accurate time standard.</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left">   A response's age can be calculated in two entirely independent ways:</td><td> </td><td class="right">   A response's age can be calculated in two entirely independent ways:</td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
262      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 14, line 34</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 14, line 34</em></th><td></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">   of the stored responses nominated in the conditional request is</td><td> </td><td class="right">   of the stored responses nominated in the conditional request is</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left">   suitable.  Instead, the full response is used both to satisfy the</td><td> </td><td class="right">   suitable.  Instead, the full response is used both to satisfy the</td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno" valign="top"></td><td class="left">   request and replace the stored response. [[anchor5: Should there be a</td><td> </td><td class="right">   request and replace the stored response. [[anchor5: Should there be a</td><td class="lineno" valign="top"></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left">   requirement here?]]</td><td> </td><td class="right">   requirement here?]]</td><td class="lineno" valign="top"></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">   If a cache receives a 5xx response while attempting to validate a</td><td> </td><td class="right">   If a cache receives a 5xx response while attempting to validate a</td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">   response, it MAY either forward this response to the requesting</td><td> </td><td class="right">   response, it MAY either forward this response to the requesting</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   client, or act as if the server failed to respond.  In the latter</td><td> </td><td class="right">   client, or act as if the server failed to respond.  In the latter</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left">   case, it MAY return a previously stored response (see Section 2.3.3).</td><td> </td><td class="right">   case, it MAY return a previously stored response (see Section 2.3.3).</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
273      <tr><td><a name="diff0013" /></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">If a cache receives a successful response whose Content-Location</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   field matches that of an existing stored response for the same</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Request-URI, whose entity-tag differs from that of the existing</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   stored response, and whose Date is more recent than that of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   existing response, the existing response SHOULD NOT be returned in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   response to future requests and SHOULD be deleted from the cache.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   [[anchor6: DISCUSS: Not sure if this is necessary.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">2.5.  Request Methods that Invalidate</td><td> </td><td class="right">2.5.  Request Methods that Invalidate</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">   Because unsafe methods (Section 7.1.1 of [Part2]) have the potential</td><td> </td><td class="right">   Because unsafe methods (Section 7.1.1 of [Part2]) have the potential</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">   for changing state on the origin server, intervening caches can use</td><td> </td><td class="right">   for changing state on the origin server, intervening caches can use</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">   them to keep their contents up-to-date.</td><td> </td><td class="right">   them to keep their contents up-to-date.</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left">   The following HTTP methods MUST cause a cache to invalidate the</td><td> </td><td class="right">   The following HTTP methods MUST cause a cache to invalidate the</td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left">   Request-URI as well as the URI(s) in the Location and Content-</td><td> </td><td class="right">   Request-URI as well as the URI(s) in the Location and Content-</td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   Location headers (if present):</td><td> </td><td class="right">   Location headers (if present):</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
293      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 15, line 16</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 15, line 7</em></th><td></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   o  DELETE</td><td> </td><td class="right">   o  DELETE</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">   o  POST</td><td> </td><td class="right">   o  POST</td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="left">   An invalidation based on a URI from a Location or Content-Location</td><td> </td><td class="right">   An invalidation based on a URI from a Location or Content-Location</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left">   header MUST NOT be performed if the host part of that URI differs</td><td> </td><td class="right">   header MUST NOT be performed if the host part of that URI differs</td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">   from the host part in the Request-URI.  This helps prevent denial of</td><td> </td><td class="right">   from the host part in the Request-URI.  This helps prevent denial of</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   service attacks.</td><td> </td><td class="right">   service attacks.</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
304      <tr><td><a name="diff0014" /></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="lblock">   [[anchor<span class="delete">7</span>: TODO: "host part" needs to be specified better.]]</td><td> </td><td class="rblock">   [[anchor<span class="insert">6</span>: TODO: "host part" needs to be specified better.]]</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left">   A cache that passes through requests for methods it does not</td><td> </td><td class="right">   A cache that passes through requests for methods it does not</td><td class="lineno" valign="top"></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="left">   understand SHOULD invalidate the Request-URI.</td><td> </td><td class="right">   understand SHOULD invalidate the Request-URI.</td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   Here, "invalidate" means that the cache will either remove all stored</td><td> </td><td class="right">   Here, "invalidate" means that the cache will either remove all stored</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   responses related to the Request-URI, or will mark these as "invalid"</td><td> </td><td class="right">   responses related to the Request-URI, or will mark these as "invalid"</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left">   and in need of a mandatory validation before they can be returned in</td><td> </td><td class="right">   and in need of a mandatory validation before they can be returned in</td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left">   response to a subsequent request.</td><td> </td><td class="right">   response to a subsequent request.</td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left">   Note that this does not guarantee that all appropriate responses are</td><td> </td><td class="right">   Note that this does not guarantee that all appropriate responses are</td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="left">   invalidated.  For example, the request that caused the change at the</td><td> </td><td class="right">   invalidated.  For example, the request that caused the change at the</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="left">   origin server might not have gone through the cache where a response</td><td> </td><td class="right">   origin server might not have gone through the cache where a response</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   is stored.</td><td> </td><td class="right">   is stored.</td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
320      <tr><td><a name="diff0015" /></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="lblock">   [[anchor<span class="delete">8</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td> </td><td class="rblock">   [[anchor<span class="insert">7</span>: TODO: specify that only successful (2xx, 3xx?) responses</td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   invalidate.]]</td><td> </td><td class="right">   invalidate.]]</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="left">2.6.  Caching Negotiated Responses</td><td> </td><td class="right">2.6.  Caching Negotiated Responses</td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">   When a cache receives a request that can be satisfied by a stored</td><td> </td><td class="right">   When a cache receives a request that can be satisfied by a stored</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   response that has a Vary header field (Section 3.5), it MUST NOT use</td><td> </td><td class="right">   response that has a Vary header field (Section 3.5), it MUST NOT use</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno" valign="top"></td><td class="left">   that response unless all of the selecting request-headers nominated</td><td> </td><td class="right">   that response unless all of the selecting request-headers nominated</td><td class="lineno" valign="top"></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="left">   by the Vary header match in both the original request (i.e., that</td><td> </td><td class="right">   by the Vary header match in both the original request (i.e., that</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left">   associated with the stored response), and the presented request.</td><td> </td><td class="right">   associated with the stored response), and the presented request.</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="left">   The selecting request-headers from two requests are defined to match</td><td> </td><td class="right">   The selecting request-headers from two requests are defined to match</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="left">   if and only if the selecting request-headers in the first request can</td><td> </td><td class="right">   if and only if the selecting request-headers in the first request can</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   be transformed to the selecting request-headers in the second request</td><td> </td><td class="right">   be transformed to the selecting request-headers in the second request</td><td class="lineno" valign="top"></td></tr>
335      <tr><td><a name="diff0016" /></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="lblock">   by adding or removing linear white space [[anchor<span class="delete">9</span>: [ref]]] at places</td><td> </td><td class="rblock">   by adding or removing linear white space [[anchor<span class="insert">8</span>: [ref]]] at places</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="left">   where this is allowed by the corresponding ABNF, and/or combining</td><td> </td><td class="right">   where this is allowed by the corresponding ABNF, and/or combining</td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left">   multiple message-header fields with the same field name following the</td><td> </td><td class="right">   multiple message-header fields with the same field name following the</td><td class="lineno" valign="top"></td></tr>
339      <tr><td><a name="diff0017" /></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="lblock">   rules about <span class="delete">message headers in Section 4</span>.2 of [Part1].</td><td> </td><td class="rblock">   rules about <span class="insert">header fields in Section 3</span>.2 of [Part1].</td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">   If a header field is absent from a request, it can only match another</td><td> </td><td class="right">   If a header field is absent from a request, it can only match another</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="left">   request if it is also absent there.</td><td> </td><td class="right">   request if it is also absent there.</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">   A Vary header field-value of "*" always fails to match, and</td><td> </td><td class="right">   A Vary header field-value of "*" always fails to match, and</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">   subsequent requests to that resource can only be properly interpreted</td><td> </td><td class="right">   subsequent requests to that resource can only be properly interpreted</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left">   by the origin server.</td><td> </td><td class="right">   by the origin server.</td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="left">   The stored response with matching selecting request-headers is known</td><td> </td><td class="right">   The stored response with matching selecting request-headers is known</td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left">   as the selected response.</td><td> </td><td class="right">   as the selected response.</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
352      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 16, line 25</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 16, line 16</em></th><td></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left">2.7.  Combining Responses</td><td> </td><td class="right">2.7.  Combining Responses</td><td class="lineno" valign="top"></td></tr>
355      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="left">   When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td> </td><td class="right">   When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">   Content) response (in this section, the "new" response"), it needs to</td><td> </td><td class="right">   Content) response (in this section, the "new" response"), it needs to</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left">   created an updated response by combining the stored response with the</td><td> </td><td class="right">   created an updated response by combining the stored response with the</td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left">   new one, so that the updated response can be used to satisfy the</td><td> </td><td class="right">   new one, so that the updated response can be used to satisfy the</td><td class="lineno" valign="top"></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="left">   request.</td><td> </td><td class="right">   request.</td><td class="lineno" valign="top"></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left">   If the new response contains an ETag, it identifies the stored</td><td> </td><td class="right">   If the new response contains an ETag, it identifies the stored</td><td class="lineno" valign="top"></td></tr>
363      <tr><td><a name="diff0018" /></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="lblock">   response to use. <span class="delete">[[anchor10:</span> may need language about Content-Location</td><td> </td><td class="rblock">   response to use. <span class="insert">[[anchor9:</span> may need language about Content-Location</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">here]][[anchor11:</span> cover case where INM with multiple etags was sent]]</td><td> </td><td class="rblock">   <span class="insert">here]][[anchor10:</span> cover case where INM with multiple etags was sent]]</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">   If the status code is 206 (partial content), both the stored and new</td><td> </td><td class="right">   If the status code is 206 (partial content), both the stored and new</td><td class="lineno" valign="top"></td></tr>
368      <tr><td><a name="diff0019" /></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="lblock">   responses MUST have <span class="delete">ETags,</span> and those <span class="delete">ETags</span> MUST match using the</td><td> </td><td class="rblock">   responses MUST have <span class="insert">validators,</span> and those <span class="insert">validators</span> MUST match using</td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="lblock">   strong comparison function (see Section 4 of [Part4]).  Otherwise,</td><td> </td><td class="rblock">   the strong comparison function (see Section 4 of [Part4]).</td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="lblock">   the responses MUST NOT be combined.</td><td> </td><td class="rblock">   Otherwise, the responses MUST NOT be combined.</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">   The stored response headers are used as those of the updated</td><td> </td><td class="right">   The stored response headers are used as those of the updated</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">   response, except that</td><td> </td><td class="right">   response, except that</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left">   o  any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td> </td><td class="right">   o  any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left">      MUST be deleted from the stored response and the updated response.</td><td> </td><td class="right">      MUST be deleted from the stored response and the updated response.</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   o  any stored Warning headers with warn-code 2xx MUST be retained in</td><td> </td><td class="right">   o  any stored Warning headers with warn-code 2xx MUST be retained in</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">      the stored response and the updated response.</td><td> </td><td class="right">      the stored response and the updated response.</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   o  any headers provided in the new response MUST replace the</td><td> </td><td class="right">   o  any headers provided in the new response MUST replace the</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">      corresponding headers from the stored response.</td><td> </td><td class="right">      corresponding headers from the stored response.</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">   If a header field-name in the new response matches more than one</td><td> </td><td class="right">   If a header field-name in the new response matches more than one</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left">   header in the stored response, all such stored headers MUST be</td><td> </td><td class="right">   header in the stored response, all such stored headers MUST be</td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left">   replaced.</td><td> </td><td class="right">   replaced.</td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
389      <tr><td><a name="diff0020" /></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="lblock">   The updated response can [[[[anchor1<span class="delete">2</span>: requirement?]]]] be used to</td><td> </td><td class="rblock">   The updated response can [[[[anchor1<span class="insert">1</span>: requirement?]]]] be used to</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left">   replace the stored response in cache.  In the case of a 206 response,</td><td> </td><td class="right">   replace the stored response in cache.  In the case of a 206 response,</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   the combined entity-body MAY be stored.</td><td> </td><td class="right">   the combined entity-body MAY be stored.</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><a name="diff0021" /></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="lblock">   [[anchor1<span class="delete">3</span>: ISSUE: discuss how to handle HEAD updates]]</td><td> </td><td class="rblock">   [[anchor1<span class="insert">2</span>: ISSUE: discuss how to handle HEAD updates]]</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 class="lineno" valign="top"></td><td class="left">3.  Header Field Definitions</td><td> </td><td class="right">3.  Header Field Definitions</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   This section defines the syntax and semantics of HTTP/1.1 header</td><td> </td><td class="right">   This section defines the syntax and semantics of HTTP/1.1 header</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left">   fields related to caching.</td><td> </td><td class="right">   fields related to caching.</td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">   For entity-header fields, both sender and recipient refer to either</td><td> </td><td class="right">   For entity-header fields, both sender and recipient refer to either</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   the client or the server, depending on who sends and who receives the</td><td> </td><td class="right">   the client or the server, depending on who sends and who receives the</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   entity.</td><td> </td><td class="right">   entity.</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">3.1.  Age</td><td> </td><td class="right">3.1.  Age</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
408      <tr><td><a name="diff0022" /></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="lblock">   The response-header field <span class="delete">"Age"</span> conveys the sender's estimate of the</td><td> </td><td class="rblock">   The <span class="insert">"Age"</span> response-header field conveys the sender's estimate of the</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="lblock">   amount of time since the response <span class="delete">(or its validation)</span> was generated</td><td> </td><td class="rblock">   amount of time since the response was generated <span class="insert">or successfully</span></td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="lblock">   at the origin server.  Age values are calculated as specified in</td><td> </td><td class="rblock"><span class="insert">   validated</span> at the origin server.  Age values are calculated as</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 2.3.2.</td><td> </td><td class="rblock">   specified in Section 2.3.2.</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left">     Age   = "Age" ":" OWS Age-v</td><td> </td><td class="right">     Age   = "Age" ":" OWS Age-v</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left">     Age-v = delta-seconds</td><td> </td><td class="right">     Age-v = delta-seconds</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left">   Age field-values are non-negative integers, representing time in</td><td> </td><td class="right">   Age field-values are non-negative integers, representing time in</td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left">   seconds.</td><td> </td><td class="right">   seconds.</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">     delta-seconds  = 1*DIGIT</td><td> </td><td class="right">     delta-seconds  = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache receives a value larger than the largest positive integer</td><td> </td><td class="right">   If a cache receives a value larger than the largest positive integer</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left">   it can represent, or if any of its age calculations overflows, it</td><td> </td><td class="right">   it can represent, or if any of its age calculations overflows, it</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left">   MUST transmit an Age header with a field-value of 2147483648 (2^31).</td><td> </td><td class="right">   MUST transmit an Age header with a field-value of 2147483648 (2^31).</td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left">   Caches SHOULD use an arithmetic type of at least 31 bits of range.</td><td> </td><td class="right">   Caches SHOULD use an arithmetic type of at least 31 bits of range.</td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="left">   The presence of an Age header field in a response implies that a</td><td> </td><td class="right">   The presence of an Age header field in a response implies that a</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left">   response is not first-hand.  However, the converse is not true, since</td><td> </td><td class="right">   response is not first-hand.  However, the converse is not true, since</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.0 caches may not implement the Age header field.</td><td> </td><td class="right">   HTTP/1.0 caches may not implement the Age header field.</td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">3.2.  Cache-Control</td><td> </td><td class="right">3.2.  Cache-Control</td><td class="lineno" valign="top"></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
433      <tr><td><a name="diff0023" /></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">general-header field "Cache-Control"</span> is used to specify</td><td> </td><td class="rblock">   The <span class="insert">"Cache-Control" general-header field</span> is used to specify</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left">   directives that MUST be obeyed by all caches along the request/</td><td> </td><td class="right">   directives that MUST be obeyed by all caches along the request/</td><td class="lineno" valign="top"></td></tr>
436      <tr><td><a name="diff0024" /></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="lblock">   response chain.  <span class="delete">The directives specify behavior intended to prevent</span></td><td> </td><td class="rblock">   response chain.  <span class="insert">Such cache</span> directives are unidirectional in that the</td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   caches from adversely interfering with the request or response.</span></td><td> </td><td class="rblock">   presence of a directive in a request does not imply that the same</td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Cache</span> directives are unidirectional in that the presence of a</td><td> </td><td class="rblock">   directive is to be given in the response.</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="lblock">   directive in a request does not imply that the same directive is to</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="lblock">   be given in the response.</td><td> </td><td class="rblock"></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" valign="top"></td><td class="left">      Note that HTTP/1.0 caches might not implement Cache-Control and</td><td> </td><td class="right">      Note that HTTP/1.0 caches might not implement Cache-Control and</td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="left">      might only implement Pragma: no-cache (see Section 3.4).</td><td> </td><td class="right">      might only implement Pragma: no-cache (see Section 3.4).</td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="left">   Cache directives MUST be passed through by a proxy or gateway</td><td> </td><td class="right">   Cache directives MUST be passed through by a proxy or gateway</td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="left">   application, regardless of their significance to that application,</td><td> </td><td class="right">   application, regardless of their significance to that application,</td><td class="lineno" valign="top"></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="left">   since the directives might be applicable to all recipients along the</td><td> </td><td class="right">   since the directives might be applicable to all recipients along the</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left">   request/response chain.  It is not possible to target a directive to</td><td> </td><td class="right">   request/response chain.  It is not possible to target a directive to</td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left">   a specific cache.</td><td> </td><td class="right">   a specific cache.</td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
453      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 21</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 13</em></th><td></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left">      client is not willing to accept a stale response.</td><td> </td><td class="right">      client is not willing to accept a stale response.</td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left">   max-stale</td><td> </td><td class="right">   max-stale</td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="left">      The max-stale request directive indicates that the client is</td><td> </td><td class="right">      The max-stale request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left">      willing to accept a response that has exceeded its expiration</td><td> </td><td class="right">      willing to accept a response that has exceeded its expiration</td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="left">      time.  If max-stale is assigned a value, then the client is</td><td> </td><td class="right">      time.  If max-stale is assigned a value, then the client is</td><td class="lineno" valign="top"></td></tr>
461      <tr><td class="lineno" valign="top"></td><td class="left">      willing to accept a response that has exceeded its expiration time</td><td> </td><td class="right">      willing to accept a response that has exceeded its expiration time</td><td class="lineno" valign="top"></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left">      by no more than the specified number of seconds.  If no value is</td><td> </td><td class="right">      by no more than the specified number of seconds.  If no value is</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="left">      assigned to max-stale, then the client is willing to accept a</td><td> </td><td class="right">      assigned to max-stale, then the client is willing to accept a</td><td class="lineno" valign="top"></td></tr>
464      <tr><td><a name="diff0025" /></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="lblock">      stale response of any age. [[anchor1<span class="delete">4</span>: of any staleness? --mnot]]</td><td> </td><td class="rblock">      stale response of any age. [[anchor1<span class="insert">3</span>: of any staleness? --mnot]]</td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left">   min-fresh</td><td> </td><td class="right">   min-fresh</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" valign="top"></td><td class="left">      The min-fresh request directive indicates that the client is</td><td> </td><td class="right">      The min-fresh request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="left">      willing to accept a response whose freshness lifetime is no less</td><td> </td><td class="right">      willing to accept a response whose freshness lifetime is no less</td><td class="lineno" valign="top"></td></tr>
471      <tr><td class="lineno" valign="top"></td><td class="left">      than its current age plus the specified time in seconds.  That is,</td><td> </td><td class="right">      than its current age plus the specified time in seconds.  That is,</td><td class="lineno" valign="top"></td></tr>
472      <tr><td class="lineno" valign="top"></td><td class="left">      the client wants a response that will still be fresh for at least</td><td> </td><td class="right">      the client wants a response that will still be fresh for at least</td><td class="lineno" valign="top"></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="left">      the specified number of seconds.</td><td> </td><td class="right">      the specified number of seconds.</td><td class="lineno" valign="top"></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="left">   no-transform</td><td> </td><td class="right">   no-transform</td><td class="lineno" valign="top"></td></tr>
476      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
477      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 20, line 40</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 20, line 40</em></th><td></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left">      cache.  A private (non-shared) cache MAY store the response.</td><td> </td><td class="right">      cache.  A private (non-shared) cache MAY store the response.</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">      If the private response directive specifies one or more field-</td><td> </td><td class="right">      If the private response directive specifies one or more field-</td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="left">      names, this requirement is limited to the field-values associated</td><td> </td><td class="right">      names, this requirement is limited to the field-values associated</td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left">      with the listed response headers.  That is, the specified field-</td><td> </td><td class="right">      with the listed response headers.  That is, the specified field-</td><td class="lineno" valign="top"></td></tr>
483      <tr><td class="lineno" valign="top"></td><td class="left">      names(s) MUST NOT be stored by a shared cache, whereas the</td><td> </td><td class="right">      names(s) MUST NOT be stored by a shared cache, whereas the</td><td class="lineno" valign="top"></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="left">      remainder of the response message MAY be.</td><td> </td><td class="right">      remainder of the response message MAY be.</td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left">      Note: This usage of the word private only controls where the</td><td> </td><td class="right">      Note: This usage of the word private only controls where the</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left">      response may be stored, and cannot ensure the privacy of the</td><td> </td><td class="right">      response may be stored, and cannot ensure the privacy of the</td><td class="lineno" valign="top"></td></tr>
488      <tr><td><a name="diff0026" /></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="lblock">      message content.</td><td> </td><td class="rblock">      message content.  <span class="insert">Also, private response directives with field-</span></td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      names are often handled by implementations as if an unqualified</span></td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      private directive was recieved; i.e., the special handling for the</span></td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      qualified form is not widely implemented.</span></td><td class="lineno" valign="top"></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left">   no-cache</td><td> </td><td class="right">   no-cache</td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left">      The no-cache response directive indicates that the response MUST</td><td> </td><td class="right">      The no-cache response directive indicates that the response MUST</td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left">      NOT be used to satisfy a subsequent request without successful</td><td> </td><td class="right">      NOT be used to satisfy a subsequent request without successful</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left">      validation on the origin server.  This allows an origin server to</td><td> </td><td class="right">      validation on the origin server.  This allows an origin server to</td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left">      prevent caching even by caches that have been configured to return</td><td> </td><td class="right">      prevent caching even by caches that have been configured to return</td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">      stale responses.</td><td> </td><td class="right">      stale responses.</td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">      If the no-cache response directive specifies one or more field-</td><td> </td><td class="right">      If the no-cache response directive specifies one or more field-</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left">      names, this requirement is limited to the field-values associated</td><td> </td><td class="right">      names, this requirement is limited to the field-values associated</td><td class="lineno" valign="top"></td></tr>
504      <tr><td class="lineno" valign="top"></td><td class="left">      with the listed response headers.  That is, the specified field-</td><td> </td><td class="right">      with the listed response headers.  That is, the specified field-</td><td class="lineno" valign="top"></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="left">      name(s) MUST NOT be sent in the response to a subsequent request</td><td> </td><td class="right">      name(s) MUST NOT be sent in the response to a subsequent request</td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left">      without successful validation on the origin server.  This allows</td><td> </td><td class="right">      without successful validation on the origin server.  This allows</td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left">      an origin server to prevent the re-use of certain header fields in</td><td> </td><td class="right">      an origin server to prevent the re-use of certain header fields in</td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="left">      a response, while still allowing caching of the rest of the</td><td> </td><td class="right">      a response, while still allowing caching of the rest of the</td><td class="lineno" valign="top"></td></tr>
509      <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>
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">      Note: Most HTTP/1.0 caches will not recognize or obey this</td><td> </td><td class="right">      Note: Most HTTP/1.0 caches will not recognize or obey this</td><td class="lineno" valign="top"></td></tr>
512      <tr><td><a name="diff0027" /></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="lblock">      directive.</td><td> </td><td class="rblock">      directive.  <span class="insert">Also, no-cache response directives with field-names</span></td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      are often handled by implementations as if an unqualified no-cache</span></td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      directive was recieved; i.e., the special handling for the</span></td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      qualified form is not widely implemented.</span></td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left">   no-store</td><td> </td><td class="right">   no-store</td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
520      <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>
521      <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>
522      <tr><td class="lineno" valign="top"></td><td class="left">      directive applies to both non-shared and shared caches.  "MUST NOT</td><td> </td><td class="right">      directive applies to both non-shared and shared caches.  "MUST NOT</td><td class="lineno" valign="top"></td></tr>
523      <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>
524      <tr><td class="lineno" valign="top"></td><td class="left">      store the information in non-volatile storage, and MUST make a</td><td> </td><td class="right">      store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="left">      best-effort attempt to remove the information from volatile</td><td> </td><td class="right">      best-effort attempt to remove the information from volatile</td><td class="lineno" valign="top"></td></tr>
526      <tr><td class="lineno" valign="top"></td><td class="left">      storage as promptly as possible after forwarding it.</td><td> </td><td class="right">      storage as promptly as possible after forwarding it.</td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
528      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 23, line 17</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 23, line 24</em></th><td></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="left">   behavior.</td><td> </td><td class="right">   behavior.</td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
531      <tr><td class="lineno" valign="top"></td><td class="left">   Unrecognized cache directives MUST be ignored; it is assumed that any</td><td> </td><td class="right">   Unrecognized cache directives MUST be ignored; it is assumed that any</td><td class="lineno" valign="top"></td></tr>
532      <tr><td class="lineno" valign="top"></td><td class="left">   cache directive likely to be unrecognized by an HTTP/1.1 cache will</td><td> </td><td class="right">   cache directive likely to be unrecognized by an HTTP/1.1 cache will</td><td class="lineno" valign="top"></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="left">   be combined with standard directives (or the response's default</td><td> </td><td class="right">   be combined with standard directives (or the response's default</td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="left">   cacheability) such that the cache behavior will remain minimally</td><td> </td><td class="right">   cacheability) such that the cache behavior will remain minimally</td><td class="lineno" valign="top"></td></tr>
535      <tr><td class="lineno" valign="top"></td><td class="left">   correct even if the cache does not understand the extension(s).</td><td> </td><td class="right">   correct even if the cache does not understand the extension(s).</td><td class="lineno" valign="top"></td></tr>
536      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
537      <tr><td class="lineno" valign="top"></td><td class="left">3.3.  Expires</td><td> </td><td class="right">3.3.  Expires</td><td class="lineno" valign="top"></td></tr>
538      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
539      <tr><td><a name="diff0028" /></td></tr>
540      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">entity-header field "Expires"</span> gives the date/time after which the</td><td> </td><td class="rblock">   The <span class="insert">"Expires" entity-header field</span> gives the date/time after which the</td><td class="lineno" valign="top"></td></tr>
541      <tr><td class="lineno" valign="top"></td><td class="left">   response is considered stale.  See Section 2.3 for further discussion</td><td> </td><td class="right">   response is considered stale.  See Section 2.3 for further discussion</td><td class="lineno" valign="top"></td></tr>
542      <tr><td class="lineno" valign="top"></td><td class="left">   of the freshness model.</td><td> </td><td class="right">   of the freshness model.</td><td class="lineno" valign="top"></td></tr>
543      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
544      <tr><td class="lineno" valign="top"></td><td class="left">   The presence of an Expires field does not imply that the original</td><td> </td><td class="right">   The presence of an Expires field does not imply that the original</td><td class="lineno" valign="top"></td></tr>
545      <tr><td class="lineno" valign="top"></td><td class="left">   resource will change or cease to exist at, before, or after that</td><td> </td><td class="right">   resource will change or cease to exist at, before, or after that</td><td class="lineno" valign="top"></td></tr>
546      <tr><td class="lineno" valign="top"></td><td class="left">   time.</td><td> </td><td class="right">   time.</td><td class="lineno" valign="top"></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
548      <tr><td class="lineno" valign="top"></td><td class="left">   The field-value is an absolute date and time as defined by HTTP-date</td><td> </td><td class="right">   The field-value is an absolute date and time as defined by HTTP-date</td><td class="lineno" valign="top"></td></tr>
549      <tr><td><a name="diff0029" /></td></tr>
550      <tr><td class="lineno" valign="top"></td><td class="lblock">   in Section <span class="delete">3.2</span> of [Part1]; it MUST be sent in rfc1123-date format.</td><td> </td><td class="rblock">   in Section <span class="insert">6.1</span> of [Part1]; it MUST be sent in rfc1123-date format.</td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="left">     Expires   = "Expires" ":" OWS Expires-v</td><td> </td><td class="right">     Expires   = "Expires" ":" OWS Expires-v</td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="left">     Expires-v = HTTP-date</td><td> </td><td class="right">     Expires-v = HTTP-date</td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="left">   For example</td><td> </td><td class="right">   For example</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">     Expires: Thu, 01 Dec 1994 16:00:00 GMT</td><td> </td><td class="right">     Expires: Thu, 01 Dec 1994 16:00:00 GMT</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">      Note: if a response includes a Cache-Control field with the max-</td><td> </td><td class="right">      Note: if a response includes a Cache-Control field with the max-</td><td class="lineno" valign="top"></td></tr>
560      <tr><td class="lineno" valign="top"></td><td class="left">      age directive (see Section 3.2.2), that directive overrides the</td><td> </td><td class="right">      age directive (see Section 3.2.2), that directive overrides the</td><td class="lineno" valign="top"></td></tr>
561      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
562      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 23, line 49</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 24, line 8</em></th><td></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in</td><td> </td><td class="right">   HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in</td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="left">   the future.</td><td> </td><td class="right">   the future.</td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="left">   HTTP/1.1 clients and caches MUST treat other invalid date formats,</td><td> </td><td class="right">   HTTP/1.1 clients and caches MUST treat other invalid date formats,</td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="left">   especially including the value "0", as in the past (i.e., "already</td><td> </td><td class="right">   especially including the value "0", as in the past (i.e., "already</td><td class="lineno" valign="top"></td></tr>
569      <tr><td class="lineno" valign="top"></td><td class="left">   expired").</td><td> </td><td class="right">   expired").</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">3.4.  Pragma</td><td> </td><td class="right">3.4.  Pragma</td><td class="lineno" valign="top"></td></tr>
572      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
573      <tr><td><a name="diff0030" /></td></tr>
574      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">general-header field "Pragma"</span> is used to include implementation-</td><td> </td><td class="rblock">   The <span class="insert">"Pragma" general-header field</span> is used to include implementation-</td><td class="lineno" valign="top"></td></tr>
575      <tr><td class="lineno" valign="top"></td><td class="left">   specific directives that might apply to any recipient along the</td><td> </td><td class="right">   specific directives that might apply to any recipient along the</td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left">   request/response chain.  All pragma directives specify optional</td><td> </td><td class="right">   request/response chain.  All pragma directives specify optional</td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="left">   behavior from the viewpoint of the protocol; however, some systems</td><td> </td><td class="right">   behavior from the viewpoint of the protocol; however, some systems</td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="left">   MAY require that behavior be consistent with the directives.</td><td> </td><td class="right">   MAY require that behavior be consistent with the directives.</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">     Pragma            = "Pragma" ":" OWS Pragma-v</td><td> </td><td class="right">     Pragma            = "Pragma" ":" OWS Pragma-v</td><td class="lineno" valign="top"></td></tr>
581      <tr><td class="lineno" valign="top"></td><td class="left">     Pragma-v          = 1#pragma-directive</td><td> </td><td class="right">     Pragma-v          = 1#pragma-directive</td><td class="lineno" valign="top"></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="left">     pragma-directive  = "no-cache" / extension-pragma</td><td> </td><td class="right">     pragma-directive  = "no-cache" / extension-pragma</td><td class="lineno" valign="top"></td></tr>
583      <tr><td class="lineno" valign="top"></td><td class="left">     extension-pragma  = token [ "=" ( token / quoted-string ) ]</td><td> </td><td class="right">     extension-pragma  = token [ "=" ( token / quoted-string ) ]</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"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
586      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 24, line 31</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 24, line 38</em></th><td></td></tr>
587      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="left">      Note: because the meaning of "Pragma: no-cache" as a response-</td><td> </td><td class="right">      Note: because the meaning of "Pragma: no-cache" as a response-</td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="left">      header field is not actually specified, it does not provide a</td><td> </td><td class="right">      header field is not actually specified, it does not provide a</td><td class="lineno" valign="top"></td></tr>
590      <tr><td class="lineno" valign="top"></td><td class="left">      reliable replacement for "Cache-Control: no-cache" in a response.</td><td> </td><td class="right">      reliable replacement for "Cache-Control: no-cache" in a response.</td><td class="lineno" valign="top"></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="left">   This mechanism is deprecated; no new Pragma directives will be</td><td> </td><td class="right">   This mechanism is deprecated; no new Pragma directives will be</td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="left">   defined in HTTP.</td><td> </td><td class="right">   defined in HTTP.</td><td class="lineno" valign="top"></td></tr>
594      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
595      <tr><td class="lineno" valign="top"></td><td class="left">3.5.  Vary</td><td> </td><td class="right">3.5.  Vary</td><td class="lineno" valign="top"></td></tr>
596      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
597      <tr><td><a name="diff0031" /></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "Vary" response-header <span class="delete">field's value indicates</span> the set of</td><td> </td><td class="rblock">   The "Vary" response-header <span class="insert">field conveys</span> the set of request-header</td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="lblock">   request-header fields that determines, while the response is fresh,</td><td> </td><td class="rblock">   fields that <span class="insert">were used to select the representation.</span></td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="lblock">   whether a cache is permitted to use the response to reply to a</td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="lblock">   subsequent request without validation; see Section 2.6.</td><td> </td><td class="rblock"><span class="insert">   Caches use this information, in part, to determine whether a stored</span></td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   response can be used to satisdy a given request; see Section 2.6.</span></td><td class="lineno" valign="top"></td></tr>
603      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   determines, while the response is fresh, whether a cache is permitted</td><td class="lineno" valign="top"></td></tr>
604      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   to use the response to reply to a subsequent request without</td><td class="lineno" valign="top"></td></tr>
605      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   validation; see Section 2.6.</td><td class="lineno" valign="top"></td></tr>
606      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
607      <tr><td class="lineno" valign="top"></td><td class="left">   In uncacheable or stale responses, the Vary field value advises the</td><td> </td><td class="right">   In uncacheable or stale responses, the Vary field value advises the</td><td class="lineno" valign="top"></td></tr>
608      <tr><td class="lineno" valign="top"></td><td class="left">   user agent about the criteria that were used to select the</td><td> </td><td class="right">   user agent about the criteria that were used to select the</td><td class="lineno" valign="top"></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="left">   representation.</td><td> </td><td class="right">   representation.</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left">     Vary   = "Vary" ":" OWS Vary-v</td><td> </td><td class="right">     Vary   = "Vary" ":" OWS Vary-v</td><td class="lineno" valign="top"></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="left">     Vary-v = "*" / 1#field-name</td><td> </td><td class="right">     Vary-v = "*" / 1#field-name</td><td class="lineno" valign="top"></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left">   The set of header fields named by the Vary field value is known as</td><td> </td><td class="right">   The set of header fields named by the Vary field value is known as</td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left">   the selecting request-headers.</td><td> </td><td class="right">   the selecting request-headers.</td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
617      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 25, line 21</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 25, line 32</em></th><td></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="left">   therefore, a cache cannot determine whether this response is</td><td> </td><td class="right">   therefore, a cache cannot determine whether this response is</td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="left">   appropriate.  The "*" value MUST NOT be generated by a proxy server;</td><td> </td><td class="right">   appropriate.  The "*" value MUST NOT be generated by a proxy server;</td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno" valign="top"></td><td class="left">   it may only be generated by an origin server.</td><td> </td><td class="right">   it may only be generated by an origin server.</td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
622      <tr><td class="lineno" valign="top"></td><td class="left">   The field-names given are not limited to the set of standard request-</td><td> </td><td class="right">   The field-names given are not limited to the set of standard request-</td><td class="lineno" valign="top"></td></tr>
623      <tr><td class="lineno" valign="top"></td><td class="left">   header fields defined by this specification.  Field names are case-</td><td> </td><td class="right">   header fields defined by this specification.  Field names are case-</td><td class="lineno" valign="top"></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="left">   insensitive.</td><td> </td><td class="right">   insensitive.</td><td class="lineno" valign="top"></td></tr>
625      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
626      <tr><td class="lineno" valign="top"></td><td class="left">3.6.  Warning</td><td> </td><td class="right">3.6.  Warning</td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
628      <tr><td><a name="diff0032" /></td></tr>
629      <tr><td class="lineno" valign="top"></td><td class="lblock">   The <span class="delete">general-header field "Warning"</span> is used to carry additional</td><td> </td><td class="rblock">   The <span class="insert">"Warning" general-header field</span> is used to carry additional</td><td class="lineno" valign="top"></td></tr>
630      <tr><td class="lineno" valign="top"></td><td class="left">   information about the status or transformation of a message that</td><td> </td><td class="right">   information about the status or transformation of a message that</td><td class="lineno" valign="top"></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="left">   might not be reflected in the message.  This information is typically</td><td> </td><td class="right">   might not be reflected in the message.  This information is typically</td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="left">   used to warn about possible incorrectness introduced by caching</td><td> </td><td class="right">   used to warn about possible incorrectness introduced by caching</td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">   operations or transformations applied to the entity body of the</td><td> </td><td class="right">   operations or transformations applied to the entity body of the</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">   message.</td><td> </td><td class="right">   message.</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left">   Warnings can be used for other purposes, both cache-related and</td><td> </td><td class="right">   Warnings can be used for other purposes, both cache-related and</td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left">   otherwise.  The use of a warning, rather than an error status code,</td><td> </td><td class="right">   otherwise.  The use of a warning, rather than an error status code,</td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left">   distinguish these responses from true failures.</td><td> </td><td class="right">   distinguish these responses from true failures.</td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
641      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 25, line 51</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 26, line 20</em></th><td></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">     warn-code  = 3DIGIT</td><td> </td><td class="right">     warn-code  = 3DIGIT</td><td class="lineno" valign="top"></td></tr>
644      <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>
645      <tr><td class="lineno" valign="top"></td><td class="left">                     ; the name or pseudonym of the server adding</td><td> </td><td class="right">                     ; the name or pseudonym of the server adding</td><td class="lineno" valign="top"></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="left">                     ; the Warning header, for use in debugging</td><td> </td><td class="right">                     ; the Warning header, for use in debugging</td><td class="lineno" valign="top"></td></tr>
647      <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>
648      <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>
649      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left">   Multiple warnings can be attached to a response (either by the origin</td><td> </td><td class="right">   Multiple warnings can be attached to a response (either by the origin</td><td class="lineno" valign="top"></td></tr>
651      <tr><td class="lineno" valign="top"></td><td class="left">   server or by a cache), including multiple warnings with the same code</td><td> </td><td class="right">   server or by a cache), including multiple warnings with the same code</td><td class="lineno" valign="top"></td></tr>
652      <tr><td><a name="diff0033" /></td></tr>
653      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">number.  For example, a server might provide the same warning with</span></td><td> </td><td class="rblock">   <span class="insert">number, only differing</span> in <span class="insert">warn-text.</span></td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   texts</span> in <span class="delete">both English and Basque.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno" valign="top"></td><td class="left">   When this occurs, the user agent SHOULD inform the user of as many of</td><td> </td><td class="right">   When this occurs, the user agent SHOULD inform the user of as many of</td><td class="lineno" valign="top"></td></tr>
657      <tr><td><a name="diff0034" /></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="lblock">   them as possible, in the order that they appear in the response.  <span class="delete">If</span></td><td> </td><td class="rblock">   them as possible, in the order that they appear in the response.</td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   it is not possible to inform the user of all of the warnings, the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   user agent SHOULD follow these heuristics:</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
661      <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>
662      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   o  Warnings that appear early in the response take priority over</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      those appearing later in the response.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
664      <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>
665      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   o  Warnings in the user's preferred character set take priority over</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
666      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      warnings in other character sets but with identical warn-codes and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
667      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      warn-agents.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
668      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
669      <tr><td class="lineno" valign="top"></td><td class="left">   Systems that generate multiple Warning headers SHOULD order them with</td><td> </td><td class="right">   Systems that generate multiple Warning headers SHOULD order them with</td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left">   this user agent behavior in mind.  New Warning headers SHOULD be</td><td> </td><td class="right">   this user agent behavior in mind.  New Warning headers SHOULD be</td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left">   added after any existing Warning headers.</td><td> </td><td class="right">   added after any existing Warning headers.</td><td class="lineno" valign="top"></td></tr>
672      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
673      <tr><td class="lineno" valign="top"></td><td class="left">   Warnings are assigned three digit warn-codes.  The first digit</td><td> </td><td class="right">   Warnings are assigned three digit warn-codes.  The first digit</td><td class="lineno" valign="top"></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="left">   indicates whether the Warning is required to be deleted from a stored</td><td> </td><td class="right">   indicates whether the Warning is required to be deleted from a stored</td><td class="lineno" valign="top"></td></tr>
675      <tr><td class="lineno" valign="top"></td><td class="left">   response after validation:</td><td> </td><td class="right">   response after validation:</td><td class="lineno" valign="top"></td></tr>
676      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
677      <tr><td><a name="diff0035" /></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  1xx Warnings <span class="delete">that</span> describe the freshness or validation status of</td><td> </td><td class="rblock">   o  1xx Warnings describe the freshness or validation status of the</td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="lblock">      the response, and so MUST be deleted by caches after validation.</td><td> </td><td class="rblock">      response, and so MUST be deleted by caches after validation.  They</td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="lblock">      They <span class="delete">MUST NOT</span> be generated by a cache <span class="delete">except</span> when validating a</td><td> </td><td class="rblock">      <span class="insert">can only</span> be generated by a cache when validating a cached entry,</td><td class="lineno" valign="top"></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="lblock">      cached entry, and MUST NOT be generated <span class="delete">by clients.</span></td><td> </td><td class="rblock">      and MUST NOT be generated <span class="insert">in any other situation.</span></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><a name="diff0036" /></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  2xx Warnings <span class="delete">that</span> describe some aspect of the entity body or</td><td> </td><td class="rblock">   o  2xx Warnings describe some aspect of the entity body or entity</td><td class="lineno" valign="top"></td></tr>
685      <tr><td class="lineno" valign="top"></td><td class="lblock">      entity headers that is not rectified by a validation (for example,</td><td> </td><td class="rblock">      headers that is not rectified by a validation (for example, a</td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="lblock">      a lossy compression of the entity bodies) and MUST NOT be deleted</td><td> </td><td class="rblock">      lossy compression of the entity bodies) and MUST NOT be deleted by</td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="lblock">      by caches after validation, unless a full response is returned, in</td><td> </td><td class="rblock">      caches after validation, unless a full response is returned, in</td><td class="lineno" valign="top"></td></tr>
688      <tr><td class="lineno" valign="top"></td><td class="left">      which case they MUST be.</td><td> </td><td class="right">      which case they MUST be.</td><td class="lineno" valign="top"></td></tr>
689      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
690      <tr><td><a name="diff0037" /></td></tr>
691      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">The warn-text SHOULD be in a natural language and character set that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   is most likely to be intelligible to the human user receiving the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   response.  This decision can be based on any available knowledge,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
694      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   such as the location of the cache or user, the Accept-Language field</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
695      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   in a request, the Content-Language field in a response, etc.  The</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
696      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   default language is English and the default character set is ISO-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
697      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   8859-1 ([ISO-8859-1]).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
698      <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>
699      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   If a character set other than ISO-8859-1 is used, it MUST be encoded</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
700      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   in the warn-text using the method described in [RFC2047].</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
701      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
702      <tr><td class="lineno" valign="top"></td><td class="left">   If an implementation sends a message with one or more Warning headers</td><td> </td><td class="right">   If an implementation sends a message with one or more Warning headers</td><td class="lineno" valign="top"></td></tr>
703      <tr><td class="lineno" valign="top"></td><td class="left">   to a receiver whose version is HTTP/1.0 or lower, then the sender</td><td> </td><td class="right">   to a receiver whose version is HTTP/1.0 or lower, then the sender</td><td class="lineno" valign="top"></td></tr>
704      <tr><td class="lineno" valign="top"></td><td class="left">   MUST include in each warning-value a warn-date that matches the Date</td><td> </td><td class="right">   MUST include in each warning-value a warn-date that matches the Date</td><td class="lineno" valign="top"></td></tr>
705      <tr><td class="lineno" valign="top"></td><td class="left">   header in the message.</td><td> </td><td class="right">   header in the message.</td><td class="lineno" valign="top"></td></tr>
706      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
707      <tr><td class="lineno" valign="top"></td><td class="left">   If an implementation receives a message with a warning-value that</td><td> </td><td class="right">   If an implementation receives a message with a warning-value that</td><td class="lineno" valign="top"></td></tr>
708      <tr><td class="lineno" valign="top"></td><td class="left">   includes a warn-date, and that warn-date is different from the Date</td><td> </td><td class="right">   includes a warn-date, and that warn-date is different from the Date</td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left">   value in the response, then that warning-value MUST be deleted from</td><td> </td><td class="right">   value in the response, then that warning-value MUST be deleted from</td><td class="lineno" valign="top"></td></tr>
710      <tr><td class="lineno" valign="top"></td><td class="left">   the message before storing, forwarding, or using it. (preventing the</td><td> </td><td class="right">   the message before storing, forwarding, or using it. (preventing the</td><td class="lineno" valign="top"></td></tr>
711      <tr><td class="lineno" valign="top"></td><td class="left">   consequences of naive caching of Warning header fields.)  If all of</td><td> </td><td class="right">   consequences of naive caching of Warning header fields.)  If all of</td><td class="lineno" valign="top"></td></tr>
712      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
713      <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 29, line 39</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 29, line 39</em></th><td></td></tr>
714      <tr><td class="lineno" valign="top"></td><td class="left">7.  Acknowledgments</td><td> </td><td class="right">7.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
715      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
716      <tr><td class="lineno" valign="top"></td><td class="left">   Much of the content and presentation of the caching design is due to</td><td> </td><td class="right">   Much of the content and presentation of the caching design is due to</td><td class="lineno" valign="top"></td></tr>
717      <tr><td class="lineno" valign="top"></td><td class="left">   suggestions and comments from individuals including: Shel Kaphan,</td><td> </td><td class="right">   suggestions and comments from individuals including: Shel Kaphan,</td><td class="lineno" valign="top"></td></tr>
718      <tr><td class="lineno" valign="top"></td><td class="left">   Paul Leach, Koen Holtman, David Morris, and Larry Masinter.</td><td> </td><td class="right">   Paul Leach, Koen Holtman, David Morris, and Larry Masinter.</td><td class="lineno" valign="top"></td></tr>
719      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
720      <tr><td class="lineno" valign="top"></td><td class="left">8.  References</td><td> </td><td class="right">8.  References</td><td class="lineno" valign="top"></td></tr>
721      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
722      <tr><td class="lineno" valign="top"></td><td class="left">8.1.  Normative References</td><td> </td><td class="right">8.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
723      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
724      <tr><td><a name="diff0038" /></td></tr>
725      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">[ISO-8859-1]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
726      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              International Organization for Standardization,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
727      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              "Information technology -- 8-bit single-byte coded graphic</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
728      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              character sets -- Part 1: Latin alphabet No. 1", ISO/</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
729      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              IEC 8859-1:1998, 1998.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
730      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
731      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
732      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
733      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td class="lineno" valign="top"></td></tr>
734      <tr><td><a name="diff0039" /></td></tr>
735      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-07</span></td><td> </td><td class="rblock">              and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-08</span></td><td class="lineno" valign="top"></td></tr>
736      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">July</span> 2009.</td><td> </td><td class="rblock">              (work in progress), <span class="insert">October</span> 2009.</td><td class="lineno" valign="top"></td></tr>
737      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
738      <tr><td class="lineno" valign="top"></td><td class="left">   [Part2]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part2]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
739      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
740      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td class="lineno" valign="top"></td></tr>
741      <tr><td><a name="diff0040" /></td></tr>
742      <tr><td class="lineno" valign="top"></td><td class="lblock">              Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-07</span> (work in</td><td> </td><td class="rblock">              Semantics", <span class="insert">draft-ietf-httpbis-p2-semantics-08</span> (work in</td><td class="lineno" valign="top"></td></tr>
743      <tr><td class="lineno" valign="top"></td><td class="lblock">              progress), <span class="delete">July</span> 2009.</td><td> </td><td class="rblock">              progress), <span class="insert">October</span> 2009.</td><td class="lineno" valign="top"></td></tr>
744      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
745      <tr><td class="lineno" valign="top"></td><td class="left">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part3]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr>
746      <tr><td class="lineno" valign="top"></td><td class="left">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right">              Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr>
747      <tr><td class="lineno" valign="top"></td><td class="left">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td> </td><td class="right">              and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload</td><td class="lineno" valign="top"></td></tr>
748      <tr><td><a name="diff0041" /></td></tr>
749      <tr><td class="lineno" valign="top"></td><td class="lblock">              and Content Negotiation", <span class="delete">draft-ietf-httpbis-p3-payload-07</span></td><td> </td><td class="rblock">              and Content Negotiation", <span class="insert">draft-ietf-httpbis-p3-payload-08</span></td><td class="lineno" valign="top"></td></tr>
750      <tr><td class="lineno" valign="top"></td><td class="lblock">              (work in progress), <span class="delete">July</span> 2009.</td><td> </td><td class="rblock">              (work in progress), <span class="insert">October</span> 2009.</td><td class="lineno" valign="top"></td></tr>
751      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
752      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right">   [Part4]    Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td