source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-26-from-25.diff.html @ 2650

Last change on this file since 2650 was 2616, checked in by julian.reschke@…, 7 years ago

prepare publication of -26

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/html; charset=iso-8859-1
File size: 154.2 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-25.txt - draft-ietf-httpbis-p6-cache-26.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-25.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p6-cache-26.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 class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved)                         M. Nottingham, Ed.</td><td> </td><td class="right">Obsoletes: 2616 (if approved)                         M. Nottingham, Ed.</td><td class="lineno" valign="top"></td></tr>
43      <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track                                  Akamai</td><td> </td><td class="right">Intended status: Standards Track                                  Akamai</td><td class="lineno" valign="top"></td></tr>
44      <tr><td><a name="diff0001" /></td></tr>
45      <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">May 21, 2014   </span>                                 J. Reschke, Ed.</td><td> </td><td class="rblock">Expires: <span class="insert">August 10, 2014</span>                                 J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr>
46      <tr><td class="lineno" valign="top"></td><td class="left">                                                              greenbytes</td><td> </td><td class="right">                                                              greenbytes</td><td class="lineno" valign="top"></td></tr>
47      <tr><td><a name="diff0002" /></td></tr>
48      <tr><td class="lineno" valign="top"></td><td class="lblock">                                                       <span class="delete">November 17, 2013</span></td><td> </td><td class="rblock">                                                       <span class="insert"> February 6, 2014</span></td><td class="lineno" valign="top"></td></tr>
49      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
50      <tr><td class="lineno" valign="top"></td><td class="left">            Hypertext Transfer Protocol (HTTP/1.1): Caching</td><td> </td><td class="right">            Hypertext Transfer Protocol (HTTP/1.1): Caching</td><td class="lineno" valign="top"></td></tr>
51      <tr><td><a name="diff0003" /></td></tr>
52      <tr><td class="lineno" valign="top"></td><td class="lblock">                     draft-ietf-httpbis-p6-cache-2<span class="delete">5</span></td><td> </td><td class="rblock">                     draft-ietf-httpbis-p6-cache-2<span class="insert">6</span></td><td class="lineno" valign="top"></td></tr>
53      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
54      <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr>
55      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
56      <tr><td><a name="diff0004" /></td></tr>
57      <tr><td class="lineno" valign="top"></td><td class="lblock">   The Hypertext Transfer Protocol (HTTP) is <span class="delete">an application-level</span></td><td> </td><td class="rblock">   The Hypertext Transfer Protocol (HTTP) is <span class="insert">a stateless application-</span></td><td class="lineno" valign="top"></td></tr>
58      <tr><td class="lineno" valign="top"></td><td class="lblock">   protocol for distributed, collaborative, hypertext information</td><td> </td><td class="rblock"><span class="insert">   level</span> protocol for distributed, collaborative, hypertext information</td><td class="lineno" valign="top"></td></tr>
59      <tr><td class="lineno" valign="top"></td><td class="lblock">   systems.  This document defines <span class="delete">requirements on</span> HTTP caches and the</td><td> </td><td class="rblock">   systems.  This document defines HTTP caches and the associated header</td><td class="lineno" valign="top"></td></tr>
60      <tr><td class="lineno" valign="top"></td><td class="lblock">   associated header fields that control cache behavior or indicate</td><td> </td><td class="rblock">   fields that control cache behavior or indicate cacheable response</td><td class="lineno" valign="top"></td></tr>
61      <tr><td class="lineno" valign="top"></td><td class="lblock">   cacheable response messages.</td><td> </td><td class="rblock">   messages.</td><td class="lineno" valign="top"></td></tr>
62      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
63      <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>
64      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
65      <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>
66      <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>
67      <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>
68      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
69      <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>
70      <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>
71      <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>
72      <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>
73      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
74      <tr><td><a name="diff0005" /></td></tr>
75      <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>
76      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
77      <tr><td class="lineno" valign="top"></td><td class="left">Status of This Memo</td><td> </td><td class="right">Status of This Memo</td><td class="lineno" valign="top"></td></tr>
78      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
79      <tr><td 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>
80      <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>
81      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
82      <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>
83      <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>
84      <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>
85      <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>
86      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
87      <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>
88      <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>
89      <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>
90      <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>
91      <tr><td><a name="diff0006" /></td></tr>
92      <tr><td class="lineno" valign="top"></td><td class="lblock">   This Internet-Draft will expire on <span class="delete">May 21</span>, 2014.</td><td> </td><td class="rblock">   This Internet-Draft will expire on <span class="insert">August 10</span>, 2014.</td><td class="lineno" valign="top"></td></tr>
93      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
94      <tr><td class="lineno" valign="top"></td><td class="left">Copyright Notice</td><td> </td><td class="right">Copyright Notice</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><a name="diff0007" /></td></tr>
97      <tr><td class="lineno" valign="top"></td><td class="lblock">   Copyright (c) 201<span class="delete">3</span> IETF Trust and the persons identified as the</td><td> </td><td class="rblock">   Copyright (c) 201<span class="insert">4</span> IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr>
98      <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>
99      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
100      <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>
101      <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>
102      <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>
103      <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>
104      <tr><td class="lineno" valign="top"></td><td class="left">   carefully, as they describe your rights and restrictions with respect</td><td> </td><td class="right">   carefully, as they describe your rights and restrictions with respect</td><td class="lineno" valign="top"></td></tr>
105      <tr><td class="lineno" valign="top"></td><td class="left">   to this document.  Code Components extracted from this document must</td><td> </td><td class="right">   to this document.  Code Components extracted from this document must</td><td class="lineno" valign="top"></td></tr>
106      <tr><td class="lineno" valign="top"></td><td class="left">   include Simplified BSD License text as described in Section 4.e of</td><td> </td><td class="right">   include Simplified BSD License text as described in Section 4.e of</td><td class="lineno" valign="top"></td></tr>
107      <tr><td class="lineno" valign="top"></td><td class="left">   the Trust Legal Provisions and are provided without warranty as</td><td> </td><td class="right">   the Trust Legal Provisions and are provided without warranty as</td><td class="lineno" valign="top"></td></tr>
108      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
109      <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 19</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 19</em></th><td></td></tr>
110      <tr><td class="lineno" valign="top"></td><td class="left">     4.4.  Invalidation . . . . . . . . . . . . . . . . . . . . . . . 19</td><td> </td><td class="right">     4.4.  Invalidation . . . . . . . . . . . . . . . . . . . . . . . 19</td><td class="lineno" valign="top"></td></tr>
111      <tr><td class="lineno" valign="top"></td><td class="left">   5.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">   5.  Header Field Definitions . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
112      <tr><td class="lineno" valign="top"></td><td class="left">     5.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20</td><td> </td><td class="right">     5.1.  Age  . . . . . . . . . . . . . . . . . . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr>
113      <tr><td class="lineno" valign="top"></td><td class="left">     5.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 21</td><td> </td><td class="right">     5.2.  Cache-Control  . . . . . . . . . . . . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
114      <tr><td class="lineno" valign="top"></td><td class="left">       5.2.1.  Request Cache-Control Directives . . . . . . . . . . . 21</td><td> </td><td class="right">       5.2.1.  Request Cache-Control Directives . . . . . . . . . . . 21</td><td class="lineno" valign="top"></td></tr>
115      <tr><td class="lineno" valign="top"></td><td class="left">       5.2.2.  Response Cache-Control Directives  . . . . . . . . . . 23</td><td> </td><td class="right">       5.2.2.  Response Cache-Control Directives  . . . . . . . . . . 23</td><td class="lineno" valign="top"></td></tr>
116      <tr><td class="lineno" valign="top"></td><td class="left">       5.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . 26</td><td> </td><td class="right">       5.2.3.  Cache Control Extensions . . . . . . . . . . . . . . . 26</td><td class="lineno" valign="top"></td></tr>
117      <tr><td class="lineno" valign="top"></td><td class="left">     5.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . 27</td><td> </td><td class="right">     5.3.  Expires  . . . . . . . . . . . . . . . . . . . . . . . . . 27</td><td class="lineno" valign="top"></td></tr>
118      <tr><td class="lineno" valign="top"></td><td class="left">     5.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td> </td><td class="right">     5.4.  Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 28</td><td class="lineno" valign="top"></td></tr>
119      <tr><td class="lineno" valign="top"></td><td class="left">     5.5.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . 29</td><td> </td><td class="right">     5.5.  Warning  . . . . . . . . . . . . . . . . . . . . . . . . . 29</td><td class="lineno" valign="top"></td></tr>
120      <tr><td><a name="diff0008" /></td></tr>
121      <tr><td class="lineno" valign="top"></td><td class="lblock">       5.5.1.  Warning: 110 - "Response is Stale" . . . . . . . . . . 3<span class="delete">1</span></td><td> </td><td class="rblock">       5.5.1.  Warning: 110 - "Response is Stale" . . . . . . . . . . 3<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
122      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.2.  Warning: 111 - "Revalidation Failed" . . . . . . . . . 31</td><td> </td><td class="right">       5.5.2.  Warning: 111 - "Revalidation Failed" . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
123      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.3.  Warning: 112 - "Disconnected Operation"  . . . . . . . 31</td><td> </td><td class="right">       5.5.3.  Warning: 112 - "Disconnected Operation"  . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
124      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.4.  Warning: 113 - "Heuristic Expiration"  . . . . . . . . 31</td><td> </td><td class="right">       5.5.4.  Warning: 113 - "Heuristic Expiration"  . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
125      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.5.  Warning: 199 - "Miscellaneous Warning" . . . . . . . . 31</td><td> </td><td class="right">       5.5.5.  Warning: 199 - "Miscellaneous Warning" . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
126      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.6.  Warning: 214 - "Transformation Applied"  . . . . . . . 31</td><td> </td><td class="right">       5.5.6.  Warning: 214 - "Transformation Applied"  . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
127      <tr><td class="lineno" valign="top"></td><td class="left">       5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"  . . 31</td><td> </td><td class="right">       5.5.7.  Warning: 299 - "Miscellaneous Persistent Warning"  . . 31</td><td class="lineno" valign="top"></td></tr>
128      <tr><td class="lineno" valign="top"></td><td class="left">   6.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . 31</td><td> </td><td class="right">   6.  History Lists  . . . . . . . . . . . . . . . . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr>
129      <tr><td class="lineno" valign="top"></td><td class="left">   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 32</td><td> </td><td class="right">   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 32</td><td class="lineno" valign="top"></td></tr>
130      <tr><td class="lineno" valign="top"></td><td class="left">     7.1.  Cache Directive Registry . . . . . . . . . . . . . . . . . 32</td><td> </td><td class="right">     7.1.  Cache Directive Registry . . . . . . . . . . . . . . . . . 32</td><td class="lineno" valign="top"></td></tr>
131      <tr><td class="lineno" valign="top"></td><td class="left">       7.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 32</td><td> </td><td class="right">       7.1.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 32</td><td class="lineno" valign="top"></td></tr>
132      <tr><td class="lineno" valign="top"></td><td class="left">       7.1.2.  Considerations for New Cache Control Directives  . . . 32</td><td> </td><td class="right">       7.1.2.  Considerations for New Cache Control Directives  . . . 32</td><td class="lineno" valign="top"></td></tr>
133      <tr><td><a name="diff0009" /></td></tr>
134      <tr><td class="lineno" valign="top"></td><td class="lblock">       7.1.3.  Registrations  . . . . . . . . . . . . . . . . . . . . 3<span class="delete">3</span></td><td> </td><td class="rblock">       7.1.3.  Registrations  . . . . . . . . . . . . . . . . . . . . 3<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr>
135      <tr><td class="lineno" valign="top"></td><td class="left">     7.2.  Warn Code Registry . . . . . . . . . . . . . . . . . . . . 33</td><td> </td><td class="right">     7.2.  Warn Code Registry . . . . . . . . . . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
136      <tr><td class="lineno" valign="top"></td><td class="left">       7.2.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 33</td><td> </td><td class="right">       7.2.1.  Procedure  . . . . . . . . . . . . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
137      <tr><td class="lineno" valign="top"></td><td class="left">       7.2.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 33</td><td> </td><td class="right">       7.2.2.  Registrations  . . . . . . . . . . . . . . . . . . . . 33</td><td class="lineno" valign="top"></td></tr>
138      <tr><td class="lineno" valign="top"></td><td class="left">     7.3.  Header Field Registration  . . . . . . . . . . . . . . . . 34</td><td> </td><td class="right">     7.3.  Header Field Registration  . . . . . . . . . . . . . . . . 34</td><td class="lineno" valign="top"></td></tr>
139      <tr><td class="lineno" valign="top"></td><td class="left">   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 34</td><td> </td><td class="right">   8.  Security Considerations  . . . . . . . . . . . . . . . . . . . 34</td><td class="lineno" valign="top"></td></tr>
140      <tr><td class="lineno" valign="top"></td><td class="left">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 35</td><td> </td><td class="right">   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
141      <tr><td class="lineno" valign="top"></td><td class="left">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35</td><td> </td><td class="right">   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
142      <tr><td class="lineno" valign="top"></td><td class="left">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 35</td><td> </td><td class="right">     10.1. Normative References . . . . . . . . . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
143      <tr><td class="lineno" valign="top"></td><td class="left">     10.2. Informative References . . . . . . . . . . . . . . . . . . 36</td><td> </td><td class="right">     10.2. Informative References . . . . . . . . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
144      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 36</td><td> </td><td class="right">   Appendix A.  Changes from RFC 2616 . . . . . . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
145      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 38</td><td> </td><td class="right">   Appendix B.  Imported ABNF . . . . . . . . . . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
146      <tr><td class="lineno" valign="top"></td><td class="left">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 38</td><td> </td><td class="right">   Appendix C.  Collected ABNF  . . . . . . . . . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
147      <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>
148      <tr><td class="lineno" valign="top"></td><td class="left">                publication)  . . . . . . . . . . . . . . . . . . . . 39</td><td> </td><td class="right">                publication)  . . . . . . . . . . . . . . . . . . . . 39</td><td class="lineno" valign="top"></td></tr>
149      <tr><td class="lineno" valign="top"></td><td class="left">     D.1.  Since draft-ietf-httpbis-p6-cache-24 . . . . . . . . . . . 40</td><td> </td><td class="right">     D.1.  Since draft-ietf-httpbis-p6-cache-24 . . . . . . . . . . . 40</td><td class="lineno" valign="top"></td></tr>
150      <tr><td><a name="diff0010" /></td></tr>
151      <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-25 . . . . . . . . . . . 40</span></td><td class="lineno" valign="top"></td></tr>
152      <tr><td class="lineno" valign="top"></td><td class="left">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40</td><td> </td><td class="right">   Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40</td><td class="lineno" valign="top"></td></tr>
153      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
154      <tr><td class="lineno" valign="top"></td><td class="left">1.  Introduction</td><td> </td><td class="right">1.  Introduction</td><td class="lineno" valign="top"></td></tr>
155      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
156      <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>
157      <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>
158      <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>
159      <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>
160      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
161      <tr><td class="lineno" valign="top"></td><td class="left">   An HTTP cache is a local store of response messages and the subsystem</td><td> </td><td class="right">   An HTTP cache is a local store of response messages and the subsystem</td><td class="lineno" valign="top"></td></tr>
162      <tr><td class="lineno" valign="top"></td><td class="left">   that controls storage, retrieval, and deletion of messages in it.  A</td><td> </td><td class="right">   that controls storage, retrieval, and deletion of messages in it.  A</td><td class="lineno" valign="top"></td></tr>
163      <tr><td class="lineno" valign="top"></td><td class="left">   cache stores cacheable responses in order to reduce the response time</td><td> </td><td class="right">   cache stores cacheable responses in order to reduce the response time</td><td class="lineno" valign="top"></td></tr>
164      <tr><td class="lineno" valign="top"></td><td class="left">   and network bandwidth consumption on future, equivalent requests.</td><td> </td><td class="right">   and network bandwidth consumption on future, equivalent requests.</td><td class="lineno" valign="top"></td></tr>
165      <tr><td class="lineno" valign="top"></td><td class="left">   Any client or server MAY employ a cache, though a cache cannot be</td><td> </td><td class="right">   Any client or server MAY employ a cache, though a cache cannot be</td><td class="lineno" valign="top"></td></tr>
166      <tr><td class="lineno" valign="top"></td><td class="left">   used by a server that is acting as a tunnel.</td><td> </td><td class="right">   used by a server that is acting as a tunnel.</td><td class="lineno" valign="top"></td></tr>
167      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
168      <tr><td class="lineno" valign="top"></td><td class="left">   A shared cache is a cache that stores responses to be reused by more</td><td> </td><td class="right">   A shared cache is a cache that stores responses to be reused by more</td><td class="lineno" valign="top"></td></tr>
169      <tr><td class="lineno" valign="top"></td><td class="left">   than one user; shared caches are usually (but not always) deployed as</td><td> </td><td class="right">   than one user; shared caches are usually (but not always) deployed as</td><td class="lineno" valign="top"></td></tr>
170      <tr><td class="lineno" valign="top"></td><td class="left">   a part of an intermediary.  A private cache, in contrast, is</td><td> </td><td class="right">   a part of an intermediary.  A private cache, in contrast, is</td><td class="lineno" valign="top"></td></tr>
171      <tr><td><a name="diff0011" /></td></tr>
172      <tr><td class="lineno" valign="top"></td><td class="lblock">   dedicated to a single <span class="delete">user.</span></td><td> </td><td class="rblock">   dedicated to a single <span class="insert">user; often, they are deployed as a component</span></td><td class="lineno" valign="top"></td></tr>
173      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   of a user agent.</span></td><td class="lineno" valign="top"></td></tr>
174      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
175      <tr><td class="lineno" valign="top"></td><td class="left">   The goal of caching in HTTP/1.1 is to significantly improve</td><td> </td><td class="right">   The goal of caching in HTTP/1.1 is to significantly improve</td><td class="lineno" valign="top"></td></tr>
176      <tr><td class="lineno" valign="top"></td><td class="left">   performance by reusing a prior response message to satisfy a current</td><td> </td><td class="right">   performance by reusing a prior response message to satisfy a current</td><td class="lineno" valign="top"></td></tr>
177      <tr><td class="lineno" valign="top"></td><td class="left">   request.  A stored response is considered "fresh", as defined in</td><td> </td><td class="right">   request.  A stored response is considered "fresh", as defined in</td><td class="lineno" valign="top"></td></tr>
178      <tr><td class="lineno" valign="top"></td><td class="left">   Section 4.2, if the response can be reused without "validation"</td><td> </td><td class="right">   Section 4.2, if the response can be reused without "validation"</td><td class="lineno" valign="top"></td></tr>
179      <tr><td class="lineno" valign="top"></td><td class="left">   (checking with the origin server to see if the cached response</td><td> </td><td class="right">   (checking with the origin server to see if the cached response</td><td class="lineno" valign="top"></td></tr>
180      <tr><td class="lineno" valign="top"></td><td class="left">   remains valid for this request).  A fresh response can therefore</td><td> </td><td class="right">   remains valid for this request).  A fresh response can therefore</td><td class="lineno" valign="top"></td></tr>
181      <tr><td class="lineno" valign="top"></td><td class="left">   reduce both latency and network overhead each time it is reused.</td><td> </td><td class="right">   reduce both latency and network overhead each time it is reused.</td><td class="lineno" valign="top"></td></tr>
182      <tr><td class="lineno" valign="top"></td><td class="left">   When a cached response is not fresh, it might still be reusable if it</td><td> </td><td class="right">   When a cached response is not fresh, it might still be reusable if it</td><td class="lineno" valign="top"></td></tr>
183      <tr><td class="lineno" valign="top"></td><td class="left">   can be freshened by validation (Section 4.3) or if the origin is</td><td> </td><td class="right">   can be freshened by validation (Section 4.3) or if the origin is</td><td class="lineno" valign="top"></td></tr>
184      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
185      <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 4, line 47</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 4, line 48</em></th><td></td></tr>
186      <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>
187      <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>
188      <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>
189      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
190      <tr><td class="lineno" valign="top"></td><td class="left">   Conformance criteria and considerations regarding error handling are</td><td> </td><td class="right">   Conformance criteria and considerations regarding error handling are</td><td class="lineno" valign="top"></td></tr>
191      <tr><td class="lineno" valign="top"></td><td class="left">   defined in Section 2.5 of [Part1].</td><td> </td><td class="right">   defined in Section 2.5 of [Part1].</td><td class="lineno" valign="top"></td></tr>
192      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
193      <tr><td class="lineno" valign="top"></td><td class="left">1.2.  Syntax Notation</td><td> </td><td class="right">1.2.  Syntax Notation</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">   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>
196      <tr><td><a name="diff0012" /></td></tr>
197      <tr><td class="lineno" valign="top"></td><td class="lblock">   notation of [RFC5234] with <span class="delete">the</span> list <span class="delete">rule extension</span> defined in Section</td><td> </td><td class="rblock">   notation of [RFC5234] with <span class="insert">a</span> list <span class="insert">extension,</span> defined in Section 7 of</td><td class="lineno" valign="top"></td></tr>
198      <tr><td class="lineno" valign="top"></td><td class="lblock">   7 of <span class="delete">[Part1].</span>  Appendix B describes rules imported from other</td><td> </td><td class="rblock">   <span class="insert">[Part1], that allows for compact definition of comma-separated lists</span></td><td class="lineno" valign="top"></td></tr>
199      <tr><td class="lineno" valign="top"></td><td class="lblock">   documents.  Appendix C shows the collected <span class="delete">ABNF</span> with <span class="delete">the</span> list <span class="delete">rule</span></td><td> </td><td class="rblock"><span class="insert">   using a '#' operator (similar to how the '*' operator indicates</span></td><td class="lineno" valign="top"></td></tr>
200      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   expanded.</span></td><td> </td><td class="rblock"><span class="insert">   repetition).</span>  Appendix B describes rules imported from other</td><td class="lineno" valign="top"></td></tr>
201      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   documents.  Appendix C shows the collected <span class="insert">grammar</span> with <span class="insert">all</span> list</td><td class="lineno" valign="top"></td></tr>
202      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">operators expanded to standard ABNF notation.</span></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.2.1.  Delta Seconds</td><td> </td><td class="right">1.2.1.  Delta Seconds</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 delta-seconds rule specifies a non-negative integer, representing</td><td> </td><td class="right">   The delta-seconds rule specifies a non-negative integer, representing</td><td class="lineno" valign="top"></td></tr>
207      <tr><td class="lineno" valign="top"></td><td class="left">   time in seconds.</td><td> </td><td class="right">   time in seconds.</td><td class="lineno" valign="top"></td></tr>
208      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
209      <tr><td class="lineno" valign="top"></td><td class="left">     delta-seconds  = 1*DIGIT</td><td> </td><td class="right">     delta-seconds  = 1*DIGIT</td><td class="lineno" valign="top"></td></tr>
210      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
211      <tr><td class="lineno" valign="top"></td><td class="left">   A recipient parsing a delta-seconds value and converting it to binary</td><td> </td><td class="right">   A recipient parsing a delta-seconds value and converting it to binary</td><td class="lineno" valign="top"></td></tr>
212      <tr><td class="lineno" valign="top"></td><td class="left">   form ought to use an arithmetic type of at least 31 bits of non-</td><td> </td><td class="right">   form ought to use an arithmetic type of at least 31 bits of non-</td><td class="lineno" valign="top"></td></tr>
213      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
214      <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 5, line 34</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 5, line 35</em></th><td></td></tr>
215      <tr><td class="lineno" valign="top"></td><td class="left">      are performed with an arithmetic type incapable of directly</td><td> </td><td class="right">      are performed with an arithmetic type incapable of directly</td><td class="lineno" valign="top"></td></tr>
216      <tr><td class="lineno" valign="top"></td><td class="left">      representing that number.  What matters here is that an overflow</td><td> </td><td class="right">      representing that number.  What matters here is that an overflow</td><td class="lineno" valign="top"></td></tr>
217      <tr><td class="lineno" valign="top"></td><td class="left">      be detected and not treated as a negative value in later</td><td> </td><td class="right">      be detected and not treated as a negative value in later</td><td class="lineno" valign="top"></td></tr>
218      <tr><td class="lineno" valign="top"></td><td class="left">      calculations.</td><td> </td><td class="right">      calculations.</td><td class="lineno" valign="top"></td></tr>
219      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
220      <tr><td class="lineno" valign="top"></td><td class="left">2.  Overview of Cache Operation</td><td> </td><td class="right">2.  Overview of Cache Operation</td><td class="lineno" valign="top"></td></tr>
221      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
222      <tr><td class="lineno" valign="top"></td><td class="left">   Proper cache operation preserves the semantics of HTTP transfers</td><td> </td><td class="right">   Proper cache operation preserves the semantics of HTTP transfers</td><td class="lineno" valign="top"></td></tr>
223      <tr><td class="lineno" valign="top"></td><td class="left">   ([Part2]) while eliminating the transfer of information already held</td><td> </td><td class="right">   ([Part2]) while eliminating the transfer of information already held</td><td class="lineno" valign="top"></td></tr>
224      <tr><td class="lineno" valign="top"></td><td class="left">   in the cache.  Although caching is an entirely OPTIONAL feature of</td><td> </td><td class="right">   in the cache.  Although caching is an entirely OPTIONAL feature of</td><td class="lineno" valign="top"></td></tr>
225      <tr><td><a name="diff0013" /></td></tr>
226      <tr><td class="lineno" valign="top"></td><td class="lblock">   HTTP, <span class="delete">we assume</span> that reusing <span class="delete">the</span> cached response is desirable and</td><td> </td><td class="rblock">   HTTP, <span class="insert">it can be assumed</span> that reusing <span class="insert">a</span> cached response is desirable</td><td class="lineno" valign="top"></td></tr>
227      <tr><td class="lineno" valign="top"></td><td class="lblock">   that such reuse is the default behavior when no requirement or local</td><td> </td><td class="rblock">   and that such reuse is the default behavior when no requirement or</td><td class="lineno" valign="top"></td></tr>
228      <tr><td class="lineno" valign="top"></td><td class="lblock">   configuration prevents it.  Therefore, HTTP cache requirements are</td><td> </td><td class="rblock">   local configuration prevents it.  Therefore, HTTP cache requirements</td><td class="lineno" valign="top"></td></tr>
229      <tr><td class="lineno" valign="top"></td><td class="lblock">   focused on preventing a cache from either storing a non-reusable</td><td> </td><td class="rblock">   are focused on preventing a cache from either storing a non-reusable</td><td class="lineno" valign="top"></td></tr>
230      <tr><td class="lineno" valign="top"></td><td class="left">   response or reusing a stored response inappropriately, rather than</td><td> </td><td class="right">   response or reusing a stored response inappropriately, rather than</td><td class="lineno" valign="top"></td></tr>
231      <tr><td class="lineno" valign="top"></td><td class="left">   mandating that caches always store and reuse particular responses.</td><td> </td><td class="right">   mandating that caches always store and reuse particular responses.</td><td class="lineno" valign="top"></td></tr>
232      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
233      <tr><td class="lineno" valign="top"></td><td class="left">   Each cache entry consists of a cache key and one or more HTTP</td><td> </td><td class="right">   Each cache entry consists of a cache key and one or more HTTP</td><td class="lineno" valign="top"></td></tr>
234      <tr><td class="lineno" valign="top"></td><td class="left">   responses corresponding to prior requests that used the same key.</td><td> </td><td class="right">   responses corresponding to prior requests that used the same key.</td><td class="lineno" valign="top"></td></tr>
235      <tr><td class="lineno" valign="top"></td><td class="left">   The most common form of cache entry is a successful result of a</td><td> </td><td class="right">   The most common form of cache entry is a successful result of a</td><td class="lineno" valign="top"></td></tr>
236      <tr><td class="lineno" valign="top"></td><td class="left">   retrieval request: i.e., a 200 (OK) response to a GET request, which</td><td> </td><td class="right">   retrieval request: i.e., a 200 (OK) response to a GET request, which</td><td class="lineno" valign="top"></td></tr>
237      <tr><td class="lineno" valign="top"></td><td class="left">   contains a representation of the resource identified by the request</td><td> </td><td class="right">   contains a representation of the resource identified by the request</td><td class="lineno" valign="top"></td></tr>
238      <tr><td class="lineno" valign="top"></td><td class="left">   target (Section 4.3.1 of [Part2]).  However, it is also possible to</td><td> </td><td class="right">   target (Section 4.3.1 of [Part2]).  However, it is also possible to</td><td class="lineno" valign="top"></td></tr>
239      <tr><td class="lineno" valign="top"></td><td class="left">   cache permanent redirects, negative results (e.g., 404 (Not Found)),</td><td> </td><td class="right">   cache permanent redirects, negative results (e.g., 404 (Not Found)),</td><td class="lineno" valign="top"></td></tr>
240      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
241      <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 6, line 26</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 6, line 27</em></th><td></td></tr>
242      <tr><td class="lineno" valign="top"></td><td class="left">   A cache MUST NOT store a response to any request, unless:</td><td> </td><td class="right">   A cache MUST NOT store a response to any request, unless:</td><td class="lineno" valign="top"></td></tr>
243      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
244      <tr><td class="lineno" valign="top"></td><td class="left">   o  The request method is understood by the cache and defined as being</td><td> </td><td class="right">   o  The request method is understood by the cache and defined as being</td><td class="lineno" valign="top"></td></tr>
245      <tr><td class="lineno" valign="top"></td><td class="left">      cacheable, and</td><td> </td><td class="right">      cacheable, and</td><td class="lineno" valign="top"></td></tr>
246      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
247      <tr><td class="lineno" valign="top"></td><td class="left">   o  the response status code is understood by the cache, and</td><td> </td><td class="right">   o  the response status code is understood by the cache, and</td><td class="lineno" valign="top"></td></tr>
248      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
249      <tr><td class="lineno" valign="top"></td><td class="left">   o  the "no-store" cache directive (see Section 5.2) does not appear</td><td> </td><td class="right">   o  the "no-store" cache directive (see Section 5.2) does not appear</td><td class="lineno" valign="top"></td></tr>
250      <tr><td class="lineno" valign="top"></td><td class="left">      in request or response header fields, and</td><td> </td><td class="right">      in request or response header fields, and</td><td class="lineno" valign="top"></td></tr>
251      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
252      <tr><td><a name="diff0014" /></td></tr>
253      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  the "private" <span class="delete">cache</span> response directive (see Section 5.2.2.6) does</td><td> </td><td class="rblock">   o  the "private" response directive (see Section 5.2.2.6) does not</td><td class="lineno" valign="top"></td></tr>
254      <tr><td class="lineno" valign="top"></td><td class="lblock">      not appear in the response, if the cache is shared, and</td><td> </td><td class="rblock">      appear in the response, if the cache is shared, and</td><td class="lineno" valign="top"></td></tr>
255      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
256      <tr><td><a name="diff0015" /></td></tr>
257      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  the Authorization header field (see Section 4.<span class="delete">1</span> of [Part7]) does</td><td> </td><td class="rblock">   o  the Authorization header field (see Section 4.<span class="insert">2</span> of [Part7]) does</td><td class="lineno" valign="top"></td></tr>
258      <tr><td class="lineno" valign="top"></td><td class="left">      not appear in the request, if the cache is shared, unless the</td><td> </td><td class="right">      not appear in the request, if the cache is shared, unless the</td><td class="lineno" valign="top"></td></tr>
259      <tr><td class="lineno" valign="top"></td><td class="left">      response explicitly allows it (see Section 3.2), and</td><td> </td><td class="right">      response explicitly allows it (see Section 3.2), and</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">   o  the response either:</td><td> </td><td class="right">   o  the response either:</td><td class="lineno" valign="top"></td></tr>
262      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
263      <tr><td class="lineno" valign="top"></td><td class="left">      *  contains an Expires header field (see Section 5.3), or</td><td> </td><td class="right">      *  contains an Expires header field (see Section 5.3), or</td><td class="lineno" valign="top"></td></tr>
264      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
265      <tr><td><a name="diff0016" /></td></tr>
266      <tr><td class="lineno" valign="top"></td><td class="lblock">      *  contains a max-age response <span class="delete">cache</span> directive (see</td><td> </td><td class="rblock">      *  contains a max-age response directive (see Section 5.2.2.8), or</td><td class="lineno" valign="top"></td></tr>
267      <tr><td class="lineno" valign="top"></td><td class="lblock">         Section 5.2.2.8), or</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
268      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
269      <tr><td><a name="diff0017" /></td></tr>
270      <tr><td class="lineno" valign="top"></td><td class="lblock">      *  contains a s-maxage response <span class="delete">cache</span> directive (see</td><td> </td><td class="rblock">      *  contains a s-maxage response directive (see Section 5.2.2.9)</td><td class="lineno" valign="top"></td></tr>
271      <tr><td class="lineno" valign="top"></td><td class="lblock">         Section 5.2.2.9) and the cache is shared, or</td><td> </td><td class="rblock">         and the cache is shared, or</td><td class="lineno" valign="top"></td></tr>
272      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
273      <tr><td class="lineno" valign="top"></td><td class="left">      *  contains a Cache Control Extension (see Section 5.2.3) that</td><td> </td><td class="right">      *  contains a Cache Control Extension (see Section 5.2.3) that</td><td class="lineno" valign="top"></td></tr>
274      <tr><td class="lineno" valign="top"></td><td class="left">         allows it to be cached, or</td><td> </td><td class="right">         allows it to be cached, or</td><td class="lineno" valign="top"></td></tr>
275      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
276      <tr><td class="lineno" valign="top"></td><td class="left">      *  has a status code that is defined as cacheable by default (see</td><td> </td><td class="right">      *  has a status code that is defined as cacheable by default (see</td><td class="lineno" valign="top"></td></tr>
277      <tr><td class="lineno" valign="top"></td><td class="left">         Section 4.2.2), or</td><td> </td><td class="right">         Section 4.2.2), or</td><td class="lineno" valign="top"></td></tr>
278      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
279      <tr><td><a name="diff0018" /></td></tr>
280      <tr><td class="lineno" valign="top"></td><td class="lblock">      *  contains a public response <span class="delete">cache</span> directive (see</td><td> </td><td class="rblock">      *  contains a public response directive (see Section 5.2.2.5).</td><td class="lineno" valign="top"></td></tr>
281      <tr><td class="lineno" valign="top"></td><td class="lblock">         Section 5.2.2.5).</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
282      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
283      <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>
284      <tr><td class="lineno" valign="top"></td><td class="left">   cache-control extension; see Section 5.2.3.</td><td> </td><td class="right">   cache-control extension; see Section 5.2.3.</td><td class="lineno" valign="top"></td></tr>
285      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
286      <tr><td class="lineno" valign="top"></td><td class="left">   In this context, a cache has "understood" a request method or a</td><td> </td><td class="right">   In this context, a cache has "understood" a request method or a</td><td class="lineno" valign="top"></td></tr>
287      <tr><td class="lineno" valign="top"></td><td class="left">   response status code if it recognizes it and implements all specified</td><td> </td><td class="right">   response status code if it recognizes it and implements all specified</td><td class="lineno" valign="top"></td></tr>
288      <tr><td class="lineno" valign="top"></td><td class="left">   caching-related behavior.</td><td> </td><td class="right">   caching-related behavior.</td><td class="lineno" valign="top"></td></tr>
289      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
290      <tr><td class="lineno" valign="top"></td><td class="left">   Note that, in normal operation, some caches will not store a response</td><td> </td><td class="right">   Note that, in normal operation, some caches will not store a response</td><td class="lineno" valign="top"></td></tr>
291      <tr><td class="lineno" valign="top"></td><td class="left">   that has neither a cache validator nor an explicit expiration time,</td><td> </td><td class="right">   that has neither a cache validator nor an explicit expiration time,</td><td class="lineno" valign="top"></td></tr>
292      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
293      <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 7, line 41</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 7, line 40</em></th><td></td></tr>
294      <tr><td class="lineno" valign="top"></td><td class="left">   response with the stored entry, as defined in Section 3.3.  A cache</td><td> </td><td class="right">   response with the stored entry, as defined in Section 3.3.  A cache</td><td class="lineno" valign="top"></td></tr>
295      <tr><td class="lineno" valign="top"></td><td class="left">   MUST NOT use an incomplete response to answer requests unless the</td><td> </td><td class="right">   MUST NOT use an incomplete response to answer requests unless the</td><td class="lineno" valign="top"></td></tr>
296      <tr><td class="lineno" valign="top"></td><td class="left">   response has been made complete or the request is partial and</td><td> </td><td class="right">   response has been made complete or the request is partial and</td><td class="lineno" valign="top"></td></tr>
297      <tr><td class="lineno" valign="top"></td><td class="left">   specifies a range that is wholly within the incomplete response.  A</td><td> </td><td class="right">   specifies a range that is wholly within the incomplete response.  A</td><td class="lineno" valign="top"></td></tr>
298      <tr><td class="lineno" valign="top"></td><td class="left">   cache MUST NOT send a partial response to a client without explicitly</td><td> </td><td class="right">   cache MUST NOT send a partial response to a client without explicitly</td><td class="lineno" valign="top"></td></tr>
299      <tr><td class="lineno" valign="top"></td><td class="left">   marking it as such using the 206 (Partial Content) status code.</td><td> </td><td class="right">   marking it as such using the 206 (Partial Content) status code.</td><td class="lineno" valign="top"></td></tr>
300      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
301      <tr><td class="lineno" valign="top"></td><td class="left">3.2.  Storing Responses to Authenticated Requests</td><td> </td><td class="right">3.2.  Storing Responses to Authenticated Requests</td><td class="lineno" valign="top"></td></tr>
302      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
303      <tr><td class="lineno" valign="top"></td><td class="left">   A shared cache MUST NOT use a cached response to a request with an</td><td> </td><td class="right">   A shared cache MUST NOT use a cached response to a request with an</td><td class="lineno" valign="top"></td></tr>
304      <tr><td><a name="diff0019" /></td></tr>
305      <tr><td class="lineno" valign="top"></td><td class="lblock">   Authorization header field (Section 4.<span class="delete">1</span> of [Part7]) to satisfy any</td><td> </td><td class="rblock">   Authorization header field (Section 4.<span class="insert">2</span> of [Part7]) to satisfy any</td><td class="lineno" valign="top"></td></tr>
306      <tr><td class="lineno" valign="top"></td><td class="left">   subsequent request unless a cache directive that allows such</td><td> </td><td class="right">   subsequent request unless a cache directive that allows such</td><td class="lineno" valign="top"></td></tr>
307      <tr><td class="lineno" valign="top"></td><td class="left">   responses to be stored is present in the response.</td><td> </td><td class="right">   responses to be stored is present in the response.</td><td class="lineno" valign="top"></td></tr>
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">   In this specification, the following Cache-Control response</td><td> </td><td class="right">   In this specification, the following Cache-Control response</td><td class="lineno" valign="top"></td></tr>
310      <tr><td class="lineno" valign="top"></td><td class="left">   directives (Section 5.2.2) have such an effect: must-revalidate,</td><td> </td><td class="right">   directives (Section 5.2.2) have such an effect: must-revalidate,</td><td class="lineno" valign="top"></td></tr>
311      <tr><td class="lineno" valign="top"></td><td class="left">   public, s-maxage.</td><td> </td><td class="right">   public, s-maxage.</td><td class="lineno" valign="top"></td></tr>
312      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
313      <tr><td class="lineno" valign="top"></td><td class="left">   Note that cached responses that contain the "must-revalidate" and/or</td><td> </td><td class="right">   Note that cached responses that contain the "must-revalidate" and/or</td><td class="lineno" valign="top"></td></tr>
314      <tr><td class="lineno" valign="top"></td><td class="left">   "s-maxage" response directives are not allowed to be served stale</td><td> </td><td class="right">   "s-maxage" response directives are not allowed to be served stale</td><td class="lineno" valign="top"></td></tr>
315      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 4.2.4) by shared caches.  In particular, a response with</td><td> </td><td class="right">   (Section 4.2.4) by shared caches.  In particular, a response with</td><td class="lineno" valign="top"></td></tr>
316      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
317      <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 11, line 12</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 11, line 8</em></th><td></td></tr>
318      <tr><td class="lineno" valign="top"></td><td class="left">   A response's age is the time that has passed since it was generated</td><td> </td><td class="right">   A response's age is the time that has passed since it was generated</td><td class="lineno" valign="top"></td></tr>
319      <tr><td class="lineno" valign="top"></td><td class="left">   by, or successfully validated with, the origin server.</td><td> </td><td class="right">   by, or successfully validated with, the origin server.</td><td class="lineno" valign="top"></td></tr>
320      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
321      <tr><td class="lineno" valign="top"></td><td class="left">   When a response is "fresh" in the cache, it can be used to satisfy</td><td> </td><td class="right">   When a response is "fresh" in the cache, it can be used to satisfy</td><td class="lineno" valign="top"></td></tr>
322      <tr><td class="lineno" valign="top"></td><td class="left">   subsequent requests without contacting the origin server, thereby</td><td> </td><td class="right">   subsequent requests without contacting the origin server, thereby</td><td class="lineno" valign="top"></td></tr>
323      <tr><td class="lineno" valign="top"></td><td class="left">   improving efficiency.</td><td> </td><td class="right">   improving efficiency.</td><td class="lineno" valign="top"></td></tr>
324      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
325      <tr><td class="lineno" valign="top"></td><td class="left">   The primary mechanism for determining freshness is for an origin</td><td> </td><td class="right">   The primary mechanism for determining freshness is for an origin</td><td class="lineno" valign="top"></td></tr>
326      <tr><td class="lineno" valign="top"></td><td class="left">   server to provide an explicit expiration time in the future, using</td><td> </td><td class="right">   server to provide an explicit expiration time in the future, using</td><td class="lineno" valign="top"></td></tr>
327      <tr><td class="lineno" valign="top"></td><td class="left">   either the Expires header field (Section 5.3) or the max-age response</td><td> </td><td class="right">   either the Expires header field (Section 5.3) or the max-age response</td><td class="lineno" valign="top"></td></tr>
328      <tr><td><a name="diff0020" /></td></tr>
329      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">cache</span> directive (Section 5.2.2.8).  Generally, origin servers will</td><td> </td><td class="rblock">   directive (Section 5.2.2.8).  Generally, origin servers will assign</td><td class="lineno" valign="top"></td></tr>
330      <tr><td class="lineno" valign="top"></td><td class="lblock">   assign future explicit expiration times to responses in the belief</td><td> </td><td class="rblock">   future explicit expiration times to responses in the belief that the</td><td class="lineno" valign="top"></td></tr>
331      <tr><td class="lineno" valign="top"></td><td class="lblock">   that the representation is not likely to change in a semantically</td><td> </td><td class="rblock">   representation is not likely to change in a semantically significant</td><td class="lineno" valign="top"></td></tr>
332      <tr><td class="lineno" valign="top"></td><td class="lblock">   significant way before the expiration time is reached.</td><td> </td><td class="rblock">   way before the expiration time is reached.</td><td class="lineno" valign="top"></td></tr>
333      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
334      <tr><td class="lineno" valign="top"></td><td class="left">   If an origin server wishes to force a cache to validate every</td><td> </td><td class="right">   If an origin server wishes to force a cache to validate every</td><td class="lineno" valign="top"></td></tr>
335      <tr><td class="lineno" valign="top"></td><td class="left">   request, it can assign an explicit expiration time in the past to</td><td> </td><td class="right">   request, it can assign an explicit expiration time in the past to</td><td class="lineno" valign="top"></td></tr>
336      <tr><td class="lineno" valign="top"></td><td class="left">   indicate that the response is already stale.  Compliant caches will</td><td> </td><td class="right">   indicate that the response is already stale.  Compliant caches will</td><td class="lineno" valign="top"></td></tr>
337      <tr><td class="lineno" valign="top"></td><td class="left">   normally validate a stale cached response before reusing it for</td><td> </td><td class="right">   normally validate a stale cached response before reusing it for</td><td class="lineno" valign="top"></td></tr>
338      <tr><td class="lineno" valign="top"></td><td class="left">   subsequent requests (see Section 4.2.4).</td><td> </td><td class="right">   subsequent requests (see Section 4.2.4).</td><td class="lineno" valign="top"></td></tr>
339      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
340      <tr><td class="lineno" valign="top"></td><td class="left">   Since origin servers do not always provide explicit expiration times,</td><td> </td><td class="right">   Since origin servers do not always provide explicit expiration times,</td><td class="lineno" valign="top"></td></tr>
341      <tr><td class="lineno" valign="top"></td><td class="left">   caches are also allowed to use a heuristic to determine an expiration</td><td> </td><td class="right">   caches are also allowed to use a heuristic to determine an expiration</td><td class="lineno" valign="top"></td></tr>
342      <tr><td class="lineno" valign="top"></td><td class="left">   time under certain circumstances (see Section 4.2.2).</td><td> </td><td class="right">   time under certain circumstances (see Section 4.2.2).</td><td class="lineno" valign="top"></td></tr>
343      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
344      <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 12, line 18</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 12, line 12</em></th><td></td></tr>
345      <tr><td class="lineno" valign="top"></td><td class="left">   Note that freshness applies only to cache operation; it cannot be</td><td> </td><td class="right">   Note that freshness applies only to cache operation; it cannot be</td><td class="lineno" valign="top"></td></tr>
346      <tr><td class="lineno" valign="top"></td><td class="left">   used to force a user agent to refresh its display or reload a</td><td> </td><td class="right">   used to force a user agent to refresh its display or reload a</td><td class="lineno" valign="top"></td></tr>
347      <tr><td class="lineno" valign="top"></td><td class="left">   resource.  See Section 6 for an explanation of the difference between</td><td> </td><td class="right">   resource.  See Section 6 for an explanation of the difference between</td><td class="lineno" valign="top"></td></tr>
348      <tr><td class="lineno" valign="top"></td><td class="left">   caches and history mechanisms.</td><td> </td><td class="right">   caches and history mechanisms.</td><td class="lineno" valign="top"></td></tr>
349      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
350      <tr><td class="lineno" valign="top"></td><td class="left">4.2.1.  Calculating Freshness Lifetime</td><td> </td><td class="right">4.2.1.  Calculating Freshness Lifetime</td><td class="lineno" valign="top"></td></tr>
351      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
352      <tr><td class="lineno" valign="top"></td><td class="left">   A cache can calculate the freshness lifetime (denoted as</td><td> </td><td class="right">   A cache can calculate the freshness lifetime (denoted as</td><td class="lineno" valign="top"></td></tr>
353      <tr><td class="lineno" valign="top"></td><td class="left">   freshness_lifetime) of a response by using the first match of:</td><td> </td><td class="right">   freshness_lifetime) of a response by using the first match of:</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="diff0021" /></td></tr>
356      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  If the cache is shared and the s-maxage response <span class="delete">cache </span>directive</td><td> </td><td class="rblock">   o  If the cache is shared and the s-maxage response directive</td><td class="lineno" valign="top"></td></tr>
357      <tr><td class="lineno" valign="top"></td><td class="left">      (Section 5.2.2.9) is present, use its value, or</td><td> </td><td class="right">      (Section 5.2.2.9) is present, use its value, or</td><td class="lineno" valign="top"></td></tr>
358      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
359      <tr><td><a name="diff0022" /></td></tr>
360      <tr><td class="lineno" valign="top"></td><td class="lblock">   o  If the max-age response <span class="delete">cache</span> directive (Section 5.2.2.8) is</td><td> </td><td class="rblock">   o  If the max-age response directive (Section 5.2.2.8) is present,</td><td class="lineno" valign="top"></td></tr>
361      <tr><td class="lineno" valign="top"></td><td class="lblock">      present, use its value, or</td><td> </td><td class="rblock">      use its value, or</td><td class="lineno" valign="top"></td></tr>
362      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
363      <tr><td class="lineno" valign="top"></td><td class="left">   o  If the Expires response header field (Section 5.3) is present, use</td><td> </td><td class="right">   o  If the Expires response header field (Section 5.3) is present, use</td><td class="lineno" valign="top"></td></tr>
364      <tr><td class="lineno" valign="top"></td><td class="left">      its value minus the value of the Date response header field, or</td><td> </td><td class="right">      its value minus the value of the Date response header field, or</td><td class="lineno" valign="top"></td></tr>
365      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
366      <tr><td class="lineno" valign="top"></td><td class="left">   o  Otherwise, no explicit expiration time is present in the response.</td><td> </td><td class="right">   o  Otherwise, no explicit expiration time is present in the response.</td><td class="lineno" valign="top"></td></tr>
367      <tr><td class="lineno" valign="top"></td><td class="left">      A heuristic freshness lifetime might be applicable; see</td><td> </td><td class="right">      A heuristic freshness lifetime might be applicable; see</td><td class="lineno" valign="top"></td></tr>
368      <tr><td class="lineno" valign="top"></td><td class="left">      Section 4.2.2.</td><td> </td><td class="right">      Section 4.2.2.</td><td class="lineno" valign="top"></td></tr>
369      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
370      <tr><td class="lineno" valign="top"></td><td class="left">   Note that this calculation is not vulnerable to clock skew, since all</td><td> </td><td class="right">   Note that this calculation is not vulnerable to clock skew, since all</td><td class="lineno" valign="top"></td></tr>
371      <tr><td class="lineno" valign="top"></td><td class="left">   of the information comes from the origin server.</td><td> </td><td class="right">   of the information comes from the origin server.</td><td class="lineno" valign="top"></td></tr>
372      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
373      <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 13, line 7</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 12, line 50</em></th><td></td></tr>
374      <tr><td class="lineno" valign="top"></td><td class="left">   expiration time.  This specification does not provide specific</td><td> </td><td class="right">   expiration time.  This specification does not provide specific</td><td class="lineno" valign="top"></td></tr>
375      <tr><td class="lineno" valign="top"></td><td class="left">   algorithms, but does impose worst-case constraints on their results.</td><td> </td><td class="right">   algorithms, but does impose worst-case constraints on their results.</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 use heuristics to determine freshness when an</td><td> </td><td class="right">   A cache MUST NOT use heuristics to determine freshness when an</td><td class="lineno" valign="top"></td></tr>
378      <tr><td class="lineno" valign="top"></td><td class="left">   explicit expiration time is present in the stored response.  Because</td><td> </td><td class="right">   explicit expiration time is present in the stored response.  Because</td><td class="lineno" valign="top"></td></tr>
379      <tr><td class="lineno" valign="top"></td><td class="left">   of the requirements in Section 3, this means that, effectively,</td><td> </td><td class="right">   of the requirements in Section 3, this means that, effectively,</td><td class="lineno" valign="top"></td></tr>
380      <tr><td class="lineno" valign="top"></td><td class="left">   heuristics can only be used on responses without explicit freshness</td><td> </td><td class="right">   heuristics can only be used on responses without explicit freshness</td><td class="lineno" valign="top"></td></tr>
381      <tr><td class="lineno" valign="top"></td><td class="left">   whose status codes are defined as cacheable by default (see Section</td><td> </td><td class="right">   whose status codes are defined as cacheable by default (see Section</td><td class="lineno" valign="top"></td></tr>
382      <tr><td class="lineno" valign="top"></td><td class="left">   6.1 of [Part2]), and those responses without explicit freshness that</td><td> </td><td class="right">   6.1 of [Part2]), and those responses without explicit freshness that</td><td class="lineno" valign="top"></td></tr>
383      <tr><td class="lineno" valign="top"></td><td class="left">   have been marked as explicitly cacheable (e.g., with a "public"</td><td> </td><td class="right">   have been marked as explicitly cacheable (e.g., with a "public"</td><td class="lineno" valign="top"></td></tr>
384      <tr><td><a name="diff0023" /></td></tr>
385      <tr><td class="lineno" valign="top"></td><td class="lblock">   response <span class="delete">cache </span>directive).</td><td> </td><td class="rblock">   response directive).</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 the response has a Last-Modified header field (Section 2.2 of</td><td> </td><td class="right">   If the response has a Last-Modified header field (Section 2.2 of</td><td class="lineno" valign="top"></td></tr>
388      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]), caches are encouraged to use a heuristic expiration value</td><td> </td><td class="right">   [Part4]), caches are encouraged to use a heuristic expiration value</td><td class="lineno" valign="top"></td></tr>
389      <tr><td class="lineno" valign="top"></td><td class="left">   that is no more than some fraction of the interval since that time.</td><td> </td><td class="right">   that is no more than some fraction of the interval since that time.</td><td class="lineno" valign="top"></td></tr>
390      <tr><td class="lineno" valign="top"></td><td class="left">   A typical setting of this fraction might be 10%.</td><td> </td><td class="right">   A typical setting of this fraction might be 10%.</td><td class="lineno" valign="top"></td></tr>
391      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
392      <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>
393      <tr><td class="lineno" valign="top"></td><td class="left">   SHOULD generate a Warning header field with a 113 warn-code (see</td><td> </td><td class="right">   SHOULD generate a Warning header field with a 113 warn-code (see</td><td class="lineno" valign="top"></td></tr>
394      <tr><td class="lineno" valign="top"></td><td class="left">   Section 5.5.4) in the response if its current_age is more than 24</td><td> </td><td class="right">   Section 5.5.4) in the response if its current_age is more than 24</td><td class="lineno" valign="top"></td></tr>
395      <tr><td class="lineno" valign="top"></td><td class="left">   hours and such a warning is not already present.</td><td> </td><td class="right">   hours and such a warning is not already present.</td><td class="lineno" valign="top"></td></tr>
396      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
397      <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 19, line 25</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 19, line 25</em></th><td></td></tr>
398      <tr><td class="lineno" valign="top"></td><td class="left">   When a cache makes an inbound HEAD request for a given request target</td><td> </td><td class="right">   When a cache makes an inbound HEAD request for a given request target</td><td class="lineno" valign="top"></td></tr>
399      <tr><td class="lineno" valign="top"></td><td class="left">   and receives a 200 (OK) response, the cache SHOULD update or</td><td> </td><td class="right">   and receives a 200 (OK) response, the cache SHOULD update or</td><td class="lineno" valign="top"></td></tr>
400      <tr><td class="lineno" valign="top"></td><td class="left">   invalidate each of its stored GET responses that could have been</td><td> </td><td class="right">   invalidate each of its stored GET responses that could have been</td><td class="lineno" valign="top"></td></tr>
401      <tr><td class="lineno" valign="top"></td><td class="left">   selected for that request (see Section 4.1).</td><td> </td><td class="right">   selected for that request (see Section 4.1).</td><td class="lineno" valign="top"></td></tr>
402      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
403      <tr><td class="lineno" valign="top"></td><td class="left">   For each of the stored responses that could have been selected, if</td><td> </td><td class="right">   For each of the stored responses that could have been selected, if</td><td class="lineno" valign="top"></td></tr>
404      <tr><td class="lineno" valign="top"></td><td class="left">   the stored response and HEAD response have matching values for any</td><td> </td><td class="right">   the stored response and HEAD response have matching values for any</td><td class="lineno" valign="top"></td></tr>
405      <tr><td class="lineno" valign="top"></td><td class="left">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td> </td><td class="right">   received validator fields (ETag and Last-Modified) and, if the HEAD</td><td class="lineno" valign="top"></td></tr>
406      <tr><td class="lineno" valign="top"></td><td class="left">   response has a Content-Length header field, the value of Content-</td><td> </td><td class="right">   response has a Content-Length header field, the value of Content-</td><td class="lineno" valign="top"></td></tr>
407      <tr><td class="lineno" valign="top"></td><td class="left">   Length matches that of the stored response, the cache SHOULD update</td><td> </td><td class="right">   Length matches that of the stored response, the cache SHOULD update</td><td class="lineno" valign="top"></td></tr>
408      <tr><td><a name="diff0024" /></td></tr>
409      <tr><td class="lineno" valign="top"></td><td class="lblock">   the stored response a described below; otherwise, the cache SHOULD</td><td> </td><td class="rblock">   the stored response a<span class="insert">s</span> described below; otherwise, the cache SHOULD</td><td class="lineno" valign="top"></td></tr>
410      <tr><td class="lineno" valign="top"></td><td class="left">   consider the stored response to be stale.</td><td> </td><td class="right">   consider the stored response to be stale.</td><td class="lineno" valign="top"></td></tr>
411      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
412      <tr><td class="lineno" valign="top"></td><td class="left">   If a cache updates a stored response with the metadata provided in a</td><td> </td><td class="right">   If a cache updates a stored response with the metadata provided in a</td><td class="lineno" valign="top"></td></tr>
413      <tr><td class="lineno" valign="top"></td><td class="left">   HEAD response, the cache MUST:</td><td> </td><td class="right">   HEAD response, the cache MUST:</td><td class="lineno" valign="top"></td></tr>
414      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
415      <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>
416      <tr><td class="lineno" valign="top"></td><td class="left">      code 1xx (see Section 5.5);</td><td> </td><td class="right">      code 1xx (see Section 5.5);</td><td class="lineno" valign="top"></td></tr>
417      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
418      <tr><td class="lineno" valign="top"></td><td class="left">   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>
419      <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>
420      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
421      <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 26, line 45</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 26, line 45</em></th><td></td></tr>
422      <tr><td class="lineno" valign="top"></td><td class="left">   field.  The s-maxage directive also implies the semantics of the</td><td> </td><td class="right">   field.  The s-maxage directive also implies the semantics of the</td><td class="lineno" valign="top"></td></tr>
423      <tr><td class="lineno" valign="top"></td><td class="left">   proxy-revalidate response directive.</td><td> </td><td class="right">   proxy-revalidate response directive.</td><td class="lineno" valign="top"></td></tr>
424      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
425      <tr><td class="lineno" valign="top"></td><td class="left">   This directive uses the token form of the argument syntax; e.g.,</td><td> </td><td class="right">   This directive uses the token form of the argument syntax; e.g.,</td><td class="lineno" valign="top"></td></tr>
426      <tr><td class="lineno" valign="top"></td><td class="left">   's-maxage=10', not 's-maxage="10"'.  A sender SHOULD NOT generate the</td><td> </td><td class="right">   's-maxage=10', not 's-maxage="10"'.  A sender SHOULD NOT generate the</td><td class="lineno" valign="top"></td></tr>
427      <tr><td class="lineno" valign="top"></td><td class="left">   quoted-string form.</td><td> </td><td class="right">   quoted-string form.</td><td class="lineno" valign="top"></td></tr>
428      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
429      <tr><td class="lineno" valign="top"></td><td class="left">5.2.3.  Cache Control Extensions</td><td> </td><td class="right">5.2.3.  Cache Control Extensions</td><td class="lineno" valign="top"></td></tr>
430      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
431      <tr><td class="lineno" valign="top"></td><td class="left">   The Cache-Control header field can be extended through the use of one</td><td> </td><td class="right">   The Cache-Control header field can be extended through the use of one</td><td class="lineno" valign="top"></td></tr>
432      <tr><td><a name="diff0025" /></td></tr>
433      <tr><td class="lineno" valign="top"></td><td class="lblock">   or more cache-extension tokens, each with an optional value.</td><td> </td><td class="rblock">   or more cache-extension tokens, each with an optional value.  <span class="insert">A cache</span></td><td class="lineno" valign="top"></td></tr>
434      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   MUST ignore unrecognized cache directives.</span></td><td class="lineno" valign="top"></td></tr>
435      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
436      <tr><td class="lineno" valign="top"></td><td class="left">   Informational extensions (those that do not require a change in cache</td><td> </td><td class="right">   Informational extensions (those that do not require a change in cache</td><td class="lineno" valign="top"></td></tr>
437      <tr><td class="lineno" valign="top"></td><td class="left">   behavior) can be added without changing the semantics of other</td><td> </td><td class="right">   behavior) can be added without changing the semantics of other</td><td class="lineno" valign="top"></td></tr>
438      <tr><td><a name="diff0026" /></td></tr>
439      <tr><td class="lineno" valign="top"></td><td class="lblock">   directives.  <span class="delete">Behavioral extensions are designed to work by acting as</span></td><td> </td><td class="rblock">   directives.</td><td class="lineno" valign="top"></td></tr>
440      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   modifiers to the existing base of cache directives.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
441      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
442      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Both the new directive and the standard directive are supplied, such</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
443      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   that applications that do not understand the new directive will</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
444      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   default to the behavior specified by the standard directive, and</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
445      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   those that understand the new directive will recognize it as</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
446      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   modifying the requirements associated with the standard directive.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
447      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   In this way, extensions to the cache-control directives can be made</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
448      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   without requiring changes to the base protocol.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
449      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
450      <tr><td><a name="diff0027" /></td></tr>
451      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">This extension mechanism depends on an HTTP cache obeying all</span> of the</td><td> </td><td class="rblock">   <span class="insert">Behavioral extensions are designed to work by acting as modifiers to</span></td><td class="lineno" valign="top"></td></tr>
452      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">cache-control directives defined for its native HTTP-version, obeying</span></td><td> </td><td class="rblock"><span class="insert">   the existing base</span> of <span class="insert">cache directives.  Both</span> the <span class="insert">new directive</span> and</td><td class="lineno" valign="top"></td></tr>
453      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   certain extensions,</span> and <span class="delete">ignoring all directives</span> that <span class="delete">it does</span> not</td><td> </td><td class="rblock">   <span class="insert">the old directive are supplied, such</span> that <span class="insert">applications that do</span> not</td><td class="lineno" valign="top"></td></tr>
454      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">understand.</span></td><td> </td><td class="rblock">   <span class="insert">understand the new directive will default to the behavior specified</span></td><td class="lineno" valign="top"></td></tr>
455      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   by the old directive, and those that understand the new directive</span></td><td class="lineno" valign="top"></td></tr>
456      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   will recognize it as modifying the requirements associated with the</span></td><td class="lineno" valign="top"></td></tr>
457      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   old directive.  In this way, extensions to the existing cache-control</span></td><td class="lineno" valign="top"></td></tr>
458      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   directives can be made without breaking deployed caches.</span></td><td class="lineno" valign="top"></td></tr>
459      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
460      <tr><td class="lineno" valign="top"></td><td class="left">   For example, consider a hypothetical new response directive called</td><td> </td><td class="right">   For example, consider a hypothetical new response directive called</td><td class="lineno" valign="top"></td></tr>
461      <tr><td><a name="diff0028" /></td></tr>
462      <tr><td class="lineno" valign="top"></td><td class="lblock">   "community" that acts as a modifier to the private <span class="delete">directive.  We</span></td><td> </td><td class="rblock">   "community" that acts as a modifier to the private <span class="insert">directive:</span> in</td><td class="lineno" valign="top"></td></tr>
463      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   define this new directive to mean that,</span> in addition to <span class="delete">any</span> private</td><td> </td><td class="rblock">   addition to private <span class="insert">caches,</span> any cache that is shared only by members</td><td class="lineno" valign="top"></td></tr>
464      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">cache,</span> any cache that is shared only by members of the <span class="delete">community</span></td><td> </td><td class="rblock">   of the named <span class="insert">community</span> is allowed to cache the response.  An origin</td><td class="lineno" valign="top"></td></tr>
465      <tr><td class="lineno" valign="top"></td><td class="lblock">   named <span class="delete">within its value</span> is allowed to cache the response.  An origin</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
466      <tr><td class="lineno" valign="top"></td><td class="left">   server wishing to allow the UCI community to use an otherwise private</td><td> </td><td class="right">   server wishing to allow the UCI community to use an otherwise private</td><td class="lineno" valign="top"></td></tr>
467      <tr><td class="lineno" valign="top"></td><td class="left">   response in their shared cache(s) could do so by including</td><td> </td><td class="right">   response in their shared cache(s) could do so by including</td><td class="lineno" valign="top"></td></tr>
468      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
469      <tr><td class="lineno" valign="top"></td><td class="left">     Cache-Control: private, community="UCI"</td><td> </td><td class="right">     Cache-Control: private, community="UCI"</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><a name="diff0029" /></td></tr>
472      <tr><td class="lineno" valign="top"></td><td class="lblock">   A cache <span class="delete">seeing this header field will act correctly even if the</span> cache</td><td> </td><td class="rblock">   A cache <span class="insert">that recognizes such a community cache-extension could</span></td><td class="lineno" valign="top"></td></tr>
473      <tr><td class="lineno" valign="top"></td><td class="lblock">   does not <span class="delete">understand</span> the community <span class="delete">cache-extension, since it will also</span></td><td> </td><td class="rblock"><span class="insert">   broaden its behavior in accordance with that extension.  A</span> cache <span class="insert">that</span></td><td class="lineno" valign="top"></td></tr>
474      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   see and understand the private directive and thus default to the safe</span></td><td> </td><td class="rblock">   does not <span class="insert">recognize</span> the community <span class="insert">cache-extension would</span> ignore it <span class="insert">and</span></td><td class="lineno" valign="top"></td></tr>
475      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   behavior.</span></td><td> </td><td class="rblock"><span class="insert">   adhere</span> to the <span class="insert">private directive.</span></td><td class="lineno" valign="top"></td></tr>
476      <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>
477      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   A cache MUST</span> ignore <span class="delete">unrecognized cache directives;</span> it <span class="delete">is assumed that</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
478      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   any cache directive likely</span> to <span class="delete">be unrecognized by an HTTP/1.1 cache</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
479      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   will be combined with standard directives (or the response's default</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
480      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   cacheability) such that</span> the <span class="delete">cache behavior will remain minimally</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
481      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   correct even if the cache does not understand the extension(s).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
482      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
483      <tr><td class="lineno" valign="top"></td><td class="left">5.3.  Expires</td><td> </td><td class="right">5.3.  Expires</td><td class="lineno" valign="top"></td></tr>
484      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
485      <tr><td class="lineno" valign="top"></td><td class="left">   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>
486      <tr><td class="lineno" valign="top"></td><td class="left">   response is considered stale.  See Section 4.2 for further discussion</td><td> </td><td class="right">   response is considered stale.  See Section 4.2 for further discussion</td><td class="lineno" valign="top"></td></tr>
487      <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>
488      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
489      <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>
490      <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>
491      <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>
492      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
493      <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 30, line 40</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 30, line 29</em></th><td></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">   If a sender generates one or more 1xx warn-codes in a message to be</td><td> </td><td class="right">   If a sender generates one or more 1xx warn-codes in a message to be</td><td class="lineno" valign="top"></td></tr>
496      <tr><td class="lineno" valign="top"></td><td class="left">   sent to a recipient known to implement only HTTP/1.0, the sender MUST</td><td> </td><td class="right">   sent to a recipient known to implement only HTTP/1.0, the sender MUST</td><td class="lineno" valign="top"></td></tr>
497      <tr><td class="lineno" valign="top"></td><td class="left">   include in each corresponding warning-value a warn-date that matches</td><td> </td><td class="right">   include in each corresponding warning-value a warn-date that matches</td><td class="lineno" valign="top"></td></tr>
498      <tr><td class="lineno" valign="top"></td><td class="left">   the Date header field in the message.  For example:</td><td> </td><td class="right">   the Date header field in the message.  For example:</td><td class="lineno" valign="top"></td></tr>
499      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
500      <tr><td class="lineno" valign="top"></td><td class="left">     HTTP/1.1 200 OK</td><td> </td><td class="right">     HTTP/1.1 200 OK</td><td class="lineno" valign="top"></td></tr>
501      <tr><td class="lineno" valign="top"></td><td class="left">     Date: Sat, 25 Aug 2012 23:34:45 GMT</td><td> </td><td class="right">     Date: Sat, 25 Aug 2012 23:34:45 GMT</td><td class="lineno" valign="top"></td></tr>
502      <tr><td class="lineno" valign="top"></td><td class="left">     Warning: 112 - "network down" "Sat, 25 Aug 2012 23:34:45 GMT"</td><td> </td><td class="right">     Warning: 112 - "network down" "Sat, 25 Aug 2012 23:34:45 GMT"</td><td class="lineno" valign="top"></td></tr>
503      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
504      <tr><td><a name="diff0030" /></td></tr>
505      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Warnings have accompanying warn-text that describes the error, e.g.,</span></td><td class="lineno" valign="top"></td></tr>
506      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   for logging.  It is advisory only, and its content does not affect</span></td><td class="lineno" valign="top"></td></tr>
507      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   interpretation of the warn-code.</span></td><td class="lineno" valign="top"></td></tr>
508      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
509      <tr><td class="lineno" valign="top"></td><td class="left">   If a recipient that uses, evaluates, or displays Warning header</td><td> </td><td class="right">   If a recipient that uses, evaluates, or displays Warning header</td><td class="lineno" valign="top"></td></tr>
510      <tr><td class="lineno" valign="top"></td><td class="left">   fields receives a warn-date that is different from the Date value in</td><td> </td><td class="right">   fields receives a warn-date that is different from the Date value in</td><td class="lineno" valign="top"></td></tr>
511      <tr><td class="lineno" valign="top"></td><td class="left">   the same message, the recipient MUST exclude the warning-value</td><td> </td><td class="right">   the same message, the recipient MUST exclude the warning-value</td><td class="lineno" valign="top"></td></tr>
512      <tr><td class="lineno" valign="top"></td><td class="left">   containing that warn-date before storing, forwarding, or using the</td><td> </td><td class="right">   containing that warn-date before storing, forwarding, or using the</td><td class="lineno" valign="top"></td></tr>
513      <tr><td class="lineno" valign="top"></td><td class="left">   message.  This allows recipients to exclude warning-values that were</td><td> </td><td class="right">   message.  This allows recipients to exclude warning-values that were</td><td class="lineno" valign="top"></td></tr>
514      <tr><td class="lineno" valign="top"></td><td class="left">   improperly retained after a cache validation.  If all of the warning-</td><td> </td><td class="right">   improperly retained after a cache validation.  If all of the warning-</td><td class="lineno" valign="top"></td></tr>
515      <tr><td class="lineno" valign="top"></td><td class="left">   values are excluded, the recipient MUST exclude the Warning header</td><td> </td><td class="right">   values are excluded, the recipient MUST exclude the Warning header</td><td class="lineno" valign="top"></td></tr>
516      <tr><td class="lineno" valign="top"></td><td class="left">   field as well.</td><td> </td><td class="right">   field as well.</td><td class="lineno" valign="top"></td></tr>
517      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
518      <tr><td class="lineno" valign="top"></td><td class="left">   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>
519      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
520      <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 34, line 43</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 34, line 43</em></th><td></td></tr>
521      <tr><td class="lineno" valign="top"></td><td class="left">   | Pragma            | http     | standard | Section 5.4 |</td><td> </td><td class="right">   | Pragma            | http     | standard | Section 5.4 |</td><td class="lineno" valign="top"></td></tr>
522      <tr><td class="lineno" valign="top"></td><td class="left">   | Warning           | http     | standard | Section 5.5 |</td><td> </td><td class="right">   | Warning           | http     | standard | Section 5.5 |</td><td class="lineno" valign="top"></td></tr>
523      <tr><td class="lineno" valign="top"></td><td class="left">   +-------------------+----------+----------+-------------+</td><td> </td><td class="right">   +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr>
524      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
525      <tr><td class="lineno" valign="top"></td><td class="left">   The 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>
526      <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>
527      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
528      <tr><td class="lineno" valign="top"></td><td class="left">8.  Security Considerations</td><td> </td><td class="right">8.  Security Considerations</td><td class="lineno" valign="top"></td></tr>
529      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
530      <tr><td class="lineno" valign="top"></td><td class="left">   This section is meant to inform developers, information providers,</td><td> </td><td class="right">   This section is meant to inform developers, information providers,</td><td class="lineno" valign="top"></td></tr>
531      <tr><td><a name="diff0031" /></td></tr>
532      <tr><td class="lineno" valign="top"></td><td class="lblock">   and users of known security concerns specific to <span class="delete">HTTP/1.1</span> caching.</td><td> </td><td class="rblock">   and users of known security concerns specific to <span class="insert">HTTP</span> caching.  More</td><td class="lineno" valign="top"></td></tr>
533      <tr><td class="lineno" valign="top"></td><td class="lblock">   More general security considerations are addressed in HTTP messaging</td><td> </td><td class="rblock">   general security considerations are addressed in HTTP messaging</td><td class="lineno" valign="top"></td></tr>
534      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1] and semantics [Part2].</td><td> </td><td class="right">   [Part1] and semantics [Part2].</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">   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>
537      <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>
538      <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>
539      <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>
540      <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>
541      <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>
542      <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>
543      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
544      <tr><td><a name="diff0032" /></td></tr>
545      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">Furthermore, the very use of a cache can bring about privacy</span></td><td> </td><td class="rblock">   <span class="insert">In particular, various attacks might be amplified by being stored in</span></td><td class="lineno" valign="top"></td></tr>
546      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   concerns.  For example, if two users share</span> a <span class="delete">cache, and</span> the <span class="delete">first one</span></td><td> </td><td class="rblock">   a <span class="insert">shared cache; such "cache poisoning" attacks use</span> the <span class="insert">cache</span> to</td><td class="lineno" valign="top"></td></tr>
547      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   browses</span> to a <span class="delete">site, the second may be able</span> to <span class="delete">detect that the</span> other</td><td> </td><td class="rblock">   <span class="insert">distribute</span> a <span class="insert">malicious payload</span> to <span class="insert">many clients, and are especially</span></td><td class="lineno" valign="top"></td></tr>
548      <tr><td class="lineno" valign="top"></td><td class="lblock">   <span class="delete">has been to that site, because the resources from it load more</span></td><td> </td><td class="rblock"><span class="insert">   effective when an attacker can use implementation flaws, elevated</span></td><td class="lineno" valign="top"></td></tr>
549      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   quickly, thanks to the cache.</span></td><td> </td><td class="rblock"><span class="insert">   privileges, or</span> other <span class="insert">techniques</span> to insert <span class="insert">such a response</span> into a</td><td class="lineno" valign="top"></td></tr>
550      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock">   <span class="insert">cache.  One common attack vector for</span> cache <span class="insert">poisoning is</span> to <span class="insert">exploit</span></td><td class="lineno" valign="top"></td></tr>
551      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   Implementation flaws might allow attackers</span> to insert <span class="delete">content</span> into a</td><td> </td><td class="rblock"><span class="insert">   differences in message parsing on proxies and in user agents; see</span></td><td class="lineno" valign="top"></td></tr>
552      <tr><td class="lineno" valign="top"></td><td class="lblock">   cache <span class="delete">("cache poisoning"), leading</span> to <span class="delete">compromise of clients that</span></td><td> </td><td class="rblock"><span class="insert">   Section 3.3.3</span> of <span class="insert">[Part1] for the relevant requirements.</span></td><td class="lineno" valign="top"></td></tr>
553      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   trust that content.  Because</span> of <span class="delete">their nature, these attacks are</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
554      <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">   difficult to mitigate.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
555      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
556      <tr><td class="lineno" valign="top"></td><td class="left">   Likewise, implementation flaws (as well as misunderstanding of cache</td><td> </td><td class="right">   Likewise, implementation flaws (as well as misunderstanding of cache</td><td class="lineno" valign="top"></td></tr>
557      <tr><td class="lineno" valign="top"></td><td class="left">   operation) might lead to caching of sensitive information (e.g.,</td><td> </td><td class="right">   operation) might lead to caching of sensitive information (e.g.,</td><td class="lineno" valign="top"></td></tr>
558      <tr><td class="lineno" valign="top"></td><td class="left">   authentication credentials) that is thought to be private, exposing</td><td> </td><td class="right">   authentication credentials) that is thought to be private, exposing</td><td class="lineno" valign="top"></td></tr>
559      <tr><td class="lineno" valign="top"></td><td class="left">   it to unauthorized parties.</td><td> </td><td class="right">   it to unauthorized parties.</td><td class="lineno" valign="top"></td></tr>
560      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
561      <tr><td><a name="diff0033" /></td></tr>
562      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">   <span class="insert">Furthermore, the very use of a cache can bring about privacy</span></td><td class="lineno" valign="top"></td></tr>
563      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   concerns.  For example, if two users share a cache, and the first one</span></td><td class="lineno" valign="top"></td></tr>
564      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   browses to a site, the second may be able to detect that the other</span></td><td class="lineno" valign="top"></td></tr>
565      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   has been to that site, because the resources from it load more</span></td><td class="lineno" valign="top"></td></tr>
566      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">   quickly, thanks to the cache.</span></td><td class="lineno" valign="top"></td></tr>
567      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
568      <tr><td class="lineno" valign="top"></td><td class="left">   Note that the Set-Cookie response header field [RFC6265] does not</td><td> </td><td class="right">   Note that the Set-Cookie response header field [RFC6265] does not</td><td class="lineno" valign="top"></td></tr>
569      <tr><td class="lineno" valign="top"></td><td class="left">   inhibit caching; a cacheable response with a Set-Cookie header field</td><td> </td><td class="right">   inhibit caching; a cacheable response with a Set-Cookie header field</td><td class="lineno" valign="top"></td></tr>
570      <tr><td class="lineno" valign="top"></td><td class="left">   can be (and often is) used to satisfy subsequent requests to caches.</td><td> </td><td class="right">   can be (and often is) used to satisfy subsequent requests to caches.</td><td class="lineno" valign="top"></td></tr>
571      <tr><td class="lineno" valign="top"></td><td class="left">   Servers who wish to control caching of these responses are encouraged</td><td> </td><td class="right">   Servers who wish to control caching of these responses are encouraged</td><td class="lineno" valign="top"></td></tr>
572      <tr><td class="lineno" valign="top"></td><td class="left">   to emit appropriate Cache-Control response header fields.</td><td> </td><td class="right">   to emit appropriate Cache-Control response header fields.</td><td class="lineno" valign="top"></td></tr>
573      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
574      <tr><td class="lineno" valign="top"></td><td class="left">9.  Acknowledgments</td><td> </td><td class="right">9.  Acknowledgments</td><td class="lineno" valign="top"></td></tr>
575      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
576      <tr><td class="lineno" valign="top"></td><td class="left">   See Section 10 of [Part1].</td><td> </td><td class="right">   See Section 10 of [Part1].</td><td class="lineno" valign="top"></td></tr>
577      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
578      <tr><td class="lineno" valign="top"></td><td class="left">10.  References</td><td> </td><td class="right">10.  References</td><td class="lineno" valign="top"></td></tr>
579      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
580      <tr><td class="lineno" valign="top"></td><td class="left">10.1.  Normative References</td><td> </td><td class="right">10.1.  Normative References</td><td class="lineno" valign="top"></td></tr>
581      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
582      <tr><td class="lineno" valign="top"></td><td class="left">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part1]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
583      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Message Syntax and Routing",</td><td class="lineno" valign="top"></td></tr>
584      <tr><td><a name="diff0034" /></td></tr>
585      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p1-messaging-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p1-messaging-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
586      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
587      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
588      <tr><td class="lineno" valign="top"></td><td class="left">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part2]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
589      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Semantics and Content",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Semantics and Content",</td><td class="lineno" valign="top"></td></tr>
590      <tr><td><a name="diff0035" /></td></tr>
591      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p2-semantics-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p2-semantics-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
592      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
593      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
594      <tr><td class="lineno" valign="top"></td><td class="left">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part4]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
595      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Conditional Requests",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Conditional Requests",</td><td class="lineno" valign="top"></td></tr>
596      <tr><td><a name="diff0036" /></td></tr>
597      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p4-conditional-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p4-conditional-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
598      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
599      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
600      <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>
601      <tr><td class="lineno" valign="top"></td><td class="left">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td> </td><td class="right">              "Hypertext Transfer Protocol (HTTP/1.1): Range Requests",</td><td class="lineno" valign="top"></td></tr>
602      <tr><td><a name="diff0037" /></td></tr>
603      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p5-range-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p5-range-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
604      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
605      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
606      <tr><td class="lineno" valign="top"></td><td class="left">   [Part7]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td> </td><td class="right">   [Part7]    Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer</td><td class="lineno" valign="top"></td></tr>
607      <tr><td class="lineno" valign="top"></td><td class="left">              Protocol (HTTP/1.1): Authentication",</td><td> </td><td class="right">              Protocol (HTTP/1.1): Authentication",</td><td class="lineno" valign="top"></td></tr>
608      <tr><td><a name="diff0038" /></td></tr>
609      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">draft-ietf-httpbis-p7-auth-25</span> (work in progress),</td><td> </td><td class="rblock">              <span class="insert">draft-ietf-httpbis-p7-auth-26</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
610      <tr><td class="lineno" valign="top"></td><td class="lblock">              <span class="delete">November 2013.</span></td><td> </td><td class="rblock">              <span class="insert">February 2014.</span></td><td class="lineno" valign="top"></td></tr>
611      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
612      <tr><td class="lineno" valign="top"></td><td class="left">   [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>
613      <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>
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">   [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>
616      <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>
617      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
618      <tr><td class="lineno" valign="top"></td><td class="left">10.2.  Informative References</td><td> </td><td class="right">10.2.  Informative References</td><td class="lineno" valign="top"></td></tr>
619      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
620      <tr><td class="lineno" valign="top"></td><td class="left">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td> </td><td class="right">   [BCP90]    Klyne, G., Nottingham, M., and J. Mogul, "Registration</td><td class="lineno" valign="top"></td></tr>
621      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
622      <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 37, line 30</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 37, line 34</em></th><td></td></tr>
623      <tr><td class="lineno" valign="top"></td><td class="left">   Requirements regarding denial of service attack avoidance when</td><td> </td><td class="right">   Requirements regarding denial of service attack avoidance when</td><td class="lineno" valign="top"></td></tr>
624      <tr><td class="lineno" valign="top"></td><td class="left">   performing invalidation have been clarified.  (Section 4.4)</td><td> </td><td class="right">   performing invalidation have been clarified.  (Section 4.4)</td><td class="lineno" valign="top"></td></tr>
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">   Cache invalidation only occurs when a successful response is</td><td> </td><td class="right">   Cache invalidation only occurs when a successful response is</td><td class="lineno" valign="top"></td></tr>
627      <tr><td class="lineno" valign="top"></td><td class="left">   received.  (Section 4.4)</td><td> </td><td class="right">   received.  (Section 4.4)</td><td class="lineno" valign="top"></td></tr>
628      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
629      <tr><td class="lineno" valign="top"></td><td class="left">   Cache directives are explicitly defined to be case-insensitive.</td><td> </td><td class="right">   Cache directives are explicitly defined to be case-insensitive.</td><td class="lineno" valign="top"></td></tr>
630      <tr><td class="lineno" valign="top"></td><td class="left">   Handling of multiple instances of cache directives when only one is</td><td> </td><td class="right">   Handling of multiple instances of cache directives when only one is</td><td class="lineno" valign="top"></td></tr>
631      <tr><td class="lineno" valign="top"></td><td class="left">   expected is now defined.  (Section 5.2)</td><td> </td><td class="right">   expected is now defined.  (Section 5.2)</td><td class="lineno" valign="top"></td></tr>
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><a name="diff0039" /></td></tr>
634      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "no-store" <span class="delete">cache</span> request directive doesn't apply to responses;</td><td> </td><td class="rblock">   The "no-store" request directive doesn't apply to responses; i.e., a</td><td class="lineno" valign="top"></td></tr>
635      <tr><td class="lineno" valign="top"></td><td class="lblock">   i.e., a cache can satisfy a request with no-store on it, and does not</td><td> </td><td class="rblock">   cache can satisfy a request with no-store on it, and does not</td><td class="lineno" valign="top"></td></tr>
636      <tr><td class="lineno" valign="top"></td><td class="left">   invalidate it.  (Section 5.2.1.5)</td><td> </td><td class="right">   invalidate it.  (Section 5.2.1.5)</td><td class="lineno" valign="top"></td></tr>
637      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
638      <tr><td class="lineno" valign="top"></td><td class="left">   The qualified forms of the private and no-cache cache directives are</td><td> </td><td class="right">   The qualified forms of the private and no-cache cache directives are</td><td class="lineno" valign="top"></td></tr>
639      <tr><td class="lineno" valign="top"></td><td class="left">   noted to not be widely implemented; e.g., "private=foo" is</td><td> </td><td class="right">   noted to not be widely implemented; e.g., "private=foo" is</td><td class="lineno" valign="top"></td></tr>
640      <tr><td class="lineno" valign="top"></td><td class="left">   interpreted by many caches as simply "private".  Additionally, the</td><td> </td><td class="right">   interpreted by many caches as simply "private".  Additionally, the</td><td class="lineno" valign="top"></td></tr>
641      <tr><td class="lineno" valign="top"></td><td class="left">   meaning of the qualified form of no-cache has been clarified.</td><td> </td><td class="right">   meaning of the qualified form of no-cache has been clarified.</td><td class="lineno" valign="top"></td></tr>
642      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.2.2)</td><td> </td><td class="right">   (Section 5.2.2)</td><td class="lineno" valign="top"></td></tr>
643      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
644      <tr><td><a name="diff0040" /></td></tr>
645      <tr><td class="lineno" valign="top"></td><td class="lblock">   The "no-cache" response <span class="delete">cache </span>directive's meaning has been clarified.</td><td> </td><td class="rblock">   The "no-cache" response directive's meaning has been clarified.</td><td class="lineno" valign="top"></td></tr>
646      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.2.2.2)</td><td> </td><td class="right">   (Section 5.2.2.2)</td><td class="lineno" valign="top"></td></tr>
647      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
648      <tr><td class="lineno" valign="top"></td><td class="left">   The one-year limit on Expires header field values has been removed;</td><td> </td><td class="right">   The one-year limit on Expires header field values has been removed;</td><td class="lineno" valign="top"></td></tr>
649      <tr><td class="lineno" valign="top"></td><td class="left">   instead, the reasoning for using a sensible value is given.</td><td> </td><td class="right">   instead, the reasoning for using a sensible value is given.</td><td class="lineno" valign="top"></td></tr>
650      <tr><td class="lineno" valign="top"></td><td class="left">   (Section 5.3)</td><td> </td><td class="right">   (Section 5.3)</td><td class="lineno" valign="top"></td></tr>
651      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
652      <tr><td class="lineno" valign="top"></td><td class="left">   The Pragma header field is now only defined for backwards</td><td> </td><td class="right">   The Pragma header field is now only defined for backwards</td><td class="lineno" valign="top"></td></tr>
653      <tr><td class="lineno" valign="top"></td><td class="left">   compatibility; future pragmas are deprecated.  (Section 5.4)</td><td> </td><td class="right">   compatibility; future pragmas are deprecated.  (Section 5.4)</td><td class="lineno" valign="top"></td></tr>
654      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
655      <tr><td class="lineno" valign="top"></td><td class="left">   Some requirements regarding production and processing of the Warning</td><td> </td><td class="right">   Some requirements regarding production and processing of the Warning</td><td class="lineno" valign="top"></td></tr>
656      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
657      <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 40, line 18</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 40, line 18</em></th><td></td></tr>
658      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
659      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/499&gt;: "RFC 1305 ref</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/499&gt;: "RFC 1305 ref</td><td class="lineno" valign="top"></td></tr>
660      <tr><td class="lineno" valign="top"></td><td class="left">      needs to be updated to 5905"</td><td> </td><td class="right">      needs to be updated to 5905"</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">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/500&gt;: "dangling</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/500&gt;: "dangling</td><td class="lineno" valign="top"></td></tr>
663      <tr><td class="lineno" valign="top"></td><td class="left">      reference to cacheable status codes"</td><td> </td><td class="right">      reference to cacheable status codes"</td><td class="lineno" valign="top"></td></tr>
664      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
665      <tr><td class="lineno" valign="top"></td><td class="left">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/512&gt;: "APPSDIR</td><td> </td><td class="right">   o  &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/512&gt;: "APPSDIR</td><td class="lineno" valign="top"></td></tr>
666      <tr><td class="lineno" valign="top"></td><td class="left">      review of draft-ietf-httpbis-p6-cache-24"</td><td> </td><td class="right">      review of draft-ietf-httpbis-p6-cache-24"</td><td class="lineno" valign="top"></td></tr>
667      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
668      <tr><td><a name="diff0041" /></td></tr>
669      <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-25</span></td><td class="lineno" valign="top"></td></tr>
670      <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>
671      <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>
672      <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>
673      <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/535&gt;: "IESG ballot</span></td><td class="lineno" valign="top"></td></tr>
674      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      on draft-ietf-httpbis-p6-cache-25"</span></td><td class="lineno" valign="top"></td></tr>
675      <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>
676      <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/538&gt;: "add</span></td><td class="lineno" valign="top"></td></tr>
677      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      'stateless' to Abstract"</span></td><td class="lineno" valign="top"></td></tr>
678      <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>
679      <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/542&gt;: "improve</span></td><td class="lineno" valign="top"></td></tr>
680      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      introduction of list rule"</span></td><td class="lineno" valign="top"></td></tr>
681      <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>
682      <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/549&gt;: "augment</span></td><td class="lineno" valign="top"></td></tr>
683      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">      security considerations with pointers to current research"</span></td><td class="lineno" valign="top"></td></tr>
684      <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock">                                                                         </td><td class="lineno" valign="top"></td></tr>
685      <tr><td class="lineno" valign="top"></td><td class="left">Index</td><td> </td><td class="right">Index</td><td class="lineno" valign="top"></td></tr>
686      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
687      <tr><td class="lineno" valign="top"></td><td class="left">   1</td><td> </td><td class="right">   1</td><td class="lineno" valign="top"></td></tr>
688      <tr><td><a name="diff0042" /></td></tr>
689      <tr><td class="lineno" valign="top"></td><td class="lblock">      110 (warn-code)  3<span class="delete">1</span></td><td> </td><td class="rblock">      110 (warn-code)  3<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
690      <tr><td class="lineno" valign="top"></td><td class="left">      111 (warn-code)  31</td><td> </td><td class="right">      111 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
691      <tr><td class="lineno" valign="top"></td><td class="left">      112 (warn-code)  31</td><td> </td><td class="right">      112 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
692      <tr><td class="lineno" valign="top"></td><td class="left">      113 (warn-code)  31</td><td> </td><td class="right">      113 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
693      <tr><td class="lineno" valign="top"></td><td class="left">      199 (warn-code)  31</td><td> </td><td class="right">      199 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
694      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
695      <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>
696      <tr><td class="lineno" valign="top"></td><td class="left">      214 (warn-code)  31</td><td> </td><td class="right">      214 (warn-code)  31</td><td class="lineno" valign="top"></td></tr>
697      <tr><td class="lineno" valign="top"></td><td class="left">      299 (warn-code)  31</td><td> </td><td class="right">      299 (warn-code)  31</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">   A</td><td> </td><td class="right">   A</td><td class="lineno" valign="top"></td></tr>
700      <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
701      <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 41, line 48</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 42, line 16</em></th><td></td></tr>
702      <tr><td class="lineno" valign="top"></td><td class="left">      only-if-cached (cache directive)  23</td><td> </td><td class="right">      only-if-cached (cache directive)  23</td><td class="lineno" valign="top"></td></tr>
703      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
704      <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>
705      <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>
706      <tr><td class="lineno" valign="top"></td><td class="left">      private (cache directive)  25</td><td> </td><td class="right">      private (cache directive)  25</td><td class="lineno" valign="top"></td></tr>
707      <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>
708      <tr><td class="lineno" valign="top"></td><td class="left">      proxy-revalidate (cache directive)  26</td><td> </td><td class="right">      proxy-revalidate (cache directive)  26</td><td class="lineno" valign="top"></td></tr>
709      <tr><td class="lineno" valign="top"></td><td class="left">      public (cache directive)  25</td><td> </td><td class="right">      public (cache directive)  25</td><td class="lineno" valign="top"></td></tr>
710      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
711      <tr><td class="lineno" valign="top"></td><td class="left">   R</td><td> </td><td class="right">   R</td><td class="lineno" valign="top"></td></tr>
712      <tr><td><a name="diff0043" /></td></tr>
713      <tr><td class="lineno" valign="top"></td><td class="lblock">      Response is Stale (warn-text)  3<span class="delete">1</span></td><td> </td><td class="rblock">      Response is Stale (warn-text)  3<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr>
714      <tr><td class="lineno" valign="top"></td><td class="left">      Revalidation Failed (warn-text)  31</td><td> </td><td class="right">      Revalidation Failed (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
715      <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr>
716      <tr><td class="lineno" valign="top"></td><td class="left">   S</td><td> </td><td class="right">   S</td><td class="lineno" valign="top"></td></tr>
717      <tr><td class="lineno" valign="top"></td><td class="left">      s-maxage (cache directive)  26</td><td> </td><td class="right">      s-maxage (cache directive)  26</td><td class="lineno" valign="top"></td></tr>
718      <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>
719      <tr><td class="lineno" valign="top"></td><td class="left">      stale  10</td><td> </td><td class="right">      stale  10</td><td class="lineno" valign="top"></td></tr>
720      <tr><td class="lineno" valign="top"></td><td class="left">      strong validator  18</td><td> </td><td class="right">      strong validator  18</td><td class="lineno" valign="top"></td></tr>
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">   T</td><td> </td><td class="right">   T</td><td class="lineno" valign="top"></td></tr>
723      <tr><td class="lineno" valign="top"></td><td class="left">      Transformation Applied (warn-text)  31</td><td> </td><td class="right">      Transformation Applied (warn-text)  31</td><td class="lineno" valign="top"></td></tr>
724
725     <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
726     <tr bgcolor="gray"><th colspan="5" align="center"><a name="end">&nbsp;End of changes. 43 change blocks.&nbsp;</a></th></tr>
727     <tr class="stats"><td></td><th><i>97 lines changed or deleted</i></th><th><i> </i></th><th><i>112 lines changed or added</i></th><td></td></tr>
728     <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>
729   </table>
730   </body>
731   </html>
Note: See TracBrowser for help on using the repository browser.