source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-21-from-20.diff.html @ 1936

Last change on this file since 1936 was 1929, checked in by julian.reschke@…, 8 years ago

prepare release of -21 drafts on Oct 4

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 240.1 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<!-- Generated by rfcdiff 1.38: rfcdiff  -->
3<!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional" > -->
4<html> 
5<head> 
6  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7  <meta http-equiv="Content-Style-Type" content="text/css" />
8  <title>Diff: draft-ietf-httpbis-p6-cache-20.txt - draft-ietf-httpbis-p6-cache-21.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-20.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p6-cache-21.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                                                     Adobe</td><td> </td><td class="right">Internet-Draft                                                     Adobe</td><td class="lineno" valign="top"></td></tr>
42      <tr><td><a name="diff0001" /></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="lblock">Obsoletes: 2616 (if approved)                              <span class="delete">Y. Lafon,</span> Ed.</td><td> </td><td class="rblock">Obsoletes: 2616 (if approved)                         <span class="insert">M. Nottingham,</span> Ed.</td><td class="lineno" valign="top"></td></tr>
44      <tr><td class="lineno" valign="top"></td><td class="lblock">Intended status: Standards Track                                     <span class="delete">W3C</span></td><td> </td><td class="rblock">Intended status: Standards Track                                  <span class="insert">Akamai</span></td><td class="lineno" valign="top"></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">January 17,</span> 2013                             <span class="delete">M. Nottingham, Ed.</span></td><td> </td><td class="rblock">Expires: <span class="insert">April 7,</span> 2013                                   J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">                                                               Rackspace</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
47      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                         J. Reschke, Ed.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
48      <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>
49      <tr><td><a name="diff0002" /></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                         <span class="delete">  July 16</span>, 2012</td><td> </td><td class="rblock">                                                         <span class="insert">October 4</span>, 2012</td><td class="lineno" valign="top"></td></tr>
51      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
52      <tr><td><a name="diff0003" /></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="lblock">                       <span class="delete">HTTP/1.1, part 6:</span> Caching</td><td> </td><td class="rblock">            <span class="insert">Hypertext Transfer Protocol (HTTP/1.1):</span> Caching</td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="lblock">                     <span class="delete">draft-ietf-httpbis-p6-cache-20</span></td><td> </td><td class="rblock">                     <span class="insert">draft-ietf-httpbis-p6-cache-21</span></td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
56      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="left">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td> </td><td class="right">   The Hypertext Transfer Protocol (HTTP) is an application-level</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="left">   protocol for distributed, collaborative, hypertext information</td><td> </td><td class="right">   protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="left">   systems.  This document defines requirements on HTTP caches and the</td><td> </td><td class="right">   systems.  This document defines requirements on HTTP caches and the</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="left">   associated header fields that control cache behavior or indicate</td><td> </td><td class="right">   associated header fields that control cache behavior or indicate</td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left">   cacheable response messages.</td><td> </td><td class="right">   cacheable response messages.</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">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>
65      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
66      <tr><td class="lineno" valign="top"></td><td class="left">   Discussion of this draft takes place on the HTTPBIS working group</td><td> </td><td class="right">   Discussion of this draft takes place on the HTTPBIS working group</td><td class="lineno" valign="top"></td></tr>
67      <tr><td class="lineno" valign="top"></td><td class="left">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td> </td><td class="right">   mailing list (ietf-http-wg@w3.org), which is archived at</td><td class="lineno" valign="top"></td></tr>
68      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</td><td> </td><td class="right">   &lt;http://lists.w3.org/Archives/Public/ietf-http-wg/&gt;.</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">   The current issues list is at</td><td> </td><td class="right">   The current issues list is at</td><td class="lineno" valign="top"></td></tr>
71      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td> </td><td class="right">   &lt;http://tools.ietf.org/wg/httpbis/trac/report/3&gt; and related</td><td class="lineno" valign="top"></td></tr>
72      <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>
73      <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>
74      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
75      <tr><td><a name="diff0004" /></td></tr>
76      <tr><td class="lineno" valign="top"></td><td class="lblock">   The changes in this draft are summarized in Appendix D.<span class="delete">1</span>.</td><td> </td><td class="rblock">   The changes in this draft are summarized in Appendix D.<span class="insert">2</span>.</td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
78      <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>
79      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
80      <tr><td class="lineno" valign="top"></td><td class="left">   This Internet-Draft is submitted in full conformance with the</td><td> </td><td class="right">   This Internet-Draft is submitted in full conformance with the</td><td class="lineno" valign="top"></td></tr>
81      <tr><td class="lineno" valign="top"></td><td class="left">   provisions of BCP 78 and BCP 79.</td><td> </td><td class="right">   provisions of BCP 78 and BCP 79.</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">   Internet-Drafts are working documents of the Internet Engineering</td><td> </td><td class="right">   Internet-Drafts are working documents of the Internet Engineering</td><td class="lineno" valign="top"></td></tr>
84      <tr><td class="lineno" valign="top"></td><td class="left">   Task Force (IETF).  Note that other groups may also distribute</td><td> </td><td class="right">   Task Force (IETF).  Note that other groups may also distribute</td><td class="lineno" valign="top"></td></tr>
85      <tr><td class="lineno" valign="top"></td><td class="left">   working documents as Internet-Drafts.  The list of current Internet-</td><td> </td><td class="right">   working documents as Internet-Drafts.  The list of current Internet-</td><td class="lineno" valign="top"></td></tr>
86      <tr><td class="lineno" valign="top"></td><td class="left">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td> </td><td class="right">   Drafts is at http://datatracker.ietf.org/drafts/current/.</td><td class="lineno" valign="top"></td></tr>
87      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
88      <tr><td class="lineno" valign="top"></td><td class="left">   Internet-Drafts are draft documents valid for a maximum of six months</td><td> </td><td class="right">   Internet-Drafts are draft documents valid for a maximum of six months</td><td class="lineno" valign="top"></td></tr>
89      <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>
90      <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>
91      <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>
92      <tr><td><a name="diff0005" /></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">April 7,</span> 2013.</td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">January 17,</span> 2013.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
95      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
96      <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>
97      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
98      <tr><td class="lineno" valign="top"></td><td class="left">   Copyright (c) 2012 IETF Trust and the persons identified as the</td><td> </td><td class="right">   Copyright (c) 2012 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
99      <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>
100      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
101      <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>
102      <tr><td class="lineno" valign="top"></td><td class="left">   Provisions Relating to IETF Documents</td><td> </td><td class="right">   Provisions Relating to IETF Documents</td><td class="lineno" valign="top"></td></tr>
103      <tr><td class="lineno" valign="top"></td><td class="left">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td> </td><td class="right">   (http://trustee.ietf.org/license-info) in effect on the date of</td><td class="lineno" valign="top"></td></tr>
104      <tr><td class="lineno" valign="top"></td><td class="left">   publication of this document.  Please review these documents</td><td> </td><td class="right">   publication of this document.  Please review these documents</td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
106      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 2, line 41</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 2, line 39</em></th><td></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   not be created outside the IETF Standards Process, except to format</td><td> </td><td class="right">   not be created outside the IETF Standards Process, except to format</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno" valign="top"></td><td class="left">   it for publication as an RFC or to translate it into languages other</td><td> </td><td class="right">   it for publication as an RFC or to translate it into languages other</td><td class="lineno" valign="top"></td></tr>
109      <tr><td class="lineno" valign="top"></td><td class="left">   than English.</td><td> </td><td class="right">   than English.</td><td class="lineno" valign="top"></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
111      <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>
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 class="lineno" valign="top"></td><td class="left">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="left">     1.1.  Purpose  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.1.  Purpose  . . . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="left">     1.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  4</td><td> </td><td class="right">     1.2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  4</td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">     1.3.  Conformance and Error Handling . . . . . . . . . . . . . .  6</td><td> </td><td class="right">     1.3.  Conformance and Error Handling . . . . . . . . . . . . . .  6</td><td class="lineno" valign="top"></td></tr>
117      <tr><td><a name="diff0006" /></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="lblock">     1.4.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">     1.4.  Syntax Notation  . . . . . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="lblock">       1.4.1.  Delta Seconds  . . . . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">       1.4.1.  Delta Seconds  . . . . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
120      <tr><td class="lineno" valign="top"></td><td class="lblock">   2.  Overview of Cache Operation  . . . . . . . . . . . . . . . . .  <span class="delete">7</span></td><td> </td><td class="rblock">   2.  Overview of Cache Operation  . . . . . . . . . . . . . . . . .  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="lblock">   3.  Storing Responses in Caches  . . . . . . . . . . . . . . . . .  <span class="delete">8</span></td><td> </td><td class="rblock">   3.  Storing Responses in Caches  . . . . . . . . . . . . . . . . .  <span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.1.  Storing Incomplete Responses . . . . . . . . . . . . . . .  <span class="delete">9</span></td><td> </td><td class="rblock">     3.1.  Storing Incomplete Responses . . . . . . . . . . . . . . .  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="lblock">     3.2.  Storing Responses to Authenticated Requests  . . . . . . .  <span class="delete">9</span></td><td> </td><td class="rblock">     3.2.  Storing Responses to Authenticated Requests  . . . . . . .  <span class="insert">8</span></td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="lblock">   4.  Constructing Responses from Caches . . . . . . . . . . . . . . <span class="delete">10</span></td><td> </td><td class="rblock">   4.  Constructing Responses from Caches . . . . . . . . . . . . . .  <span class="insert">9</span></td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.1.  Freshness Model  . . . . . . . . . . . . . . . . . . . . . <span class="delete">11</span></td><td> </td><td class="rblock">     4.1.  Freshness Model  . . . . . . . . . . . . . . . . . . . . . <span class="insert">10</span></td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.1.1.  Calculating Freshness Lifetime . . . . . . . . . . . . <span class="delete">12</span></td><td> </td><td class="rblock">       4.1.1.  Calculating Freshness Lifetime . . . . . . . . . . . . <span class="insert">11</span></td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">       4.1.2.  Calculating Heuristic Freshness  . . . . . . . . . . . 12</td><td> </td><td class="right">       4.1.2.  Calculating Heuristic Freshness  . . . . . . . . . . . 12</td><td class="lineno" valign="top"></td></tr>
128      <tr><td><a name="diff0007" /></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.1.3.  Calculating Age  . . . . . . . . . . . . . . . . . . . <span class="delete">13</span></td><td> </td><td class="rblock">       4.1.3.  Calculating Age  . . . . . . . . . . . . . . . . . . . <span class="insert">12</span></td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="lblock">       4.1.4.  Serving Stale Responses  . . . . . . . . . . . . . . . <span class="delete">15</span></td><td> </td><td class="rblock">       4.1.4.  Serving Stale Responses  . . . . . . . . . . . . . . . <span class="insert">14</span></td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.2.  Validation Model . . . . . . . . . . . . . . . . . . . . . <span class="delete">16</span></td><td> </td><td class="rblock">     4.2.  Validation Model . . . . . . . . . . . . . . . . . . . . . <span class="insert">15</span></td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">       4.2.1.  Freshening Responses with 304 Not Modified . . . . . . 16</td><td> </td><td class="right">       4.2.1.  Freshening Responses with 304 Not Modified . . . . . . 16</td><td class="lineno" valign="top"></td></tr>
133      <tr><td><a name="diff0008" /></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.3.  Using Negotiated Responses . . . . . . . . . . . . . . . . <span class="delete">17</span></td><td> </td><td class="rblock">     4.3.  Using Negotiated Responses . . . . . . . . . . . . . . . . <span class="insert">16</span></td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="lblock">     4.4.  Combining Partial Content  . . . . . . . . . . . . . . . . <span class="delete">18</span></td><td> </td><td class="rblock">     4.4.  Combining Partial Content  . . . . . . . . . . . . . . . . <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="lblock">   5.  Updating Caches with HEAD Responses  . . . . . . . . . . . . . <span class="delete">19</span></td><td> </td><td class="rblock">   5.  Updating Caches with HEAD Responses  . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="lblock">   6.  Request Methods that Invalidate  . . . . . . . . . . . . . . . <span class="delete">19</span></td><td> </td><td class="rblock">   6.  Request Methods that Invalidate  . . . . . . . . . . . . . . . <span class="insert">18</span></td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="lblock">   7.  Header Field Definitions . . . . . . . . . . . . . . . . . . . <span class="delete">20</span></td><td> </td><td class="rblock">   7.  Header Field Definitions . . . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">20</span></td><td> </td><td class="rblock">     7.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">     7.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">     7.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
141      <tr><td><a name="diff0009" /></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.2.1.  Request Cache-Control Directives . . . . . . . . . . . <span class="delete">21</span></td><td> </td><td class="rblock">       7.2.1.  Request Cache-Control Directives . . . . . . . . . . . <span class="insert">20</span></td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.2.2.  Response Cache-Control Directives  . . . . . . . . . . <span class="delete">23</span></td><td> </td><td class="rblock">       7.2.2.  Response Cache-Control Directives  . . . . . . . . . . <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . <span class="delete">26</span></td><td> </td><td class="rblock">       7.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">28</span></td><td> </td><td class="rblock">     7.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">27</span></td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">     7.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td> </td><td class="right">     7.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td class="lineno" valign="top"></td></tr>
147      <tr><td><a name="diff0010" /></td></tr>
148      <tr><td class="lineno" valign="top"></td><td class="lblock">     7.5.  <span class="delete">Vary . . . . . . . . . . . . . . . . . . . . . . . . . . . 29</span></td><td> </td><td class="rblock">     7.5.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     7.6.</span>  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">30</span></td><td> </td><td class="rblock"><span class="insert">       7.5.1.</span>  110 Response is Stale  . . . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
150      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.1.</span>  110 Response is Stale  . . . . . . . . . . . . . . . . <span class="delete">31</span></td><td> </td><td class="rblock"><span class="insert">       7.5.2.</span>  111 Revalidation Failed  . . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
151      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.2.</span>  111 Revalidation Failed  . . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.3.</span>  112 Disconnected Operation . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.3.</span>  112 Disconnected Operation . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.4.</span>  113 Heuristic Expiration . . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.4.</span>  113 Heuristic Expiration . . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.5.</span>  199 Miscellaneous Warning  . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.5.</span>  199 Miscellaneous Warning  . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.6.</span>  214 Transformation Applied . . . . . . . . . . . . . . <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.6.</span>  214 Transformation Applied . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.7.</span>  299 Miscellaneous Persistent Warning . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
156      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.7.</span>  299 Miscellaneous Persistent Warning . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"><span class="insert">       7.5.8.</span>  Warn Code Extensions . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
157      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">       7.6.8.</span>  Warn Code Extensions . . . . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock">   8.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
158      <tr><td class="lineno" valign="top"></td><td class="lblock">   8.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">33</span></td><td> </td><td class="rblock">   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
159      <tr><td class="lineno" valign="top"></td><td class="lblock">   9.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . <span class="delete">33</span></td><td> </td><td class="rblock">     9.1.  Cache Directive Registry . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
160      <tr><td class="lineno" valign="top"></td><td class="lblock">     9.1.  Cache Directive Registry . . . . . . . . . . . . . . . . . <span class="delete">33</span></td><td> </td><td class="rblock">     9.2.  Warn Code Registry . . . . . . . . . . . . . . . . . . . . <span class="insert">32</span></td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="lblock">     9.2.  Warn Code Registry . . . . . . . . . . . . . . . . . . . . <span class="delete">34</span></td><td> </td><td class="rblock">     9.3.  Header Field Registration  . . . . . . . . . . . . . . . . <span class="insert">33</span></td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="lblock">     9.3.  Header Field Registration  . . . . . . . . . . . . . . . . <span class="delete">34</span></td><td> </td><td class="rblock">   10. Security Considerations  . . . . . . . . . . . . . . . . . . . <span class="insert">33</span></td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="lblock">   10. Security Considerations  . . . . . . . . . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock">   11. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="lblock">   11. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock">   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="lblock">   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock">     12.1. Normative References . . . . . . . . . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="lblock">     12.1. Normative References . . . . . . . . . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock">     12.2. Informative References . . . . . . . . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="lblock">     12.2. Informative References . . . . . . . . . . . . . . . . . . <span class="delete">36</span></td><td> </td><td class="rblock">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="insert">35</span></td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="delete">36</span></td><td> </td><td class="rblock">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . <span class="insert">35</span></td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . <span class="delete">37</span></td><td> </td><td class="rblock">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . <span class="insert">37</span></td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="lblock">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . <span class="delete">38</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
171      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td> </td><td class="right">   Appendix D.  Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr>
172      <tr><td><a name="diff0011" /></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="delete">39</span></td><td> </td><td class="rblock">                publication)  . . . . . . . . . . . . . . . . . . . . <span class="insert">38</span></td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="lblock">     D.1.  Since draft-ietf-httpbis-p6-cache-19 . . . . . . . . . . . <span class="delete">39</span></td><td> </td><td class="rblock">     D.1.  Since draft-ietf-httpbis-p6-cache-19 . . . . . . . . . . . <span class="insert">38</span></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">     D.2.  Since draft-ietf-httpbis-p6-cache-20 . . . . . . . . . . . 38</span></td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39</td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
180      <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>
181      <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>
182      <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>
183      <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>
184      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
185      <tr><td class="lineno" valign="top"></td><td class="left">1.1.  Purpose</td><td> </td><td class="right">1.1.  Purpose</td><td class="lineno" valign="top"></td></tr>
186      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
187      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 6, line 8</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 6, line 8</em></th><td></td></tr>
188      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
189      <tr><td class="lineno" valign="top"></td><td class="left">   validator</td><td> </td><td class="right">   validator</td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">      A protocol element (e.g., an entity-tag or a Last-Modified time)</td><td> </td><td class="right">      A protocol element (e.g., an entity-tag or a Last-Modified time)</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left">      that is used to find out whether a stored response is an</td><td> </td><td class="right">      that is used to find out whether a stored response is an</td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">      equivalent copy of a representation.  See Section 2.1 of [Part4].</td><td> </td><td class="right">      equivalent copy of a representation.  See Section 2.1 of [Part4].</td><td class="lineno" valign="top"></td></tr>
194      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
195      <tr><td class="lineno" valign="top"></td><td class="left">   strong validator</td><td> </td><td class="right">   strong validator</td><td class="lineno" valign="top"></td></tr>
196      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="left">      A validator that is defined by the origin server such that its</td><td> </td><td class="right">      A validator that is defined by the origin server such that its</td><td class="lineno" valign="top"></td></tr>
198      <tr><td><a name="diff0012" /></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">      current value will change if the representation <span class="delete">body</span> changes;</td><td> </td><td class="rblock">      current value will change if the representation <span class="insert">data</span> changes;</td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="left">      i.e., an entity-tag that is not marked as weak (Section 2.3 of</td><td> </td><td class="right">      i.e., an entity-tag that is not marked as weak (Section 2.3 of</td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="left">      [Part4]) or, if no entity-tag is provided, a Last-Modified value</td><td> </td><td class="right">      [Part4]) or, if no entity-tag is provided, a Last-Modified value</td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="left">      that is strong in the sense defined by Section 2.2.2 of [Part4].</td><td> </td><td class="right">      that is strong in the sense defined by Section 2.2.2 of [Part4].</td><td class="lineno" valign="top"></td></tr>
203      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
204      <tr><td class="lineno" valign="top"></td><td class="left">1.3.  Conformance and Error Handling</td><td> </td><td class="right">1.3.  Conformance and Error Handling</td><td class="lineno" valign="top"></td></tr>
205      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
206      <tr><td class="lineno" valign="top"></td><td class="left">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td> </td><td class="right">   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td> </td><td class="right">   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left">   document are to be interpreted as described in [RFC2119].</td><td> </td><td class="right">   document are to be interpreted as described in [RFC2119].</td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
210      <tr><td><a name="diff0013" /></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">This specification targets conformance</span> criteria <span class="delete">according to the role</span></td><td> </td><td class="rblock">   <span class="insert">Conformance</span> criteria and <span class="insert">considerations regarding</span> error handling <span class="insert">are</span></td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   of a participant in HTTP communication.  Hence, HTTP requirements are</span></td><td> </td><td class="rblock"><span class="insert">   defined in Section 2.5</span> of <span class="insert">[Part1].</span></td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   placed on senders, recipients, clients, servers, user agents,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
214      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   intermediaries, origin servers, proxies, gateways, or caches,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   depending on what behavior is being constrained by the requirement.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   See Section 2 of [Part1] for definitions of these terms.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
217      <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>
218      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The verb "generate" is used instead of "send" where a requirement</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   differentiates between creating a protocol element</span> and <span class="delete">merely</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   forwarding a received element downstream.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
221      <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>
222      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   An implementation is considered conformant if it complies with all of</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   the requirements associated with the roles it partakes in HTTP.  Note</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   that SHOULD-level requirements are relevant here, unless one of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
225      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   documented exceptions is applicable.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
226      <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>
227      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   This document also uses ABNF to define valid protocol elements</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   (Section 1.4).  In addition to the prose requirements placed upon</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   them, senders MUST NOT generate protocol elements that do not match</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   the grammar defined by the ABNF rules for those protocol elements</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   that are applicable to the sender's role.  If a received protocol</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   element is processed, the recipient MUST be able to parse any value</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   that would match the ABNF rules for that protocol element, excluding</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   only those rules not applicable to the recipient's role.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
235      <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>
236      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Unless noted otherwise, a recipient MAY attempt to recover a usable</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   protocol element from an invalid construct.  HTTP does not define</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   specific error handling mechanisms except when they have a direct</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   impact on security, since different applications of the protocol</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   require different</span> error handling <span class="delete">strategies.  For example, a Web</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
241      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   browser might wish to transparently recover from a response where the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Location header field doesn't parse according to the ABNF, whereas a</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   systems control client might consider any form</span> of <span class="delete">error recovery to</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   be dangerous.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left">1.4.  Syntax Notation</td><td> </td><td class="right">1.4.  Syntax Notation</td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left">   This specification uses the Augmented Backus-Naur Form (ABNF)</td><td> </td><td class="right">   This specification uses the Augmented Backus-Naur Form (ABNF)</td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left">   notation of [RFC5234] with the list rule extension defined in Section</td><td> </td><td class="right">   notation of [RFC5234] with the list rule extension defined in Section</td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">   1.2 of [Part1].  Appendix B describes rules imported from other</td><td> </td><td class="right">   1.2 of [Part1].  Appendix B describes rules imported from other</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left">   documents.  Appendix C shows the collected ABNF with the list rule</td><td> </td><td class="right">   documents.  Appendix C shows the collected ABNF with the list rule</td><td class="lineno" valign="top"></td></tr>
252      <tr><td class="lineno" valign="top"></td><td class="left">   expanded.</td><td> </td><td class="right">   expanded.</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">1.4.1.  Delta Seconds</td><td> </td><td class="right">1.4.1.  Delta Seconds</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
256      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 10, line 45</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 10, line 11</em></th><td></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">   Note that any of the requirements listed above can be overridden by a</td><td> </td><td class="right">   Note that any of the requirements listed above can be overridden by a</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">   cache-control extension; see Section 7.2.3.</td><td> </td><td class="right">   cache-control extension; see Section 7.2.3.</td><td class="lineno" valign="top"></td></tr>
260      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
261      <tr><td class="lineno" valign="top"></td><td class="left">   When a stored response is used to satisfy a request without</td><td> </td><td class="right">   When a stored response is used to satisfy a request without</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left">   validation, a cache MUST include a single Age header field</td><td> </td><td class="right">   validation, a cache MUST include a single Age header field</td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 7.1) in the response with a value equal to the stored</td><td> </td><td class="right">   (Section 7.1) in the response with a value equal to the stored</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left">   response's current_age; see Section 4.1.3.</td><td> </td><td class="right">   response's current_age; see Section 4.1.3.</td><td class="lineno" valign="top"></td></tr>
265      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST write through requests with methods that are unsafe</td><td> </td><td class="right">   A cache MUST write through requests with methods that are unsafe</td><td class="lineno" valign="top"></td></tr>
267      <tr><td><a name="diff0014" /></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section <span class="delete">2.1</span>.1 of [Part2]) to the origin server; i.e., a cache is not</td><td> </td><td class="rblock">   (Section <span class="insert">5.2</span>.1 of [Part2]) to the origin server; i.e., a cache is not</td><td class="lineno" valign="top"></td></tr>
269      <tr><td class="lineno" valign="top"></td><td class="left">   allowed to generate a reply to such a request before having forwarded</td><td> </td><td class="right">   allowed to generate a reply to such a request before having forwarded</td><td class="lineno" valign="top"></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="left">   the request and having received a corresponding response.</td><td> </td><td class="right">   the request and having received a corresponding response.</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left">   Also, note that unsafe requests might invalidate already stored</td><td> </td><td class="right">   Also, note that unsafe requests might invalidate already stored</td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left">   responses; see Section 6.</td><td> </td><td class="right">   responses; see Section 6.</td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left">   When more than one suitable response is stored, a cache MUST use the</td><td> </td><td class="right">   When more than one suitable response is stored, a cache MUST use the</td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">   most recent response (as determined by the Date header field).  It</td><td> </td><td class="right">   most recent response (as determined by the Date header field).  It</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="left">   can also forward a request with "Cache-Control: max-age=0" or "Cache-</td><td> </td><td class="right">   can also forward a request with "Cache-Control: max-age=0" or "Cache-</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left">   Control: no-cache" to disambiguate which response to use.</td><td> </td><td class="right">   Control: no-cache" to disambiguate which response to use.</td><td class="lineno" valign="top"></td></tr>
279      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
280      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 12, line 41</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 9</em></th><td></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="left">   When there is more than one value present for a given directive</td><td> </td><td class="right">   When there is more than one value present for a given directive</td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left">   (e.g., two Expires header fields, multiple Cache-Control: max-age</td><td> </td><td class="right">   (e.g., two Expires header fields, multiple Cache-Control: max-age</td><td class="lineno" valign="top"></td></tr>
283      <tr><td class="lineno" valign="top"></td><td class="left">   directives), it is considered invalid.  Caches are encouraged to</td><td> </td><td class="right">   directives), it is considered invalid.  Caches are encouraged to</td><td class="lineno" valign="top"></td></tr>
284      <tr><td class="lineno" valign="top"></td><td class="left">   consider responses that have invalid freshness information to be</td><td> </td><td class="right">   consider responses that have invalid freshness information to be</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left">   stale.</td><td> </td><td class="right">   stale.</td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">4.1.2.  Calculating Heuristic Freshness</td><td> </td><td class="right">4.1.2.  Calculating Heuristic Freshness</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left">   If no explicit expiration time is present in a stored response that</td><td> </td><td class="right">   If no explicit expiration time is present in a stored response that</td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   has a status code whose definition allows heuristic freshness to be</td><td> </td><td class="right">   has a status code whose definition allows heuristic freshness to be</td><td class="lineno" valign="top"></td></tr>
291      <tr><td><a name="diff0015" /></td></tr>
292      <tr><td class="lineno" valign="top"></td><td class="lblock">   used (including the following in Section <span class="delete">4</span> of [Part2]: 200 (OK), 203</td><td> </td><td class="rblock">   used (including the following in Section <span class="insert">7</span> of [Part2]: 200 (OK), 203</td><td class="lineno" valign="top"></td></tr>
293      <tr><td class="lineno" valign="top"></td><td class="left">   (Non-Authoritative Information), 206 (Partial Content), 300 (Multiple</td><td> </td><td class="right">   (Non-Authoritative Information), 206 (Partial Content), 300 (Multiple</td><td class="lineno" valign="top"></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   Choices), 301 (Moved Permanently) and 410 (Gone)), a cache MAY</td><td> </td><td class="right">   Choices), 301 (Moved Permanently) and 410 (Gone)), a cache MAY</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   calculate a heuristic expiration time.  A cache MUST NOT use</td><td> </td><td class="right">   calculate a heuristic expiration time.  A cache MUST NOT use</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left">   heuristics to determine freshness for responses with status codes</td><td> </td><td class="right">   heuristics to determine freshness for responses with status codes</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">   that do not explicitly allow it.</td><td> </td><td class="right">   that do not explicitly allow it.</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">   When a heuristic is used to calculate freshness lifetime, a cache</td><td> </td><td class="right">   When a heuristic is used to calculate freshness lifetime, a cache</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD attach a Warning header field with a 113 warn-code to the</td><td> </td><td class="right">   SHOULD attach a Warning header field with a 113 warn-code to the</td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">   response if its current_age is more than 24 hours and such a warning</td><td> </td><td class="right">   response if its current_age is more than 24 hours and such a warning</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left">   is not already present.</td><td> </td><td class="right">   is not already present.</td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
304      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 13, line 41</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 13, line 11</em></th><td></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="left">      The term "age_value" denotes the value of the Age header field</td><td> </td><td class="right">      The term "age_value" denotes the value of the Age header field</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">      (Section 7.1), in a form appropriate for arithmetic operation; or</td><td> </td><td class="right">      (Section 7.1), in a form appropriate for arithmetic operation; or</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left">      0, if not available.</td><td> </td><td class="right">      0, if not available.</td><td class="lineno" valign="top"></td></tr>
308      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
309      <tr><td class="lineno" valign="top"></td><td class="left">   date_value</td><td> </td><td class="right">   date_value</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">      HTTP/1.1 requires origin servers to send a Date header field, if</td><td> </td><td class="right">      HTTP/1.1 requires origin servers to send a Date header field, if</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left">      possible, with every response, giving the time at which the</td><td> </td><td class="right">      possible, with every response, giving the time at which the</td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left">      response was generated.  The term "date_value" denotes the value</td><td> </td><td class="right">      response was generated.  The term "date_value" denotes the value</td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">      of the Date header field, in a form appropriate for arithmetic</td><td> </td><td class="right">      of the Date header field, in a form appropriate for arithmetic</td><td class="lineno" valign="top"></td></tr>
315      <tr><td><a name="diff0016" /></td></tr>
316      <tr><td class="lineno" valign="top"></td><td class="lblock">      operations.  See Section <span class="delete">9.10</span> of [Part2] for the definition of the</td><td> </td><td class="rblock">      operations.  See Section <span class="insert">8.1.1.2</span> of [Part2] for the definition of</td><td class="lineno" valign="top"></td></tr>
317      <tr><td class="lineno" valign="top"></td><td class="lblock">      Date header field, and for requirements regarding responses</td><td> </td><td class="rblock">      the Date header field, and for requirements regarding responses</td><td class="lineno" valign="top"></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">      without it.</td><td> </td><td class="right">      without it.</td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left">   now</td><td> </td><td class="right">   now</td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">      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>
323      <tr><td class="lineno" valign="top"></td><td class="left">      performing the calculation".  A cache SHOULD use NTP ([RFC1305])</td><td> </td><td class="right">      performing the calculation".  A cache SHOULD use NTP ([RFC1305])</td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="left">      or some similar protocol to synchronize its clocks to a globally</td><td> </td><td class="right">      or some similar protocol to synchronize its clocks to a globally</td><td class="lineno" valign="top"></td></tr>
325      <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>
326      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   request_time</td><td> </td><td class="right">   request_time</td><td class="lineno" valign="top"></td></tr>
328      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
329      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 15, line 5</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 14, line 23</em></th><td></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="left">   The current_age of a stored response can then be calculated by adding</td><td> </td><td class="right">   The current_age of a stored response can then be calculated by adding</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="left">   the amount of time (in seconds) since the stored response was last</td><td> </td><td class="right">   the amount of time (in seconds) since the stored response was last</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="left">   validated by the origin server to the corrected_initial_age.</td><td> </td><td class="right">   validated by the origin server to the corrected_initial_age.</td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left">     resident_time = now - response_time;</td><td> </td><td class="right">     resident_time = now - response_time;</td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="left">     current_age = corrected_initial_age + resident_time;</td><td> </td><td class="right">     current_age = corrected_initial_age + resident_time;</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left">   Additionally, to avoid common problems in date parsing:</td><td> </td><td class="right">   Additionally, to avoid common problems in date parsing:</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
340      <tr><td><a name="diff0017" /></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  <span class="delete">HTTP/1.1 clients and caches</span> SHOULD assume that an RFC-850 date</td><td> </td><td class="rblock">   o  <span class="insert">Recipients</span> SHOULD assume that an RFC-850 date which appears to be</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="lblock">      which appears to be more than 50 years in the future is in fact in</td><td> </td><td class="rblock">      more than 50 years in the future is in fact in the past (this</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno" valign="top"></td><td class="lblock">      the past (this helps solve the "year 2000" problem).</td><td> </td><td class="rblock">      helps solve the "year 2000" problem).</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">   o  Although all date formats are specified to be case-sensitive,</td><td> </td><td class="right">   o  Although all date formats are specified to be case-sensitive,</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">      recipients SHOULD match day, week and timezone names case-</td><td> </td><td class="right">      recipients SHOULD match day, week and timezone names case-</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left">      insensitively.</td><td> </td><td class="right">      insensitively.</td><td class="lineno" valign="top"></td></tr>
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><a name="diff0018" /></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  An <span class="delete">HTTP/1.1</span> implementation MAY internally represent a parsed</td><td> </td><td class="rblock">   o  An implementation MAY internally represent a parsed Expires date</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="lblock">      Expires date as earlier than the proper value, but MUST NOT</td><td> </td><td class="rblock">      as earlier than the proper value, but MUST NOT internally</td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="lblock">      internally represent a parsed Expires date as later than the</td><td> </td><td class="rblock">      represent a parsed Expires date as later than the proper value.</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="lblock">      proper value.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
354      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
355      <tr><td><a name="diff0019" /></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  <span class="delete">All</span> expiration-related calculations <span class="delete">MUST be done</span> in GMT.  The</td><td> </td><td class="rblock">   o  <span class="insert">Recipients MUST perform all</span> expiration-related calculations in</td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="lblock">      local time zone MUST NOT influence the calculation or comparison</td><td> </td><td class="rblock">      GMT.  The local time zone MUST NOT influence the calculation or</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="lblock">      of an age or expiration time.</td><td> </td><td class="rblock">      comparison of an age or expiration time.</td><td class="lineno" valign="top"></td></tr>
359      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
360      <tr><td><a name="diff0020" /></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  <span class="delete">If an HTTP header field incorrectly carries a date value</span> with <span class="delete">a</span></td><td> </td><td class="rblock">   o  <span class="insert">Caches SHOULD consider dates</span> with time <span class="insert">zones</span> other than <span class="insert">"GMT"</span></td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="lblock">      time <span class="delete">zone</span> other than <span class="delete">GMT, it MUST be converted into GMT using the</span></td><td> </td><td class="rblock"><span class="insert">      invalid.</span></td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      most conservative possible conversion.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left">4.1.4.  Serving Stale Responses</td><td> </td><td class="right">4.1.4.  Serving Stale Responses</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">   A "stale" response is one that either has explicit expiry information</td><td> </td><td class="right">   A "stale" response is one that either has explicit expiry information</td><td class="lineno" valign="top"></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="left">   or is allowed to have heuristic expiry calculated, but is not fresh</td><td> </td><td class="right">   or is allowed to have heuristic expiry calculated, but is not fresh</td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="left">   according to the calculations in Section 4.1.</td><td> </td><td class="right">   according to the calculations in Section 4.1.</td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT return a stale response if it is prohibited by an</td><td> </td><td class="right">   A cache MUST NOT return a stale response if it is prohibited by an</td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno" valign="top"></td><td class="left">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td> </td><td class="right">   explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td class="lineno" valign="top"></td></tr>
373      <tr><td class="lineno" valign="top"></td><td class="left">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td> </td><td class="right">   cache directive, a "must-revalidate" cache-response-directive, or an</td><td class="lineno" valign="top"></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">   applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td> </td><td class="right">   applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">   see Section 7.2.2).</td><td> </td><td class="right">   see Section 7.2.2).</td><td class="lineno" valign="top"></td></tr>
376      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
377      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT return stale responses unless it is disconnected</td><td> </td><td class="right">   A cache MUST NOT return stale responses unless it is disconnected</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   (i.e., it cannot contact the origin server or otherwise find a</td><td> </td><td class="right">   (i.e., it cannot contact the origin server or otherwise find a</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   forward path) or doing so is explicitly allowed (e.g., by the max-</td><td> </td><td class="right">   forward path) or doing so is explicitly allowed (e.g., by the max-</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   stale request directive; see Section 7.2.1).</td><td> </td><td class="right">   stale request directive; see Section 7.2.1).</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">   A cache SHOULD append a Warning header field with the 110 warn-code</td><td> </td><td class="right">   A cache SHOULD append a Warning header field with the 110 warn-code</td><td class="lineno" valign="top"></td></tr>
383      <tr><td><a name="diff0021" /></td></tr>
384      <tr><td class="lineno" valign="top"></td><td class="lblock">   (see Section 7.<span class="delete">6</span>) to stale responses.  Likewise, a cache SHOULD add</td><td> </td><td class="rblock">   (see Section 7.<span class="insert">5</span>) to stale responses.  Likewise, a cache SHOULD add</td><td class="lineno" valign="top"></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="left">   the 112 warn-code to stale responses if the cache is disconnected.</td><td> </td><td class="right">   the 112 warn-code to stale responses if the cache is disconnected.</td><td class="lineno" valign="top"></td></tr>
386      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
387      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache receives a first-hand response (either an entire response,</td><td> </td><td class="right">   If a cache receives a first-hand response (either an entire response,</td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="left">   or a 304 (Not Modified) response) that it would normally forward to</td><td> </td><td class="right">   or a 304 (Not Modified) response) that it would normally forward to</td><td class="lineno" valign="top"></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="left">   the requesting client, and the received response is no longer fresh,</td><td> </td><td class="right">   the requesting client, and the received response is no longer fresh,</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">   the cache can forward it to the requesting client without adding a</td><td> </td><td class="right">   the cache can forward it to the requesting client without adding a</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left">   new Warning (but without removing any existing Warning header</td><td> </td><td class="right">   new Warning (but without removing any existing Warning header</td><td class="lineno" valign="top"></td></tr>
392      <tr><td class="lineno" valign="top"></td><td class="left">   fields).  A cache shouldn't attempt to validate a response simply</td><td> </td><td class="right">   fields).  A cache shouldn't attempt to validate a response simply</td><td class="lineno" valign="top"></td></tr>
393      <tr><td class="lineno" valign="top"></td><td class="left">   because that response became stale in transit.</td><td> </td><td class="right">   because that response became stale in transit.</td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
396      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 16, line 34</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 15, line 50</em></th><td></td></tr>
397      <tr><td class="lineno" valign="top"></td><td class="left">   responses contains only partial content, the cache shouldn't include</td><td> </td><td class="right">   responses contains only partial content, the cache shouldn't include</td><td class="lineno" valign="top"></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   its entity-tag in the If-None-Match header field unless the request</td><td> </td><td class="right">   its entity-tag in the If-None-Match header field unless the request</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   is for a range that would be fully satisfied by that stored response.</td><td> </td><td class="right">   is for a range that would be fully satisfied by that stored response.</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left">   Cache handling of a response to a conditional request is dependent</td><td> </td><td class="right">   Cache handling of a response to a conditional request is dependent</td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left">   upon its status code:</td><td> </td><td class="right">   upon its status code:</td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   o  A 304 (Not Modified) response status code indicates that the</td><td> </td><td class="right">   o  A 304 (Not Modified) response status code indicates that the</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">      stored response can be updated and reused; see Section 4.2.1.</td><td> </td><td class="right">      stored response can be updated and reused; see Section 4.2.1.</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
407      <tr><td><a name="diff0022" /></td></tr>
408      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  A full response (i.e., one with a <span class="delete">response</span> body) indicates that</td><td> </td><td class="rblock">   o  A full response (i.e., one with a <span class="insert">payload</span> body) indicates that</td><td class="lineno" valign="top"></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="left">      none of the stored responses nominated in the conditional request</td><td> </td><td class="right">      none of the stored responses nominated in the conditional request</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">      is suitable.  Instead, the cache can use the full response to</td><td> </td><td class="right">      is suitable.  Instead, the cache can use the full response to</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left">      satisfy the request and MAY replace the stored response(s).</td><td> </td><td class="right">      satisfy the request and MAY replace the stored response(s).</td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   o  However, if a cache receives a 5xx (Server Error) response while</td><td> </td><td class="right">   o  However, if a cache receives a 5xx (Server Error) response while</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left">      attempting to validate a response, it can either forward this</td><td> </td><td class="right">      attempting to validate a response, it can either forward this</td><td class="lineno" valign="top"></td></tr>
415      <tr><td class="lineno" valign="top"></td><td class="left">      response to the requesting client, or act as if the server failed</td><td> </td><td class="right">      response to the requesting client, or act as if the server failed</td><td class="lineno" valign="top"></td></tr>
416      <tr><td class="lineno" valign="top"></td><td class="left">      to respond.  In the latter case, it can return a previously stored</td><td> </td><td class="right">      to respond.  In the latter case, it can return a previously stored</td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left">      response (see Section 4.1.4).</td><td> </td><td class="right">      response (see Section 4.1.4).</td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
419      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
420      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 17, line 23</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 38</em></th><td></td></tr>
421      <tr><td class="lineno" valign="top"></td><td class="left">      corresponds to one of the cache's stored responses, then the most</td><td> </td><td class="right">      corresponds to one of the cache's stored responses, then the most</td><td class="lineno" valign="top"></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left">      recent of those matching stored responses is selected.</td><td> </td><td class="right">      recent of those matching stored responses is selected.</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the new response does not include any form of validator, there</td><td> </td><td class="right">   o  If the new response does not include any form of validator, there</td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left">      is only one stored response, and that stored response also lacks a</td><td> </td><td class="right">      is only one stored response, and that stored response also lacks a</td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left">      validator, then that stored response is selected.</td><td> </td><td class="right">      validator, then that stored response is selected.</td><td class="lineno" valign="top"></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left">   If a stored response is selected for update, the cache MUST:</td><td> </td><td class="right">   If a stored response is selected for update, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left">   o  delete any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  delete any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
431      <tr><td><a name="diff0023" /></td></tr>
432      <tr><td class="lineno" valign="top"></td><td class="lblock">      code 1xx (see Section 7.<span class="delete">6</span>);</td><td> </td><td class="rblock">      code 1xx (see Section 7.<span class="insert">5</span>);</td><td class="lineno" valign="top"></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="left">   o  retain any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  retain any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left">      code 2xx; and,</td><td> </td><td class="right">      code 2xx; and,</td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the 304 (Not Modified)</td><td> </td><td class="right">   o  use other header fields provided in the 304 (Not Modified)</td><td class="lineno" valign="top"></td></tr>
438      <tr><td class="lineno" valign="top"></td><td class="left">      response to replace all instances of the corresponding header</td><td> </td><td class="right">      response to replace all instances of the corresponding header</td><td class="lineno" valign="top"></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="left">      fields in the stored response.</td><td> </td><td class="right">      fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="left">4.3.  Using Negotiated Responses</td><td> </td><td class="right">4.3.  Using Negotiated Responses</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">   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>
444      <tr><td><a name="diff0024" /></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="lblock">   response that has a Vary header field (Section <span class="delete">7.5),</span> it MUST NOT use</td><td> </td><td class="rblock">   response that has a Vary header field (Section <span class="insert">8.2.1 of [Part2]),</span> it</td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="lblock">   that response unless all of the selecting header fields nominated by</td><td> </td><td class="rblock">   MUST NOT use that response unless all of the selecting header fields</td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="lblock">   the Vary header field match in both the original request (i.e., that</td><td> </td><td class="rblock">   nominated by the Vary header field match in both the original request</td><td class="lineno" valign="top"></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock">   associated with the stored response), and the presented request.</td><td> </td><td class="rblock">   (i.e., that associated with the stored response), and the presented</td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   request.</td><td class="lineno" valign="top"></td></tr>
450      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="left">   The selecting header fields from two requests are defined to match if</td><td> </td><td class="right">   The selecting header fields from two requests are defined to match if</td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="left">   and only if those in the first request can be transformed to those in</td><td> </td><td class="right">   and only if those in the first request can be transformed to those in</td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="left">   the second request by applying any of the following:</td><td> </td><td class="right">   the second request by applying any of the following:</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="left">   o  adding or removing whitespace, where allowed in the header field's</td><td> </td><td class="right">   o  adding or removing whitespace, where allowed in the header field's</td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="left">      syntax</td><td> </td><td class="right">      syntax</td><td class="lineno" valign="top"></td></tr>
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">   o  combining multiple header fields with the same field name (see</td><td> </td><td class="right">   o  combining multiple header fields with the same field name (see</td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left">      Section 3.2 of [Part1])</td><td> </td><td class="right">      Section 3.2 of [Part1])</td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
461      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 41</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 18, line 10</em></th><td></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="left">   might have received several ranges of the same representation.  A</td><td> </td><td class="right">   might have received several ranges of the same representation.  A</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="left">   cache MAY combine these ranges into a single stored response, and</td><td> </td><td class="right">   cache MAY combine these ranges into a single stored response, and</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="left">   reuse that response to satisfy later requests, if they all share the</td><td> </td><td class="right">   reuse that response to satisfy later requests, if they all share the</td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="left">   same strong validator and the cache complies with the client</td><td> </td><td class="right">   same strong validator and the cache complies with the client</td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left">   requirements in Section 4.2 of [Part5].</td><td> </td><td class="right">   requirements in Section 4.2 of [Part5].</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left">   When combining the new response with one or more stored responses, a</td><td> </td><td class="right">   When combining the new response with one or more stored responses, a</td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST:</td><td> </td><td class="right">   cache MUST:</td><td class="lineno" valign="top"></td></tr>
470      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
471      <tr><td class="lineno" valign="top"></td><td class="left">   o  delete any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  delete any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
472      <tr><td><a name="diff0025" /></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="lblock">      code 1xx (see Section 7.<span class="delete">6</span>);</td><td> </td><td class="rblock">      code 1xx (see Section 7.<span class="insert">5</span>);</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">   o  retain any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  retain any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
476      <tr><td class="lineno" valign="top"></td><td class="left">      code 2xx; and,</td><td> </td><td class="right">      code 2xx; and,</td><td class="lineno" valign="top"></td></tr>
477      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="left">   o  use other header fields provided in the new response, aside from</td><td> </td><td class="right">   o  use other header fields provided in the new response, aside from</td><td class="lineno" valign="top"></td></tr>
479      <tr><td class="lineno" valign="top"></td><td class="left">      Content-Range, to replace all instances of the corresponding</td><td> </td><td class="right">      Content-Range, to replace all instances of the corresponding</td><td class="lineno" valign="top"></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="left">      header fields in the stored response.</td><td> </td><td class="right">      header fields in the stored response.</td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left">5.  Updating Caches with HEAD Responses</td><td> </td><td class="right">5.  Updating Caches with HEAD Responses</td><td class="lineno" valign="top"></td></tr>
483      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
484      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
485      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 24</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 18, line 38</em></th><td></td></tr>
486      <tr><td class="lineno" valign="top"></td><td class="left">   Last-Modified value of a HEAD response differs from that in a</td><td> </td><td class="right">   Last-Modified value of a HEAD response differs from that in a</td><td class="lineno" valign="top"></td></tr>
487      <tr><td class="lineno" valign="top"></td><td class="left">   selected GET response, the cache MUST consider that selected response</td><td> </td><td class="right">   selected GET response, the cache MUST consider that selected response</td><td class="lineno" valign="top"></td></tr>
488      <tr><td class="lineno" valign="top"></td><td class="left">   to be stale.</td><td> </td><td class="right">   to be stale.</td><td class="lineno" valign="top"></td></tr>
489      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
490      <tr><td class="lineno" valign="top"></td><td class="left">   If the Content-Length, ETag and Last-Modified values of a HEAD</td><td> </td><td class="right">   If the Content-Length, ETag and Last-Modified values of a HEAD</td><td class="lineno" valign="top"></td></tr>
491      <tr><td class="lineno" valign="top"></td><td class="left">   response (when present) are the same as that in a selected GET</td><td> </td><td class="right">   response (when present) are the same as that in a selected GET</td><td class="lineno" valign="top"></td></tr>
492      <tr><td class="lineno" valign="top"></td><td class="left">   response (as per Section 4.3), the cache SHOULD update the remaining</td><td> </td><td class="right">   response (as per Section 4.3), the cache SHOULD update the remaining</td><td class="lineno" valign="top"></td></tr>
493      <tr><td class="lineno" valign="top"></td><td class="left">   header fields in the stored response using the following rules:</td><td> </td><td class="right">   header fields in the stored response using the following rules:</td><td class="lineno" valign="top"></td></tr>
494      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
495      <tr><td class="lineno" valign="top"></td><td class="left">   o  delete any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  delete any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
496      <tr><td><a name="diff0026" /></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="lblock">      code 1xx (see Section 7.<span class="delete">6</span>);</td><td> </td><td class="rblock">      code 1xx (see Section 7.<span class="insert">5</span>);</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left">   o  retain any Warning header fields in the stored response with warn-</td><td> </td><td class="right">   o  retain any Warning header fields in the stored response with warn-</td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">      code 2xx; and,</td><td> </td><td class="right">      code 2xx; and,</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">   o  use other header fields provided in the response to replace all</td><td> </td><td class="right">   o  use other header fields provided in the response to replace all</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left">      instances of the corresponding header fields in the stored</td><td> </td><td class="right">      instances of the corresponding header fields in the stored</td><td class="lineno" valign="top"></td></tr>
504      <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>
505      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="left">6.  Request Methods that Invalidate</td><td> </td><td class="right">6.  Request Methods that Invalidate</td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
508      <tr><td><a name="diff0027" /></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="lblock">   Because unsafe request methods (Section <span class="delete">2.1</span>.1 of [Part2]) such as</td><td> </td><td class="rblock">   Because unsafe request methods (Section <span class="insert">5.2</span>.1 of [Part2]) such as</td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">   PUT, POST or DELETE have the potential for changing state on the</td><td> </td><td class="right">   PUT, POST or DELETE have the potential for changing state on the</td><td class="lineno" valign="top"></td></tr>
511      <tr><td class="lineno" valign="top"></td><td class="left">   origin server, intervening caches can use them to keep their contents</td><td> </td><td class="right">   origin server, intervening caches can use them to keep their contents</td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">   up-to-date.</td><td> </td><td class="right">   up-to-date.</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST invalidate the effective Request URI (Section 5.5 of</td><td> </td><td class="right">   A cache MUST invalidate the effective Request URI (Section 5.5 of</td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]) as well as the URI(s) in the Location and Content-Location</td><td> </td><td class="right">   [Part1]) as well as the URI(s) in the Location and Content-Location</td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="left">   response header fields (if present) when a non-error response to a</td><td> </td><td class="right">   response header fields (if present) when a non-error response to a</td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left">   request with an unsafe method is received.</td><td> </td><td class="right">   request with an unsafe method is received.</td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
519      <tr><td class="lineno" valign="top"></td><td class="left">   However, a cache MUST NOT invalidate a URI from a Location or</td><td> </td><td class="right">   However, a cache MUST NOT invalidate a URI from a Location or</td><td class="lineno" valign="top"></td></tr>
520      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
521      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 28, line 16</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 27, line 26</em></th><td></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="left">   The "Expires" header field gives the date/time after which the</td><td> </td><td class="right">   The "Expires" header field gives the date/time after which the</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left">   response is considered stale.  See Section 4.1 for further discussion</td><td> </td><td class="right">   response is considered stale.  See Section 4.1 for further discussion</td><td class="lineno" valign="top"></td></tr>
525      <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>
526      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
527      <tr><td class="lineno" valign="top"></td><td class="left">   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>
528      <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>
529      <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>
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">   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>
532      <tr><td><a name="diff0028" /></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="lblock">   in Section <span class="delete">5.1</span> of [Part2]; a sender MUST use the rfc1123-date format.</td><td> </td><td class="rblock">   in Section <span class="insert">8.1.1.1</span> of [Part2]; a sender MUST use the rfc1123-date</td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   format.</td><td class="lineno" valign="top"></td></tr>
535      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
536      <tr><td class="lineno" valign="top"></td><td class="left">     Expires = HTTP-date</td><td> </td><td class="right">     Expires = HTTP-date</td><td class="lineno" valign="top"></td></tr>
537      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
538      <tr><td class="lineno" valign="top"></td><td class="left">   For example</td><td> </td><td class="right">   For example</td><td class="lineno" valign="top"></td></tr>
539      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
540      <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>
541      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
542      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST treat other invalid date formats, especially including</td><td> </td><td class="right">   A cache MUST treat other invalid date formats, especially including</td><td class="lineno" valign="top"></td></tr>
543      <tr><td class="lineno" valign="top"></td><td class="left">   the value "0", as in the past (i.e., "already expired").</td><td> </td><td class="right">   the value "0", as in the past (i.e., "already expired").</td><td class="lineno" valign="top"></td></tr>
544      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
545      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
546      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 29, line 35</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 28, line 46</em></th><td></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="left">     Pragma: no-cache</td><td> </td><td class="right">     Pragma: no-cache</td><td class="lineno" valign="top"></td></tr>
548      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
549      <tr><td class="lineno" valign="top"></td><td class="left">   will constrain HTTP/1.1 caches to serve a response no older than 30</td><td> </td><td class="right">   will constrain HTTP/1.1 caches to serve a response no older than 30</td><td class="lineno" valign="top"></td></tr>
550      <tr><td class="lineno" valign="top"></td><td class="left">   seconds, while precluding implementations that do not understand</td><td> </td><td class="right">   seconds, while precluding implementations that do not understand</td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="left">   Cache-Control from serving a cached response.</td><td> </td><td class="right">   Cache-Control from serving a cached response.</td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="left">      Note: Because the meaning of "Pragma: no-cache" in responses is</td><td> </td><td class="right">      Note: Because the meaning of "Pragma: no-cache" in responses is</td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="left">      not specified, it does not provide a reliable replacement for</td><td> </td><td class="right">      not specified, it does not provide a reliable replacement for</td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="left">      "Cache-Control: no-cache" in them.</td><td> </td><td class="right">      "Cache-Control: no-cache" in them.</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><a name="diff0029" /></td></tr>
558      <tr><td class="lineno" valign="top"></td><td class="lblock">7.5.  <span class="delete">Vary</span></td><td> </td><td class="rblock">7.5.  Warning</td><td class="lineno" valign="top"></td></tr>
559      <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>
560      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The "Vary" header field conveys the set of header fields that were</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
561      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   used to select the representation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
562      <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>
563      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Caches use this information, in part, to determine whether a stored</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   response can be used to satisfy a given request; see Section 4.3.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
565      <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>
566      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   In uncacheable or stale responses, the Vary field value advises the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   user agent about the criteria that were used to select the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   representation.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
569      <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>
570      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">     Vary = "*" / 1#field-name</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
571      <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>
572      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The set of header fields named by the Vary field value is known as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
573      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   the selecting header fields.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
574      <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>
575      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   A server SHOULD include a Vary header field with any cacheable</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   response that is subject to server-driven negotiation.  Doing so</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   allows a cache to properly interpret future requests on that resource</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   and informs the user agent about the presence of negotiation on that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   resource.  A server MAY include a Vary header field with a non-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   cacheable response that is subject to server-driven negotiation,</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
581      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   since this might provide the user agent with useful information about</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   the dimensions over which the response varies at the time of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
583      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   response.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
584      <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>
585      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   A Vary field value of "*" signals that unspecified parameters not</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
586      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   limited to the header fields (e.g., the network address of the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
587      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   client), play a role in the selection of the response representation;</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   therefore, a cache cannot determine whether this response is</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   appropriate.  A proxy MUST NOT generate the "*" value.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
590      <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>
591      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   The field-names given are not limited to the set of standard header</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   fields defined by this specification.  Field names are case-</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   insensitive.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
594      <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>
595      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">7.6.</span>  Warning</td><td> </td><td class="rblock"></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 class="lineno" valign="top"></td><td class="left">   The "Warning" header field is used to carry additional information</td><td> </td><td class="right">   The "Warning" header field is used to carry additional information</td><td class="lineno" valign="top"></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="left">   about the status or transformation of a message that might not be</td><td> </td><td class="right">   about the status or transformation of a message that might not be</td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="left">   reflected in the message.  This information is typically used to warn</td><td> </td><td class="right">   reflected in the message.  This information is typically used to warn</td><td class="lineno" valign="top"></td></tr>
600      <tr><td class="lineno" valign="top"></td><td class="left">   about possible incorrectness introduced by caching operations or</td><td> </td><td class="right">   about possible incorrectness introduced by caching operations or</td><td class="lineno" valign="top"></td></tr>
601      <tr><td class="lineno" valign="top"></td><td class="left">   transformations applied to the payload of the message.</td><td> </td><td class="right">   transformations applied to the payload of the message.</td><td class="lineno" valign="top"></td></tr>
602      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
603      <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>
604      <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>
605      <tr><td class="lineno" valign="top"></td><td class="left">   distinguishes these responses from true failures.</td><td> </td><td class="right">   distinguishes these responses from true failures.</td><td class="lineno" valign="top"></td></tr>
606      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
607      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 31, line 47</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 30, line 21</em></th><td></td></tr>
608      <tr><td class="lineno" valign="top"></td><td class="left">   warn-date, and that warn-date is different from the Date value in the</td><td> </td><td class="right">   warn-date, and that warn-date is different from the Date value in the</td><td class="lineno" valign="top"></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="left">   response, then that warning-value MUST be deleted from the message</td><td> </td><td class="right">   response, then that warning-value MUST be deleted from the message</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="left">   before storing, forwarding, or using it. (preventing the consequences</td><td> </td><td class="right">   before storing, forwarding, or using it. (preventing the consequences</td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left">   of naive caching of Warning header fields.)  If all of the warning-</td><td> </td><td class="right">   of naive caching of Warning header fields.)  If all of the warning-</td><td class="lineno" valign="top"></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="left">   values are deleted for this reason, the Warning header field MUST be</td><td> </td><td class="right">   values are deleted for this reason, the Warning header field MUST be</td><td class="lineno" valign="top"></td></tr>
613      <tr><td class="lineno" valign="top"></td><td class="left">   deleted as well.</td><td> </td><td class="right">   deleted as well.</td><td class="lineno" valign="top"></td></tr>
614      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
615      <tr><td class="lineno" valign="top"></td><td class="left">   The following warn-codes are defined by this specification, each with</td><td> </td><td class="right">   The following warn-codes are defined by this specification, each with</td><td class="lineno" valign="top"></td></tr>
616      <tr><td class="lineno" valign="top"></td><td class="left">   a recommended warn-text in English, and a description of its meaning.</td><td> </td><td class="right">   a recommended warn-text in English, and a description of its meaning.</td><td class="lineno" valign="top"></td></tr>
617      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
618      <tr><td><a name="diff0030" /></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.1.  110 Response is Stale</td><td> </td><td class="rblock">7.<span class="insert">5</span>.1.  110 Response is Stale</td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno" valign="top"></td><td class="left">   A cache SHOULD include this whenever the returned response is stale.</td><td> </td><td class="right">   A cache SHOULD include this whenever the returned response is stale.</td><td class="lineno" valign="top"></td></tr>
622      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
623      <tr><td><a name="diff0031" /></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.2.  111 Revalidation Failed</td><td> </td><td class="rblock">7.<span class="insert">5</span>.2.  111 Revalidation Failed</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">   A cache SHOULD include this when returning a stale response because</td><td> </td><td class="right">   A cache SHOULD include this when returning a stale response because</td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left">   an attempt to validate the response failed, due to an inability to</td><td> </td><td class="right">   an attempt to validate the response failed, due to an inability to</td><td class="lineno" valign="top"></td></tr>
628      <tr><td class="lineno" valign="top"></td><td class="left">   reach the server.</td><td> </td><td class="right">   reach the server.</td><td class="lineno" valign="top"></td></tr>
629      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
630      <tr><td><a name="diff0032" /></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.3.  112 Disconnected Operation</td><td> </td><td class="rblock">7.<span class="insert">5</span>.3.  112 Disconnected Operation</td><td class="lineno" valign="top"></td></tr>
632      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
633      <tr><td class="lineno" valign="top"></td><td class="left">   A cache SHOULD include this if it is intentionally disconnected from</td><td> </td><td class="right">   A cache SHOULD include this if it is intentionally disconnected from</td><td class="lineno" valign="top"></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="left">   the rest of the network for a period of time.</td><td> </td><td class="right">   the rest of the network for a period of time.</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><a name="diff0033" /></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.4.  113 Heuristic Expiration</td><td> </td><td class="rblock">7.<span class="insert">5</span>.4.  113 Heuristic Expiration</td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left">   A cache SHOULD include this if it heuristically chose a freshness</td><td> </td><td class="right">   A cache SHOULD include this if it heuristically chose a freshness</td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="left">   lifetime greater than 24 hours and the response's age is greater than</td><td> </td><td class="right">   lifetime greater than 24 hours and the response's age is greater than</td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="left">   24 hours.</td><td> </td><td class="right">   24 hours.</td><td class="lineno" valign="top"></td></tr>
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><a name="diff0034" /></td></tr>
644      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.5.  199 Miscellaneous Warning</td><td> </td><td class="rblock">7.<span class="insert">5</span>.5.  199 Miscellaneous Warning</td><td class="lineno" valign="top"></td></tr>
645      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="left">   The warning text can include arbitrary information to be presented to</td><td> </td><td class="right">   The warning text can include arbitrary information to be presented to</td><td class="lineno" valign="top"></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="left">   a human user, or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="right">   a human user, or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="left">   take any automated action, besides presenting the warning to the</td><td> </td><td class="right">   take any automated action, besides presenting the warning to the</td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   user.</td><td> </td><td class="right">   user.</td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
651      <tr><td><a name="diff0035" /></td></tr>
652      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.6.  214 Transformation Applied</td><td> </td><td class="rblock">7.<span class="insert">5</span>.6.  214 Transformation Applied</td><td class="lineno" valign="top"></td></tr>
653      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="left">   MUST be added by a proxy if it applies any transformation to the</td><td> </td><td class="right">   MUST be added by a proxy if it applies any transformation to the</td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left">   representation, such as changing the content-coding, media-type, or</td><td> </td><td class="right">   representation, such as changing the content-coding, media-type, or</td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno" valign="top"></td><td class="left">   modifying the representation data, unless this Warning code already</td><td> </td><td class="right">   modifying the representation data, unless this Warning code already</td><td class="lineno" valign="top"></td></tr>
657      <tr><td class="lineno" valign="top"></td><td class="left">   appears in the response.</td><td> </td><td class="right">   appears in the response.</td><td class="lineno" valign="top"></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
659      <tr><td><a name="diff0036" /></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.7.  299 Miscellaneous Persistent Warning</td><td> </td><td class="rblock">7.<span class="insert">5</span>.7.  299 Miscellaneous Persistent Warning</td><td class="lineno" valign="top"></td></tr>
661      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
662      <tr><td class="lineno" valign="top"></td><td class="left">   The warning text can include arbitrary information to be presented to</td><td> </td><td class="right">   The warning text can include arbitrary information to be presented to</td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left">   a human user, or logged.  A system receiving this warning MUST NOT</td><td> </td><td class="right">   a human user, or logged.  A system receiving this warning MUST NOT</td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left">   take any automated action.</td><td> </td><td class="right">   take any automated action.</td><td class="lineno" valign="top"></td></tr>
665      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
666      <tr><td><a name="diff0037" /></td></tr>
667      <tr><td class="lineno" valign="top"></td><td class="lblock">7.<span class="delete">6</span>.8.  Warn Code Extensions</td><td> </td><td class="rblock">7.<span class="insert">5</span>.8.  Warn Code Extensions</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">   The HTTP Warn Code Registry defines the name space for warn codes.</td><td> </td><td class="right">   The HTTP Warn Code Registry defines the name space for warn codes.</td><td class="lineno" valign="top"></td></tr>
670      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
671      <tr><td class="lineno" valign="top"></td><td class="left">   A registration MUST include the following fields:</td><td> </td><td class="right">   A registration MUST include the following fields:</td><td class="lineno" valign="top"></td></tr>
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">   o  Warn Code (3 digits)</td><td> </td><td class="right">   o  Warn Code (3 digits)</td><td class="lineno" valign="top"></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
675      <tr><td class="lineno" valign="top"></td><td class="left">   o  Short Description</td><td> </td><td class="right">   o  Short Description</td><td class="lineno" valign="top"></td></tr>
676      <tr><td><a name="diff0038" /></td></tr>
677      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">                                                                         </span></td><td class="lineno" valign="top"></td></tr>
678      <tr><td class="lineno" valign="top"></td><td class="left">   o  Pointer to specification text</td><td> </td><td class="right">   o  Pointer to specification text</td><td class="lineno" valign="top"></td></tr>
679      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="left">   Values to be added to this name space require IETF Review (see</td><td> </td><td class="right">   Values to be added to this name space require IETF Review (see</td><td class="lineno" valign="top"></td></tr>
681      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5226], Section 4.1).</td><td> </td><td class="right">   [RFC5226], Section 4.1).</td><td class="lineno" valign="top"></td></tr>
682      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
683      <tr><td class="lineno" valign="top"></td><td class="left">   The registry itself is maintained at</td><td> </td><td class="right">   The registry itself is maintained at</td><td class="lineno" valign="top"></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-warn-codes&gt;.</td><td class="lineno" valign="top"></td></tr>
685      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="left">8.  History Lists</td><td> </td><td class="right">8.  History Lists</td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
688      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
689      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 34, line 27</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 32, line 31</em></th><td></td></tr>
690      <tr><td class="lineno" valign="top"></td><td class="left">   | proxy-revalidate       | Section 7.2.2.6                  |</td><td> </td><td class="right">   | proxy-revalidate       | Section 7.2.2.6                  |</td><td class="lineno" valign="top"></td></tr>
691      <tr><td class="lineno" valign="top"></td><td class="left">   | public                 | Section 7.2.2.1                  |</td><td> </td><td class="right">   | public                 | Section 7.2.2.1                  |</td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="left">   | s-maxage               | Section 7.2.2.8                  |</td><td> </td><td class="right">   | s-maxage               | Section 7.2.2.8                  |</td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="left">   | stale-if-error         | [RFC5861], Section 4             |</td><td> </td><td class="right">   | stale-if-error         | [RFC5861], Section 4             |</td><td class="lineno" valign="top"></td></tr>
694      <tr><td class="lineno" valign="top"></td><td class="left">   | stale-while-revalidate | [RFC5861], Section 3             |</td><td> </td><td class="right">   | stale-while-revalidate | [RFC5861], Section 3             |</td><td class="lineno" valign="top"></td></tr>
695      <tr><td class="lineno" valign="top"></td><td class="left">   +------------------------+----------------------------------+</td><td> </td><td class="right">   +------------------------+----------------------------------+</td><td class="lineno" valign="top"></td></tr>
696      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
697      <tr><td class="lineno" valign="top"></td><td class="left">9.2.  Warn Code Registry</td><td> </td><td class="right">9.2.  Warn Code Registry</td><td class="lineno" valign="top"></td></tr>
698      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
699      <tr><td class="lineno" valign="top"></td><td class="left">   The registration procedure for HTTP Warn Codes is defined by</td><td> </td><td class="right">   The registration procedure for HTTP Warn Codes is defined by</td><td class="lineno" valign="top"></td></tr>
700      <tr><td><a name="diff0039" /></td></tr>
701      <tr><td class="lineno" valign="top"></td><td class="lblock">   Section 7.<span class="delete">6</span>.8 of this document.</td><td> </td><td class="rblock">   Section 7.<span class="insert">5</span>.8 of this document.</td><td class="lineno" valign="top"></td></tr>
702      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
703      <tr><td class="lineno" valign="top"></td><td class="left">   The HTTP Warn Code Registry shall be created at</td><td> </td><td class="right">   The HTTP Warn Code Registry shall be created at</td><td class="lineno" valign="top"></td></tr>
704      <tr><td class="lineno" valign="top"></td><td class="left">   &lt;http://www.iana.org/assignments/http-cache-directives&gt; and be</td><td> </td><td class="right">   &lt;http://www.iana.org/assignments/http-cache-directives&gt; and be</td><td class="lineno" valign="top"></td></tr>
705      <tr><td class="lineno" valign="top"></td><td class="left">   populated with the registrations below:</td><td> </td><td class="right">   populated with the registrations below:</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">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
708      <tr><td class="lineno" valign="top"></td><td class="left">   | Warn Code | Short Description                | Reference     |</td><td> </td><td class="right">   | Warn Code | Short Description                | Reference     |</td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</td><td class="lineno" valign="top"></td></tr>
710      <tr><td><a name="diff0040" /></td></tr>
711      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 110       | Response is Stale                | Section <span class="delete">7.6.1</span> |</td><td> </td><td class="rblock">   | 110       | Response is Stale                | Section <span class="insert">7.5.1</span> |</td><td class="lineno" valign="top"></td></tr>
712      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 111       | Revalidation Failed              | Section <span class="delete">7.6.2</span> |</td><td> </td><td class="rblock">   | 111       | Revalidation Failed              | Section <span class="insert">7.5.2</span> |</td><td class="lineno" valign="top"></td></tr>
713      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 112       | Disconnected Operation           | Section <span class="delete">7.6.3</span> |</td><td> </td><td class="rblock">   | 112       | Disconnected Operation           | Section <span class="insert">7.5.3</span> |</td><td class="lineno" valign="top"></td></tr>
714      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 113       | Heuristic Expiration             | Section <span class="delete">7.6.4</span> |</td><td> </td><td class="rblock">   | 113       | Heuristic Expiration             | Section <span class="insert">7.5.4</span> |</td><td class="lineno" valign="top"></td></tr>
715      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 199       | Miscellaneous Warning            | Section <span class="delete">7.6.5</span> |</td><td> </td><td class="rblock">   | 199       | Miscellaneous Warning            | Section <span class="insert">7.5.5</span> |</td><td class="lineno" valign="top"></td></tr>
716      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 214       | Transformation Applied           | Section <span class="delete">7.6.6</span> |</td><td> </td><td class="rblock">   | 214       | Transformation Applied           | Section <span class="insert">7.5.6</span> |</td><td class="lineno" valign="top"></td></tr>
717      <tr><td class="lineno" valign="top"></td><td class="lblock">   | 299       | Miscellaneous Persistent Warning | Section <span class="delete">7.6.7</span> |</td><td> </td><td class="rblock">   | 299       | Miscellaneous Persistent Warning | Section <span class="insert">7.5.7</span> |</td><td class="lineno" valign="top"></td></tr>
718      <tr><td class="lineno" valign="top"></td><td class="left">   +-----------+----------------------------------+---------------+</td><td> </td><td class="right">   +-----------+----------------------------------+---------------+</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">9.3.  Header Field Registration</td><td> </td><td class="right">9.3.  Header Field Registration</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">   The Message Header Field Registry located at &lt;http://www.iana.org/</td><td> </td><td class="right">   The Message Header Field Registry located at &lt;http://www.iana.org/</td><td class="lineno" valign="top"></td></tr>
723      <tr><td class="lineno" valign="top"></td><td class="left">   assignments/message-headers/message-header-index.html&gt; shall be</td><td> </td><td class="right">   assignments/message-headers/message-header-index.html&gt; shall be</td><td class="lineno" valign="top"></td></tr>
724      <tr><td class="lineno" valign="top"></td><td class="left">   updated with the permanent registrations below (see [RFC3864]):</td><td> </td><td class="right">   updated with the permanent registrations below (see [RFC3864]):</td><td class="lineno" valign="top"></td></tr>
725      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
726      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
727      <tr><td class="lineno" valign="top"></td><td class="left">   | Header Field Name | Protocol | Status   | Reference   |</td><td> </td><td class="right">   | Header Field Name | Protocol | Status   | Reference   |</td><td class="lineno" valign="top"></td></tr>
728      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
729      <tr><td class="lineno" valign="top"></td><td class="left">   | Age               | http     | standard | Section 7.1 |</td><td> </td><td class="right">   | Age               | http     | standard | Section 7.1 |</td><td class="lineno" valign="top"></td></tr>
730      <tr><td class="lineno" valign="top"></td><td class="left">   | Cache-Control     | http     | standard | Section 7.2 |</td><td> </td><td class="right">   | Cache-Control     | http     | standard | Section 7.2 |</td><td class="lineno" valign="top"></td></tr>
731      <tr><td class="lineno" valign="top"></td><td class="left">   | Expires           | http     | standard | Section 7.3 |</td><td> </td><td class="right">   | Expires           | http     | standard | Section 7.3 |</td><td class="lineno" valign="top"></td></tr>
732      <tr><td class="lineno" valign="top"></td><td class="left">   | Pragma            | http     | standard | Section 7.4 |</td><td> </td><td class="right">   | Pragma            | http     | standard | Section 7.4 |</td><td class="lineno" valign="top"></td></tr>
733      <tr><td><a name="diff0041" /></td></tr>
734      <tr><td class="lineno" valign="top"></td><td class="lblock">   | <span class="delete">Vary              | http     | standard | Section 7.5 |</span></td><td> </td><td class="rblock">   | Warning           | http     | standard | Section <span class="insert">7.5</span> |</td><td class="lineno" valign="top"></td></tr>
735      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   |</span> Warning           | http     | standard | Section <span class="delete">7.6</span> |</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
736      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
737      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
738      <tr><td class="lineno" valign="top"></td><td class="left">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td> </td><td class="right">   The change controller is: "IETF (iesg@ietf.org) - Internet</td><td class="lineno" valign="top"></td></tr>
739      <tr><td class="lineno" valign="top"></td><td class="left">   Engineering Task Force".</td><td> </td><td class="right">   Engineering Task Force".</td><td class="lineno" valign="top"></td></tr>
740      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
741      <tr><td class="lineno" valign="top"></td><td class="left">10.  Security Considerations</td><td> </td><td class="right">10.  Security Considerations</td><td class="lineno" valign="top"></td></tr>
742      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
743      <tr><td class="lineno" valign="top"></td><td class="left">   Caches expose additional potential vulnerabilities, since the</td><td> </td><td class="right">   Caches expose additional potential vulnerabilities, since the</td><td class="lineno" valign="top"></td></tr>
744      <tr><td class="lineno" valign="top"></td><td class="left">   contents of the cache represent an attractive target for malicious</td><td> </td><td class="right">   contents of the cache represent an attractive target for malicious</td><td class="lineno" valign="top"></td></tr>
745      <tr><td class="lineno" valign="top"></td><td class="left">   exploitation.  Because cache contents persist after an HTTP request</td><td> </td><td class="right">   exploitation.  Because cache contents persist after an HTTP request</td><td class="lineno" valign="top"></td></tr>
746      <tr><td class="lineno" valign="top"></td><td class="left">   is complete, an attack on the cache can reveal information long after</td><td> </td><td class="right">   is complete, an attack on the cache can reveal information long after</td><td class="lineno" valign="top"></td></tr>
747      <tr><td class="lineno" valign="top"></td><td class="left">   a user believes that the information has been removed from the</td><td> </td><td class="right">   a user believes that the information has been removed from the</td><td class="lineno" valign="top"></td></tr>
748      <tr><td class="lineno" valign="top"></td><td class="left">   network.  Therefore, cache contents need to be protected as sensitive</td><td> </td><td class="right">   network.  Therefore, cache contents need to be protected as sensitive</td><td class="lineno" valign="top"></td></tr>
749      <tr><td class="lineno" valign="top"></td><td class="left">   information.</td><td> </td><td class="right">   information.</td><td class="lineno" valign="top"></td></tr>
750      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
751      <tr><td><a name="diff0042" /></td></tr>
752      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Implementation flaws might allow attackers to insert content into a</span></td><td class="lineno" valign="top"></td></tr>
753      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   cache ("cache poisoning"), leading to compromise of clients that</span></td><td class="lineno" valign="top"></td></tr>
754      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   trust that content.  Because of their nature, these attacks are</span></td><td class="lineno" valign="top"></td></tr>
755      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   difficult to mitigate.</span></td><td class="lineno" valign="top"></td></tr>
756      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
757      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Likewise, implementation flaws (as well as misunderstanding of cache</span></td><td class="lineno" valign="top"></td></tr>
758      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   operation) might lead to caching of sensitive information (e.g.,</span></td><td class="lineno" valign="top"></td></tr>
759      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   authentication credentials) that is thought to be private, exposing</span></td><td class="lineno" valign="top"></td></tr>
760      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   it to unauthorised parties.</span></td><td class="lineno" valign="top"></td></tr>
761      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
762      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Note that the Set-Cookie response header [RFC6265] does not inhibit</span></td><td class="lineno" valign="top"></td></tr>
763      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   caching; a cacheable response with a Set-Cookie header can be (and</span></td><td class="lineno" valign="top"></td></tr>
764      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   often is) used to satisfy subsequent requests to caches.  Servers who</span></td><td class="lineno" valign="top"></td></tr>
765      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   wish to control caching of these responses are encouraged to emit</span></td><td class="lineno" valign="top"></td></tr>
766      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   appropriate Cache-Control response headers.</span></td><td class="lineno" valign="top"></td></tr>
767      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
768      <tr><td class="lineno" valign="top"></td><td class="left">11.  Acknowledgments</td><td> </td><td class="right">11.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
769      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
770      <tr><td class="lineno" valign="top"></td><td class="left">   See Section 9 of [Part1].</td><td> </td><td class="right">   See Section 9 of [Part1].</td><td class="lineno" valign="top"></td></tr>
771      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
772      <tr><td class="lineno" valign="top"></td><td class="left">12.  References</td><td> </td><td class="right">12.  References</td><td class="lineno" valign="top"></td></tr>
773      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
774      <tr><td class="lineno" valign="top"></td><td class="left">12.1.  Normative References</td><td> </td><td class="right">12.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
775      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
776      <tr><td><a name="diff0043" /></td></tr>
777      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part1]    Fielding, R., <span class="delete">Ed., Lafon, Y., Ed.,</span> and J. Reschke, Ed.,</td><td> </td><td class="rblock">   [Part1]    Fielding, R., <span class="insert">Ed.</span> and J. Reschke, Ed., <span class="insert">"Hypertext Transfer</span></td><td class="lineno" valign="top"></td></tr>
778      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">"HTTP/1.1, part 1:</span> Message <span class="delete">Routing</span> and <span class="delete">Syntax"",</span></td><td> </td><td class="rblock"><span class="insert">              Protocol (HTTP/1.1):</span> Message <span class="insert">Syntax</span> and <span class="insert">Routing",</span></td><td class="lineno" valign="top"></td></tr>
779      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              draft-ietf-httpbis-p1-messaging-20</span> (work in progress),</td><td> </td><td class="rblock"><span class="insert">              draft-ietf-httpbis-p1-messaging-21</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
780      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2012.</td><td> </td><td class="rblock">              <span class="insert">October</span> 2012.</td><td class="lineno" valign="top"></td></tr>
781      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
782      <tr><td><a name="diff0044" /></td></tr>
783      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part2]    Fielding, R., <span class="delete">Ed., Lafon, Y., Ed.,</span> and J. Reschke, Ed.,</td><td> </td><td class="rblock">   [Part2]    Fielding, R., <span class="insert">Ed.</span> and J. Reschke, Ed., <span class="insert">"Hypertext Transfer</span></td><td class="lineno" valign="top"></td></tr>
784      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">"HTTP/1.1, part 2:</span> Semantics and <span class="delete">Payloads",</span></td><td> </td><td class="rblock"><span class="insert">              Protocol (HTTP/1.1):</span> Semantics and <span class="insert">Content",</span></td><td class="lineno" valign="top"></td></tr>
785      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">              draft-ietf-httpbis-p2-semantics-20</span> (work in progress),</td><td> </td><td class="rblock"><span class="insert">              draft-ietf-httpbis-p2-semantics-21</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
786      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2012.</td><td> </td><td class="rblock">              <span class="insert">October</span> 2012.</td><td class="lineno" valign="top"></td></tr>
787      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
788      <tr><td><a name="diff0045" /></td></tr>
789      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part4]    Fielding, R., <span class="delete">Ed., Lafon, Y., Ed.,</span> and J. Reschke, Ed.,</td><td> </td><td class="rblock">   [Part4]    Fielding, R., <span class="insert">Ed.</span> and J. Reschke, Ed., <span class="insert">"Hypertext Transfer</span></td><td class="lineno" valign="top"></td></tr>
790      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">"HTTP/1.1, part 4:</span> Conditional Requests",</td><td> </td><td class="rblock"><span class="insert">              Protocol (HTTP/1.1):</span> Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
791      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p4-conditional-20</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p4-conditional-21</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
792      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2012.</td><td> </td><td class="rblock">              <span class="insert">October</span> 2012.</td><td class="lineno" valign="top"></td></tr>
793      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
794      <tr><td class="lineno" valign="top"></td><td class="left">   [Part5]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td> </td><td class="right">   [Part5]    Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,</td><td class="lineno" valign="top"></td></tr>
795      <tr><td><a name="diff0046" /></td></tr>
796      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">"HTTP/1.1, part 5:</span> Range Requests",</td><td> </td><td class="rblock">              <span class="insert">"Hypertext Transfer Protocol (HTTP/1.1):</span> Range Requests",</td><td class="lineno" valign="top"></td></tr>
797      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p5-range-20</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p5-range-21</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
798      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2012.</td><td> </td><td class="rblock">              <span class="insert">October</span> 2012.</td><td class="lineno" valign="top"></td></tr>
799      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
800      <tr><td><a name="diff0047" /></td></tr>
801      <tr><td class="lineno" valign="top"></td><td class="lblock">   [Part7]    Fielding, R., <span class="delete">Ed., Lafon, Y., Ed.,</span> and J. Reschke, Ed.,</td><td> </td><td class="rblock">   [Part7]    Fielding, R., <span class="insert">Ed.</span> and J. Reschke, Ed., <span class="insert">"Hypertext Transfer</span></td><td class="lineno" valign="top"></td></tr>
802      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">"HTTP/1.1, part 7:</span> Authentication",</td><td> </td><td class="rblock"><span class="insert">              Protocol (HTTP/1.1):</span> Authentication",</td><td class="lineno" valign="top"></td></tr>
803      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p7-auth-20</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p7-auth-21</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
804      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">July</span> 2012.</td><td> </td><td class="rblock">              <span class="insert">October</span> 2012.</td><td class="lineno" valign="top"></td></tr>
805      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
806      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td> </td><td class="right">   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate</td><td class="lineno" valign="top"></td></tr>
807      <tr><td class="lineno" valign="top"></td><td class="left">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td> </td><td class="right">              Requirement Levels", BCP 14, RFC 2119, March 1997.</td><td class="lineno" valign="top"></td></tr>
808      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
809      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td> </td><td class="right">   [RFC5234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax</td><td class="lineno" valign="top"></td></tr>
810      <tr><td class="lineno" valign="top"></td><td class="left">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td> </td><td class="right">              Specifications: ABNF", STD 68, RFC 5234, January 2008.</td><td class="lineno" valign="top"></td></tr>
811      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
812      <tr><td class="lineno" valign="top"></td><td class="left">12.2.  Informative References</td><td> </td><td class="right">12.2.  Informative References</td><td class="lineno" valign="top"></td></tr>
813      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
814      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC1305]  Mills, D., "Network Time Protocol (Version 3)</td><td> </td><td class="right">   [RFC1305]  Mills, D., "Network Time Protocol (Version 3)</td><td class="lineno" valign="top"></td></tr>
815      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
816      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 36, line 39</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 35, line 16</em></th><td></td></tr>
817      <tr><td class="lineno" valign="top"></td><td class="left">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td> </td><td class="right">              Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td class="lineno" valign="top"></td></tr>
818      <tr><td class="lineno" valign="top"></td><td class="left">              September 2004.</td><td> </td><td class="right">              September 2004.</td><td class="lineno" valign="top"></td></tr>
819      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
820      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td> </td><td class="right">   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td class="lineno" valign="top"></td></tr>
821      <tr><td class="lineno" valign="top"></td><td class="left">              IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td> </td><td class="right">              IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td class="lineno" valign="top"></td></tr>
822      <tr><td class="lineno" valign="top"></td><td class="left">              May 2008.</td><td> </td><td class="right">              May 2008.</td><td class="lineno" valign="top"></td></tr>
823      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
824      <tr><td class="lineno" valign="top"></td><td class="left">   [RFC5861]  Nottingham, M., "HTTP Cache-Control Extensions for Stale</td><td> </td><td class="right">   [RFC5861]  Nottingham, M., "HTTP Cache-Control Extensions for Stale</td><td class="lineno" valign="top"></td></tr>
825      <tr><td class="lineno" valign="top"></td><td class="left">              Content", RFC 5861, April 2010.</td><td> </td><td class="right">              Content", RFC 5861, April 2010.</td><td class="lineno" valign="top"></td></tr>
826      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
827      <tr><td><a name="diff0048" /></td></tr>
828      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">[RFC6265]  Barth, A., "HTTP State Management Mechanism", RFC 6265,</span></td><td class="lineno" valign="top"></td></tr>
829      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">              April 2011.</span></td><td class="lineno" valign="top"></td></tr>
830      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
831      <tr><td class="lineno" valign="top"></td><td class="left">Appendix A.  Changes from RFC 2616</td><td> </td><td class="right">Appendix A.  Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr>
832      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
833      <tr><td class="lineno" valign="top"></td><td class="left">   Make the specified age calculation algorithm less conservative.</td><td> </td><td class="right">   Make the specified age calculation algorithm less conservative.</td><td class="lineno" valign="top"></td></tr>
834      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.1.3)</td><td> </td><td class="right">   (Section 4.1.3)</td><td class="lineno" valign="top"></td></tr>
835      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
836      <tr><td><a name="diff0049" /></td></tr>
837      <tr><td class="lineno" valign="top"></td><td class="lblock">   Remove requirement to consider <span class="delete">Content-Location</span> in successful</td><td> </td><td class="rblock">   Remove requirement to consider <span class="insert">"Content-Location"</span> in successful</td><td class="lineno" valign="top"></td></tr>
838      <tr><td class="lineno" valign="top"></td><td class="left">   responses in order to determine the appropriate response to use.</td><td> </td><td class="right">   responses in order to determine the appropriate response to use.</td><td class="lineno" valign="top"></td></tr>
839      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2)</td><td> </td><td class="right">   (Section 4.2)</td><td class="lineno" valign="top"></td></tr>
840      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
841      <tr><td class="lineno" valign="top"></td><td class="left">   Clarify denial of service attack avoidance requirement.  (Section 6)</td><td> </td><td class="right">   Clarify denial of service attack avoidance requirement.  (Section 6)</td><td class="lineno" valign="top"></td></tr>
842      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
843      <tr><td><a name="diff0050" /></td></tr>
844      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Change ABNF productions for header fields to only define the field</span></td><td> </td><td class="rblock">   Do not mention RFC 2047 encoding and multiple languages in <span class="insert">"Warning"</span></td><td class="lineno" valign="top"></td></tr>
845      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   value.  (Section 7)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
846      <tr><td class="lineno" valign="top"></td><td class="lblock">   Do not mention RFC 2047 encoding and multiple languages in <span class="delete">Warning</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
847      <tr><td class="lineno" valign="top"></td><td class="left">   header fields anymore, as these aspects never were implemented.</td><td> </td><td class="right">   header fields anymore, as these aspects never were implemented.</td><td class="lineno" valign="top"></td></tr>
848      <tr><td><a name="diff0051" /></td></tr>
849      <tr><td class="lineno" valign="top"></td><td class="lblock">   (Section 7.<span class="delete">6</span>)</td><td> </td><td class="rblock">   (Section 7.<span class="insert">5</span>)</td><td class="lineno" valign="top"></td></tr>
850      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
851      <tr><td class="lineno" valign="top"></td><td class="left">   Introduce Cache Directive and Warn Code Registries.  (Section 7.2.3</td><td> </td><td class="right">   Introduce Cache Directive and Warn Code Registries.  (Section 7.2.3</td><td class="lineno" valign="top"></td></tr>
852      <tr><td><a name="diff0052" /></td></tr>
853      <tr><td class="lineno" valign="top"></td><td class="lblock">   and Section 7.<span class="delete">6</span>.8)</td><td> </td><td class="rblock">   and Section 7.<span class="insert">5</span>.8)</td><td class="lineno" valign="top"></td></tr>
854      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
855      <tr><td class="lineno" valign="top"></td><td class="left">Appendix B.  Imported ABNF</td><td> </td><td class="right">Appendix B.  Imported ABNF</td><td class="lineno" valign="top"></td></tr>
856      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
857      <tr><td class="lineno" valign="top"></td><td class="left">   The following core rules are included by reference, as defined in</td><td> </td><td class="right">   The following core rules are included by reference, as defined in</td><td class="lineno" valign="top"></td></tr>
858      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td> </td><td class="right">   Appendix B.1 of [RFC5234]: ALPHA (letters), CR (carriage return),</td><td class="lineno" valign="top"></td></tr>
859      <tr><td class="lineno" valign="top"></td><td class="left">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td> </td><td class="right">   CRLF (CR LF), CTL (controls), DIGIT (decimal 0-9), DQUOTE (double</td><td class="lineno" valign="top"></td></tr>
860      <tr><td class="lineno" valign="top"></td><td class="left">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td> </td><td class="right">   quote), HEXDIG (hexadecimal 0-9/A-F/a-f), LF (line feed), OCTET (any</td><td class="lineno" valign="top"></td></tr>
861      <tr><td class="lineno" valign="top"></td><td class="left">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td> </td><td class="right">   8-bit sequence of data), SP (space), and VCHAR (any visible US-ASCII</td><td class="lineno" valign="top"></td></tr>
862      <tr><td class="lineno" valign="top"></td><td class="left">   character).</td><td> </td><td class="right">   character).</td><td class="lineno" valign="top"></td></tr>
863      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
864      <tr><td class="lineno" valign="top"></td><td class="left">   The rules below are defined in [Part1]:</td><td> </td><td class="right">   The rules below are defined in [Part1]:</td><td class="lineno" valign="top"></td></tr>
865      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
866      <tr><td class="lineno" valign="top"></td><td class="left">     OWS           = &lt;OWS, defined in [Part1], Section 3.2.1&gt;</td><td> </td><td class="right">     OWS           = &lt;OWS, defined in [Part1], Section 3.2.1&gt;</td><td class="lineno" valign="top"></td></tr>
867      <tr><td class="lineno" valign="top"></td><td class="left">     field-name    = &lt;field-name, defined in [Part1], Section 3.2&gt;</td><td> </td><td class="right">     field-name    = &lt;field-name, defined in [Part1], Section 3.2&gt;</td><td class="lineno" valign="top"></td></tr>
868      <tr><td class="lineno" valign="top"></td><td class="left">     quoted-string = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;</td><td> </td><td class="right">     quoted-string = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;</td><td class="lineno" valign="top"></td></tr>
869      <tr><td class="lineno" valign="top"></td><td class="left">     token         = &lt;token, defined in [Part1], Section 3.2.4&gt;</td><td> </td><td class="right">     token         = &lt;token, defined in [Part1], Section 3.2.4&gt;</td><td class="lineno" valign="top"></td></tr>
870      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
871      <tr><td><a name="diff0053" /></td></tr>
872      <tr><td class="lineno" valign="top"></td><td class="lblock">     port          = &lt;port, defined in [Part1], Section <span class="delete">2.8&gt;</span></td><td> </td><td class="rblock">     port          = &lt;port, defined in [Part1], Section <span class="insert">2.7&gt;</span></td><td class="lineno" valign="top"></td></tr>
873      <tr><td class="lineno" valign="top"></td><td class="lblock">     pseudonym     = &lt;pseudonym, defined in [Part1], Section <span class="delete">6.2&gt;</span></td><td> </td><td class="rblock">     pseudonym     = &lt;pseudonym, defined in [Part1], Section <span class="insert">5.7&gt;</span></td><td class="lineno" valign="top"></td></tr>
874      <tr><td class="lineno" valign="top"></td><td class="lblock">     uri-host      = &lt;uri-host, defined in [Part1], Section <span class="delete">2.8&gt;</span></td><td> </td><td class="rblock">     uri-host      = &lt;uri-host, defined in [Part1], Section <span class="insert">2.7&gt;</span></td><td class="lineno" valign="top"></td></tr>
875      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
876      <tr><td class="lineno" valign="top"></td><td class="left">   The rules below are defined in other parts:</td><td> </td><td class="right">   The rules below are defined in other parts:</td><td class="lineno" valign="top"></td></tr>
877      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
878      <tr><td><a name="diff0054" /></td></tr>
879      <tr><td class="lineno" valign="top"></td><td class="lblock">     HTTP-date     = &lt;HTTP-date, defined in [Part2], Section <span class="delete">5</span>.1&gt;</td><td> </td><td class="rblock">     HTTP-date     = &lt;HTTP-date, defined in [Part2], Section <span class="insert">8.1.1</span>.1&gt;</td><td class="lineno" valign="top"></td></tr>
880      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
881      <tr><td class="lineno" valign="top"></td><td class="left">Appendix C.  Collected ABNF</td><td> </td><td class="right">Appendix C.  Collected ABNF</td><td class="lineno" valign="top"></td></tr>
882      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
883      <tr><td class="lineno" valign="top"></td><td class="left">   Age = delta-seconds</td><td> </td><td class="right">   Age = delta-seconds</td><td class="lineno" valign="top"></td></tr>
884      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
885      <tr><td class="lineno" valign="top"></td><td class="left">   Cache-Control = *( "," OWS ) cache-directive *( OWS "," [ OWS</td><td> </td><td class="right">   Cache-Control = *( "," OWS ) cache-directive *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
886      <tr><td class="lineno" valign="top"></td><td class="left">    cache-directive ] )</td><td> </td><td class="right">    cache-directive ] )</td><td class="lineno" valign="top"></td></tr>
887      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
888      <tr><td class="lineno" valign="top"></td><td class="left">   Expires = HTTP-date</td><td> </td><td class="right">   Expires = HTTP-date</td><td class="lineno" valign="top"></td></tr>
889      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
890      <tr><td><a name="diff0055" /></td></tr>
891      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section <span class="delete">5</span>.1&gt;</td><td> </td><td class="rblock">   HTTP-date = &lt;HTTP-date, defined in [Part2], Section <span class="insert">8.1.1</span>.1&gt;</td><td class="lineno" valign="top"></td></tr>
892      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
893      <tr><td class="lineno" valign="top"></td><td class="left">   OWS = &lt;OWS, defined in [Part1], Section 3.2.1&gt;</td><td> </td><td class="right">   OWS = &lt;OWS, defined in [Part1], Section 3.2.1&gt;</td><td class="lineno" valign="top"></td></tr>
894      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
895      <tr><td class="lineno" valign="top"></td><td class="left">   Pragma = *( "," OWS ) pragma-directive *( OWS "," [ OWS</td><td> </td><td class="right">   Pragma = *( "," OWS ) pragma-directive *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
896      <tr><td class="lineno" valign="top"></td><td class="left">    pragma-directive ] )</td><td> </td><td class="right">    pragma-directive ] )</td><td class="lineno" valign="top"></td></tr>
897      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
898      <tr><td><a name="diff0056" /></td></tr>
899      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Vary = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
900      <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>
901      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
902      <tr><td class="lineno" valign="top"></td><td class="left">   Warning = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ]</td><td> </td><td class="right">   Warning = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ]</td><td class="lineno" valign="top"></td></tr>
903      <tr><td class="lineno" valign="top"></td><td class="left">    )</td><td> </td><td class="right">    )</td><td class="lineno" valign="top"></td></tr>
904      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
905      <tr><td class="lineno" valign="top"></td><td class="left">   cache-directive = token [ "=" ( token / quoted-string ) ]</td><td> </td><td class="right">   cache-directive = token [ "=" ( token / quoted-string ) ]</td><td class="lineno" valign="top"></td></tr>
906      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
907      <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>
908      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
909      <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>
910      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
911      <tr><td class="lineno" valign="top"></td><td class="left">   field-name = &lt;field-name, defined in [Part1], Section 3.2&gt;</td><td> </td><td class="right">   field-name = &lt;field-name, defined in [Part1], Section 3.2&gt;</td><td class="lineno" valign="top"></td></tr>
912      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
913      <tr><td><a name="diff0057" /></td></tr>
914      <tr><td class="lineno" valign="top"></td><td class="lblock">   port = &lt;port, defined in [Part1], Section 2.<span class="delete">8</span>&gt;</td><td> </td><td class="rblock">   port = &lt;port, defined in [Part1], Section 2.<span class="insert">7</span>&gt;</td><td class="lineno" valign="top"></td></tr>
915      <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>
916      <tr><td><a name="diff0058" /></td></tr>
917      <tr><td class="lineno" valign="top"></td><td class="lblock">   pseudonym = &lt;pseudonym, defined in [Part1], Section <span class="delete">6.2</span>&gt;</td><td> </td><td class="rblock">   pseudonym = &lt;pseudonym, defined in [Part1], Section <span class="insert">5.7</span>&gt;</td><td class="lineno" valign="top"></td></tr>
918      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
919      <tr><td class="lineno" valign="top"></td><td class="left">   quoted-string = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;</td><td> </td><td class="right">   quoted-string = &lt;quoted-string, defined in [Part1], Section 3.2.4&gt;</td><td class="lineno" valign="top"></td></tr>
920      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
921      <tr><td class="lineno" valign="top"></td><td class="left">   token = &lt;token, defined in [Part1], Section 3.2.4&gt;</td><td> </td><td class="right">   token = &lt;token, defined in [Part1], Section 3.2.4&gt;</td><td class="lineno" valign="top"></td></tr>
922      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
923      <tr><td><a name="diff0059" /></td></tr>
924      <tr><td class="lineno" valign="top"></td><td class="lblock">   uri-host = &lt;uri-host, defined in [Part1], Section 2.<span class="delete">8</span>&gt;</td><td> </td><td class="rblock">   uri-host = &lt;uri-host, defined in [Part1], Section 2.<span class="insert">7</span>&gt;</td><td class="lineno" valign="top"></td></tr>
925      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
926      <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>
927      <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>
928      <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>
929      <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>
930      <tr><td class="lineno" valign="top"></td><td class="left">   warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date</td><td> </td><td class="right">   warning-value = warn-code SP warn-agent SP warn-text [ SP warn-date</td><td class="lineno" valign="top"></td></tr>
931      <tr><td class="lineno" valign="top"></td><td class="left">    ]</td><td> </td><td class="right">    ]</td><td class="lineno" valign="top"></td></tr>
932      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
933      <tr><td class="lineno" valign="top"></td><td class="left">Appendix D.  Change Log (to be removed by RFC Editor before publication)</td><td> </td><td class="right">Appendix D.  Change Log (to be removed by RFC Editor before publication)</td><td class="lineno" valign="top"></td></tr>
934      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
935      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
936      <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 39, line 36</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 38, line 36</em></th><td></td></tr>
937      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
938      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/360&gt;: "enhance</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/360&gt;: "enhance</td><td class="lineno" valign="top"></td></tr>
939      <tr><td class="lineno" valign="top"></td><td class="left">      considerations for new cache control directives"</td><td> </td><td class="right">      considerations for new cache control directives"</td><td class="lineno" valign="top"></td></tr>
940      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
941      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/361&gt;: "ABNF</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/361&gt;: "ABNF</td><td class="lineno" valign="top"></td></tr>
942      <tr><td class="lineno" valign="top"></td><td class="left">      requirements for recipients"</td><td> </td><td class="right">      requirements for recipients"</td><td class="lineno" valign="top"></td></tr>
943      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
944      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/368&gt;: "note</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/368&gt;: "note</td><td class="lineno" valign="top"></td></tr>
945      <tr><td class="lineno" valign="top"></td><td class="left">      introduction of new IANA registries as normative changes"</td><td> </td><td class="right">      introduction of new IANA registries as normative changes"</td><td class="lineno" valign="top"></td></tr>
946      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
947      <tr><td><a name="diff0060" /></td></tr>
948      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/373&gt;: "broken prose</span></td><td class="lineno" valign="top"></td></tr>
949      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      in description of 'Vary'"</span></td><td class="lineno" valign="top"></td></tr>
950      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
951      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">D.2.  Since draft-ietf-httpbis-p6-cache-20</span></td><td class="lineno" valign="top"></td></tr>
952      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
953      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Closed issues:</span></td><td class="lineno" valign="top"></td></tr>
954      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
955      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/375&gt;: "'Most</span></td><td class="lineno" valign="top"></td></tr>
956      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      Conservative'"</span></td><td class="lineno" valign="top"></td></tr>
957      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
958      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   Other changes:</span></td><td class="lineno" valign="top"></td></tr>
959      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
960      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  Conformance criteria and considerations regarding error handling</span></td><td class="lineno" valign="top"></td></tr>
961      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      are now defined in Part 1.</span></td><td class="lineno" valign="top"></td></tr>
962      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
963      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  Move definition of "Vary" header field into Part 2.</span></td><td class="lineno" valign="top"></td></tr>
964      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
965      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   o  Add security considerations with respect to cache poisoning and</span></td><td class="lineno" valign="top"></td></tr>
966      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      the "Set-Cookie" header field.</span></td><td class="lineno" valign="top"></td></tr>
967      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
968      <tr><td class="lineno" valign="top"></td><td class="left">Index</td><td> </td><td class="right">Index</td><td class="lineno" valign="top"></td></tr>
969      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
970      <tr><td class="lineno" valign="top"></td><td class="left">   1</td><td> </td><td class="right">   1</td><td class="lineno" valign="top"></td></tr>
971      <tr><td><a name="diff0061" /></td></tr>
972      <tr><td class="lineno" valign="top"></td><td class="lblock">      110 Response is Stale (warn code)  <span class="delete">31</span></td><td> </td><td class="rblock">      110 Response is Stale (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
973      <tr><td class="lineno" valign="top"></td><td class="lblock">      111 Revalidation Failed (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      111 Revalidation Failed (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
974      <tr><td class="lineno" valign="top"></td><td class="lblock">      112 Disconnected Operation (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      112 Disconnected Operation (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
975      <tr><td class="lineno" valign="top"></td><td class="lblock">      113 Heuristic Expiration (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      113 Heuristic Expiration (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
976      <tr><td class="lineno" valign="top"></td><td class="lblock">      199 Miscellaneous Warning (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      199 Miscellaneous Warning (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
977      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
978      <tr><td class="lineno" valign="top"></td><td class="left">   2</td><td> </td><td class="right">   2</td><td class="lineno" valign="top"></td></tr>
979      <tr><td><a name="diff0062" /></td></tr>
980      <tr><td class="lineno" valign="top"></td><td class="lblock">      214 Transformation Applied (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      214 Transformation Applied (warn code)  <span class="insert">30</span></td><td class="lineno" valign="top"></td></tr>
981      <tr><td class="lineno" valign="top"></td><td class="lblock">      299 Miscellaneous Persistent Warning (warn code)  <span class="delete">32</span></td><td> </td><td class="rblock">      299 Miscellaneous Persistent Warning (warn code)  <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr>
982      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
983      <tr><td class="lineno" valign="top"></td><td class="left">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
984      <tr><td class="lineno" valign="top"></td><td class="left">      age  5</td><td> </td><td class="right">      age  5</td><td class="lineno" valign="top"></td></tr>
985      <tr><td><a name="diff0063" /></td></tr>
986      <tr><td class="lineno" valign="top"></td><td class="lblock">      Age header field  <span class="delete">20</span></td><td> </td><td class="rblock">      Age header field  <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
987      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
988      <tr><td class="lineno" valign="top"></td><td class="left">   C</td><td> </td><td class="right">   C</td><td class="lineno" valign="top"></td></tr>
989      <tr><td class="lineno" valign="top"></td><td class="left">      cache  4</td><td> </td><td class="right">      cache  4</td><td class="lineno" valign="top"></td></tr>
990      <tr><td><a name="diff0064" /></td></tr>
991      <tr><td class="lineno" valign="top"></td><td class="lblock">      <span class="delete">Cache Directives</span></td><td> </td><td class="rblock">      cache entry  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
992      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         max-age  22, 25</span></td><td> </td><td class="rblock">      cache key  <span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
993      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         max-stale  22</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
994      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         min-fresh  22</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
995      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         must-revalidate  25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
996      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         no-cache  21, 24</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
997      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         no-store  21, 25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
998      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         no-transform  23, 26</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
999      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         only-if-cached  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1000      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         private  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1001      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         proxy-revalidate  25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1002      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         public  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1003      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         s-maxage  26</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1004      <tr><td class="lineno" valign="top"></td><td class="lblock">      cache entry  <span class="delete">7</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1005      <tr><td class="lineno" valign="top"></td><td class="lblock">      cache key  <span class="delete">7</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1006      <tr><td class="lineno" valign="top"></td><td class="left">      Cache-Control header field  20</td><td> </td><td class="right">      Cache-Control header field  20</td><td class="lineno" valign="top"></td></tr>
1007      <tr><td class="lineno" valign="top"></td><td class="left">      cacheable  4</td><td> </td><td class="right">      cacheable  4</td><td class="lineno" valign="top"></td></tr>
1008      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1009      <tr><td class="lineno" valign="top"></td><td class="left">   E</td><td> </td><td class="right">   E</td><td class="lineno" valign="top"></td></tr>
1010      <tr><td><a name="diff0065" /></td></tr>
1011      <tr><td class="lineno" valign="top"></td><td class="lblock">      Expires header field  2<span class="delete">8</span></td><td> </td><td class="rblock">      Expires header field  2<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr>
1012      <tr><td class="lineno" valign="top"></td><td class="left">      explicit expiration time  5</td><td> </td><td class="right">      explicit expiration time  5</td><td class="lineno" valign="top"></td></tr>
1013      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1014      <tr><td class="lineno" valign="top"></td><td class="left">   F</td><td> </td><td class="right">   F</td><td class="lineno" valign="top"></td></tr>
1015      <tr><td class="lineno" valign="top"></td><td class="left">      first-hand  5</td><td> </td><td class="right">      first-hand  5</td><td class="lineno" valign="top"></td></tr>
1016      <tr><td class="lineno" valign="top"></td><td class="left">      fresh  5</td><td> </td><td class="right">      fresh  5</td><td class="lineno" valign="top"></td></tr>
1017      <tr><td class="lineno" valign="top"></td><td class="left">      freshness lifetime  5</td><td> </td><td class="right">      freshness lifetime  5</td><td class="lineno" valign="top"></td></tr>
1018      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1019      <tr><td class="lineno" valign="top"></td><td class="left">   G</td><td> </td><td class="right">   G</td><td class="lineno" valign="top"></td></tr>
1020      <tr><td class="lineno" valign="top"></td><td class="left">      Grammar</td><td> </td><td class="right">      Grammar</td><td class="lineno" valign="top"></td></tr>
1021      <tr><td><a name="diff0066" /></td></tr>
1022      <tr><td class="lineno" valign="top"></td><td class="lblock">         Age  <span class="delete">20</span></td><td> </td><td class="rblock">         Age  <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr>
1023      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Cache-Control  21</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1024      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         cache-directive  21</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1025      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         delta-seconds  7</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1026      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Expires  28</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1027      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         extension-pragma  29</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1028      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Pragma  29</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1029      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         pragma-directive  29</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1030      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Vary  29</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1031      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         warn-agent  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1032      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         warn-code  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1033      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         warn-date  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1034      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         warn-text  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1035      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Warning  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1036      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         warning-value  30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1037      <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>
1038      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   H</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1039      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Header Fields</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1040      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         Age  20</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1041      <tr><td class="lineno" valign="top"></td><td class="left">         Cache-Control  20</td><td> </td><td class="right">         Cache-Control  20</td><td class="lineno" valign="top"></td></tr>
1042      <tr><td><a name="diff0067" /></td></tr>
1043      <tr><td class="lineno" valign="top"></td><td class="lblock">         Expires  28</td><td> </td><td class="rblock">         <span class="insert">cache-directive  20</span></td><td class="lineno" valign="top"></td></tr>
1044      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         delta-seconds  6</span></td><td class="lineno" valign="top"></td></tr>
1045      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">         Expires  <span class="insert">27</span></td><td class="lineno" valign="top"></td></tr>
1046      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         extension-pragma</span>  28</td><td class="lineno" valign="top"></td></tr>
1047      <tr><td class="lineno" valign="top"></td><td class="left">         Pragma  28</td><td> </td><td class="right">         Pragma  28</td><td class="lineno" valign="top"></td></tr>
1048      <tr><td><a name="diff0068" /></td></tr>
1049      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Vary</span>  29</td><td> </td><td class="rblock">         <span class="insert">pragma-directive  28</span></td><td class="lineno" valign="top"></td></tr>
1050      <tr><td class="lineno" valign="top"></td><td class="lblock">         Warning  <span class="delete">30</span></td><td> </td><td class="rblock"><span class="insert">         warn-agent  29</span></td><td class="lineno" valign="top"></td></tr>
1051      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         warn-code  29</span></td><td class="lineno" valign="top"></td></tr>
1052      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         warn-date  29</span></td><td class="lineno" valign="top"></td></tr>
1053      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         warn-text</span>  29</td><td class="lineno" valign="top"></td></tr>
1054      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">         Warning  <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr>
1055      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">         warning-value  29</span></td><td class="lineno" valign="top"></td></tr>
1056      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"></span></td><td class="lineno" valign="top"></td></tr>
1057      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   H</span></td><td class="lineno" valign="top"></td></tr>
1058      <tr><td class="lineno" valign="top"></td><td class="left">      heuristic expiration time  5</td><td> </td><td class="right">      heuristic expiration time  5</td><td class="lineno" valign="top"></td></tr>
1059      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1060      <tr><td class="lineno" valign="top"></td><td class="left">   M</td><td> </td><td class="right">   M</td><td class="lineno" valign="top"></td></tr>
1061      <tr><td><a name="diff0069" /></td></tr>
1062      <tr><td class="lineno" valign="top"></td><td class="lblock">      max-age</td><td> </td><td class="rblock">      max-age <span class="insert">(cache directive)  21,</span> 25</td><td class="lineno" valign="top"></td></tr>
1063      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  22,</span> 25</td><td> </td><td class="rblock">      max-stale <span class="insert">(cache directive)  21</span></td><td class="lineno" valign="top"></td></tr>
1064      <tr><td class="lineno" valign="top"></td><td class="lblock">      max-stale</td><td> </td><td class="rblock">      min-fresh <span class="insert">(cache directive)</span>  22</td><td class="lineno" valign="top"></td></tr>
1065      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  22</span></td><td> </td><td class="rblock">      must-revalidate <span class="insert">(cache directive)  24</span></td><td class="lineno" valign="top"></td></tr>
1066      <tr><td class="lineno" valign="top"></td><td class="lblock">      min-fresh</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1067      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive</span>  22</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1068      <tr><td class="lineno" valign="top"></td><td class="lblock">      must-revalidate</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1069      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1070      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1071      <tr><td class="lineno" valign="top"></td><td class="left">   N</td><td> </td><td class="right">   N</td><td class="lineno" valign="top"></td></tr>
1072      <tr><td><a name="diff0070" /></td></tr>
1073      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-cache</td><td> </td><td class="rblock">      no-cache <span class="insert">(cache directive)  20, 23</span></td><td class="lineno" valign="top"></td></tr>
1074      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  21, 24</span></td><td> </td><td class="rblock">      no-store <span class="insert">(cache directive)  20, 24</span></td><td class="lineno" valign="top"></td></tr>
1075      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-store</td><td> </td><td class="rblock">      no-transform <span class="insert">(cache directive)  22, 25</span></td><td class="lineno" valign="top"></td></tr>
1076      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  21, 25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1077      <tr><td class="lineno" valign="top"></td><td class="lblock">      no-transform</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1078      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  23, 26</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1079      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1080      <tr><td class="lineno" valign="top"></td><td class="left">   O</td><td> </td><td class="right">   O</td><td class="lineno" valign="top"></td></tr>
1081      <tr><td><a name="diff0071" /></td></tr>
1082      <tr><td class="lineno" valign="top"></td><td class="lblock">      only-if-cached</td><td> </td><td class="rblock">      only-if-cached <span class="insert">(cache directive)  22</span></td><td class="lineno" valign="top"></td></tr>
1083      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1084      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1085      <tr><td class="lineno" valign="top"></td><td class="left">   P</td><td> </td><td class="right">   P</td><td class="lineno" valign="top"></td></tr>
1086      <tr><td class="lineno" valign="top"></td><td class="left">      Pragma header field  28</td><td> </td><td class="right">      Pragma header field  28</td><td class="lineno" valign="top"></td></tr>
1087      <tr><td><a name="diff0072" /></td></tr>
1088      <tr><td class="lineno" valign="top"></td><td class="lblock">      private</td><td> </td><td class="rblock">      private <span class="insert">(cache directive)  22</span></td><td class="lineno" valign="top"></td></tr>
1089      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1090      <tr><td class="lineno" valign="top"></td><td class="left">      private cache  4</td><td> </td><td class="right">      private cache  4</td><td class="lineno" valign="top"></td></tr>
1091      <tr><td><a name="diff0073" /></td></tr>
1092      <tr><td class="lineno" valign="top"></td><td class="lblock">      proxy-revalidate</td><td> </td><td class="rblock">      proxy-revalidate <span class="insert">(cache directive)  24</span></td><td class="lineno" valign="top"></td></tr>
1093      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  25</span></td><td> </td><td class="rblock">      public <span class="insert">(cache directive)  22</span></td><td class="lineno" valign="top"></td></tr>
1094      <tr><td class="lineno" valign="top"></td><td class="lblock">      public</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1095      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  23</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1096      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1097      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
1098      <tr><td><a name="diff0074" /></td></tr>
1099      <tr><td class="lineno" valign="top"></td><td class="lblock">      s-maxage</td><td> </td><td class="rblock">      s-maxage <span class="insert">(cache directive)  25</span></td><td class="lineno" valign="top"></td></tr>
1100      <tr><td class="lineno" valign="top"></td><td class="lblock">         <span class="delete">Cache Directive  26</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1101      <tr><td class="lineno" valign="top"></td><td class="left">      shared cache  4</td><td> </td><td class="right">      shared cache  4</td><td class="lineno" valign="top"></td></tr>
1102      <tr><td class="lineno" valign="top"></td><td class="left">      stale  5</td><td> </td><td class="right">      stale  5</td><td class="lineno" valign="top"></td></tr>
1103      <tr><td class="lineno" valign="top"></td><td class="left">      strong validator  6</td><td> </td><td class="right">      strong validator  6</td><td class="lineno" valign="top"></td></tr>
1104      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1105      <tr><td class="lineno" valign="top"></td><td class="left">   V</td><td> </td><td class="right">   V</td><td class="lineno" valign="top"></td></tr>
1106      <tr><td class="lineno" valign="top"></td><td class="left">      validator  5</td><td> </td><td class="right">      validator  5</td><td class="lineno" valign="top"></td></tr>
1107      <tr><td class="lineno" valign="top"></td><td class="left">         strong  6</td><td> </td><td class="right">         strong  6</td><td class="lineno" valign="top"></td></tr>
1108      <tr><td><a name="diff0075" /></td></tr>
1109      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">      Vary header field  29</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1110      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1111      <tr><td class="lineno" valign="top"></td><td class="left">   W</td><td> </td><td class="right">   W</td><td class="lineno" valign="top"></td></tr>
1112      <tr><td><a name="diff0076" /></td></tr>
1113      <tr><td class="lineno" valign="top"></td><td class="lblock">      <span class="delete">Warn Codes</span></td><td> </td><td class="rblock">      Warning header field  <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr>
1114      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         110 Response is Stale  31</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1115      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         111 Revalidation Failed  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1116      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         112 Disconnected Operation  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1117      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         113 Heuristic Expiration  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1118      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         199 Miscellaneous Warning  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1119      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         214 Transformation Applied  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1120      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">         299 Miscellaneous Persistent Warning  32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1121      <tr><td class="lineno" valign="top"></td><td class="lblock">      Warning header field  <span class="delete">30</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1122      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1123      <tr><td class="lineno" valign="top"></td><td class="left">Authors' Addresses</td><td> </td><td class="right">Authors' Addresses</td><td class="lineno" valign="top"></td></tr>
1124      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1125      <tr><td class="lineno" valign="top"></td><td class="left">   Roy T. Fielding (editor)</td><td> </td><td class="right">   Roy T. Fielding (editor)</td><td class="lineno" valign="top"></td></tr>
1126      <tr><td class="lineno" valign="top"></td><td class="left">   Adobe Systems Incorporated</td><td> </td><td class="right">   Adobe Systems Incorporated</td><td class="lineno" valign="top"></td></tr>
1127      <tr><td class="lineno" valign="top"></td><td class="left">   345 Park Ave</td><td> </td><td class="right">   345 Park Ave</td><td class="lineno" valign="top"></td></tr>
1128      <tr><td class="lineno" valign="top"></td><td class="left">   San Jose, CA  95110</td><td> </td><td class="right">   San Jose, CA  95110</td><td class="lineno" valign="top"></td></tr>
1129      <tr><td class="lineno" valign="top"></td><td class="left">   USA</td><td> </td><td class="right">   USA</td><td class="lineno" valign="top"></td></tr>
1130      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1131      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: fielding@gbiv.com</td><td> </td><td class="right">   EMail: fielding@gbiv.com</td><td class="lineno" valign="top"></td></tr>
1132      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://roy.gbiv.com/</td><td> </td><td class="right">   URI:   http://roy.gbiv.com/</td><td class="lineno" valign="top"></td></tr>
1133      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1134      <tr><td><a name="diff0077" /></td></tr>
1135      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Yves Lafon (editor)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1136      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   World Wide Web Consortium</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1137      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   W3C / ERCIM</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1138      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   2004, rte des Lucioles</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1139      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Sophia-Antipolis, AM  06902</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1140      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   France</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1141      <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>
1142      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   EMail: ylafon@w3.org</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1143      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   URI:   http://www.raubacapeu.net/people/yves/</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1144      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                                         </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
1145      <tr><td class="lineno" valign="top"></td><td class="left">   Mark Nottingham (editor)</td><td> </td><td class="right">   Mark Nottingham (editor)</td><td class="lineno" valign="top"></td></tr>
1146      <tr><td><a name="diff0078" /></td></tr>
1147      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Rackspace</span></td><td> </td><td class="rblock">   <span class="insert">Akamai</span></td><td class="lineno" valign="top"></td></tr>
1148      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1149      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: mnot@mnot.net</td><td> </td><td class="right">   EMail: mnot@mnot.net</td><td class="lineno" valign="top"></td></tr>
1150      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://www.mnot.net/</td><td> </td><td class="right">   URI:   http://www.mnot.net/</td><td class="lineno" valign="top"></td></tr>
1151      <tr><td><a name="diff0079" /></td></tr>
1152      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">                                                                         </span></td><td class="lineno" valign="top"></td></tr>
1153      <tr><td class="lineno" valign="top"></td><td class="left">   Julian F. Reschke (editor)</td><td> </td><td class="right">   Julian F. Reschke (editor)</td><td class="lineno" valign="top"></td></tr>
1154      <tr><td class="lineno" valign="top"></td><td class="left">   greenbytes GmbH</td><td> </td><td class="right">   greenbytes GmbH</td><td class="lineno" valign="top"></td></tr>
1155      <tr><td class="lineno" valign="top"></td><td class="left">   Hafenweg 16</td><td> </td><td class="right">   Hafenweg 16</td><td class="lineno" valign="top"></td></tr>
1156      <tr><td class="lineno" valign="top"></td><td class="left">   Muenster, NW  48155</td><td> </td><td class="right">   Muenster, NW  48155</td><td class="lineno" valign="top"></td></tr>
1157      <tr><td class="lineno" valign="top"></td><td class="left">   Germany</td><td> </td><td class="right">   Germany</td><td class="lineno" valign="top"></td></tr>
1158      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
1159      <tr><td class="lineno" valign="top"></td><td class="left">   EMail: julian.reschke@greenbytes.de</td><td> </td><td class="right">   EMail: julian.reschke@greenbytes.de</td><td class="lineno" valign="top"></td></tr>
1160      <tr><td class="lineno" valign="top"></td><td class="left">   URI:   http://greenbytes.de/tech/webdav/</td><td> </td><td class="right">   URI:   http://greenbytes.de/tech/webdav/</td><td class="lineno" valign="top"></td></tr>
1161
1162     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
1163     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 79 change blocks.&nbsp;</a></th></tr>
1164     <tr class="stats"><td></td><th><i>304 lines changed or deleted</i></th><th><i> </i></th><th><i>215 lines changed or added</i></th><td></td></tr>
1165     <tr><td colspan="5" align="center" class="small"><br/>This html diff was produced by rfcdiff 1.38. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/" >http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
1166   </table>
1167   </body>
1168   </html>
Note: See TracBrowser for help on using the repository browser.