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-10.txt - draft-ietf-httpbis-p6-cache-11.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> draft-ietf-httpbis-p6-cache-10.txt </th><th> </th><th> draft-ietf-httpbis-p6-cache-11.txt </th><th></th></tr> |
---|
39 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
40 | <tr><td class="lineno" valign="top"></td><td class="left">HTTPbis Working Group R. Fielding, Ed.</td><td> </td><td class="right">HTTPbis Working Group R. Fielding, Ed.</td><td class="lineno" valign="top"></td></tr> |
---|
41 | <tr><td class="lineno" valign="top"></td><td class="left">Internet-Draft Day Software</td><td> </td><td class="right">Internet-Draft Day Software</td><td class="lineno" valign="top"></td></tr> |
---|
42 | <tr><td class="lineno" valign="top"></td><td class="left">Obsoletes: 2616 (if approved) J. Gettys</td><td> </td><td class="right">Obsoletes: 2616 (if approved) J. Gettys</td><td class="lineno" valign="top"></td></tr> |
---|
43 | <tr><td class="lineno" valign="top"></td><td class="left">Intended status: Standards Track Alcatel-Lucent</td><td> </td><td class="right">Intended status: Standards Track Alcatel-Lucent</td><td class="lineno" valign="top"></td></tr> |
---|
44 | <tr><td><a name="diff0001" /></td></tr> |
---|
45 | <tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">January 13</span>, 2011 J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">February 5</span>, 2011 J. Mogul</td><td class="lineno" valign="top"></td></tr> |
---|
46 | <tr><td class="lineno" valign="top"></td><td class="left"> HP</td><td> </td><td class="right"> HP</td><td class="lineno" valign="top"></td></tr> |
---|
47 | <tr><td class="lineno" valign="top"></td><td class="left"> H. Frystyk</td><td> </td><td class="right"> H. Frystyk</td><td class="lineno" valign="top"></td></tr> |
---|
48 | <tr><td class="lineno" valign="top"></td><td class="left"> Microsoft</td><td> </td><td class="right"> Microsoft</td><td class="lineno" valign="top"></td></tr> |
---|
49 | <tr><td class="lineno" valign="top"></td><td class="left"> L. Masinter</td><td> </td><td class="right"> L. Masinter</td><td class="lineno" valign="top"></td></tr> |
---|
50 | <tr><td class="lineno" valign="top"></td><td class="left"> Adobe Systems</td><td> </td><td class="right"> Adobe Systems</td><td class="lineno" valign="top"></td></tr> |
---|
51 | <tr><td class="lineno" valign="top"></td><td class="left"> P. Leach</td><td> </td><td class="right"> P. Leach</td><td class="lineno" valign="top"></td></tr> |
---|
52 | <tr><td class="lineno" valign="top"></td><td class="left"> Microsoft</td><td> </td><td class="right"> Microsoft</td><td class="lineno" valign="top"></td></tr> |
---|
53 | <tr><td class="lineno" valign="top"></td><td class="left"> T. Berners-Lee</td><td> </td><td class="right"> T. Berners-Lee</td><td class="lineno" valign="top"></td></tr> |
---|
54 | <tr><td class="lineno" valign="top"></td><td class="left"> W3C/MIT</td><td> </td><td class="right"> W3C/MIT</td><td class="lineno" valign="top"></td></tr> |
---|
55 | <tr><td class="lineno" valign="top"></td><td class="left"> Y. Lafon, Ed.</td><td> </td><td class="right"> Y. Lafon, Ed.</td><td class="lineno" valign="top"></td></tr> |
---|
56 | <tr><td class="lineno" valign="top"></td><td class="left"> W3C</td><td> </td><td class="right"> W3C</td><td class="lineno" valign="top"></td></tr> |
---|
57 | <tr><td class="lineno" valign="top"></td><td class="left"> M. Nottingham, Ed.</td><td> </td><td class="right"> M. Nottingham, Ed.</td><td class="lineno" valign="top"></td></tr> |
---|
58 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
59 | <tr><td class="lineno" valign="top"></td><td class="left"> J. Reschke, Ed.</td><td> </td><td class="right"> J. Reschke, Ed.</td><td class="lineno" valign="top"></td></tr> |
---|
60 | <tr><td class="lineno" valign="top"></td><td class="left"> greenbytes</td><td> </td><td class="right"> greenbytes</td><td class="lineno" valign="top"></td></tr> |
---|
61 | <tr><td><a name="diff0002" /></td></tr> |
---|
62 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete"> July 12</span>, 2010</td><td> </td><td class="rblock"> <span class="insert">August 4</span>, 2010</td><td class="lineno" valign="top"></td></tr> |
---|
63 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
64 | <tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.1, part 6: Caching</td><td> </td><td class="right"> HTTP/1.1, part 6: Caching</td><td class="lineno" valign="top"></td></tr> |
---|
65 | <tr><td><a name="diff0003" /></td></tr> |
---|
66 | <tr><td class="lineno" valign="top"></td><td class="lblock"> draft-ietf-httpbis-p6-cache-1<span class="delete">0</span></td><td> </td><td class="rblock"> draft-ietf-httpbis-p6-cache-1<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr> |
---|
67 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
68 | <tr><td class="lineno" valign="top"></td><td class="left">Abstract</td><td> </td><td class="right">Abstract</td><td class="lineno" valign="top"></td></tr> |
---|
69 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
70 | <tr><td class="lineno" valign="top"></td><td class="left"> The Hypertext Transfer Protocol (HTTP) is an application-level</td><td> </td><td class="right"> The Hypertext Transfer Protocol (HTTP) is an application-level</td><td class="lineno" valign="top"></td></tr> |
---|
71 | <tr><td class="lineno" valign="top"></td><td class="left"> protocol for distributed, collaborative, hypermedia information</td><td> </td><td class="right"> protocol for distributed, collaborative, hypermedia information</td><td class="lineno" valign="top"></td></tr> |
---|
72 | <tr><td class="lineno" valign="top"></td><td class="left"> systems. This document is Part 6 of the seven-part specification</td><td> </td><td class="right"> systems. This document is Part 6 of the seven-part specification</td><td class="lineno" valign="top"></td></tr> |
---|
73 | <tr><td class="lineno" valign="top"></td><td class="left"> that defines the protocol referred to as "HTTP/1.1" and, taken</td><td> </td><td class="right"> that defines the protocol referred to as "HTTP/1.1" and, taken</td><td class="lineno" valign="top"></td></tr> |
---|
74 | <tr><td class="lineno" valign="top"></td><td class="left"> together, obsoletes RFC 2616. Part 6 defines requirements on HTTP</td><td> </td><td class="right"> together, obsoletes RFC 2616. Part 6 defines requirements on HTTP</td><td class="lineno" valign="top"></td></tr> |
---|
75 | <tr><td class="lineno" valign="top"></td><td class="left"> caches and the associated header fields that control cache behavior</td><td> </td><td class="right"> caches and the associated header fields that control cache behavior</td><td class="lineno" valign="top"></td></tr> |
---|
76 | <tr><td class="lineno" valign="top"></td><td class="left"> or indicate cacheable response messages.</td><td> </td><td class="right"> or indicate cacheable response messages.</td><td class="lineno" valign="top"></td></tr> |
---|
77 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
78 | <tr><td class="lineno" valign="top"></td><td class="left">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> |
---|
79 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
80 | <tr><td class="lineno" valign="top"></td><td class="left"> Discussion of this draft should take place on the HTTPBIS working</td><td> </td><td class="right"> Discussion of this draft should take place on the HTTPBIS working</td><td class="lineno" valign="top"></td></tr> |
---|
81 | <tr><td class="lineno" valign="top"></td><td class="left"> group mailing list (ietf-http-wg@w3.org). The current issues list is</td><td> </td><td class="right"> group mailing list (ietf-http-wg@w3.org). The current issues list is</td><td class="lineno" valign="top"></td></tr> |
---|
82 | <tr><td class="lineno" valign="top"></td><td class="left"> at <http://tools.ietf.org/wg/httpbis/trac/report/3> and related</td><td> </td><td class="right"> at <http://tools.ietf.org/wg/httpbis/trac/report/3> and related</td><td class="lineno" valign="top"></td></tr> |
---|
83 | <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> |
---|
84 | <tr><td class="lineno" valign="top"></td><td class="left"> <http://tools.ietf.org/wg/httpbis/>.</td><td> </td><td class="right"> <http://tools.ietf.org/wg/httpbis/>.</td><td class="lineno" valign="top"></td></tr> |
---|
85 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
86 | <tr><td><a name="diff0004" /></td></tr> |
---|
87 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The changes in this draft are summarized in Appendix C.1<span class="delete">1</span>.</td><td> </td><td class="rblock"> The changes in this draft are summarized in Appendix C.1<span class="insert">2</span>.</td><td class="lineno" valign="top"></td></tr> |
---|
88 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
89 | <tr><td 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> |
---|
90 | <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> |
---|
91 | <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> |
---|
92 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
93 | <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> |
---|
94 | <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> |
---|
95 | <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> |
---|
96 | <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> |
---|
97 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
98 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
99 | <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> |
---|
100 | <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> |
---|
101 | <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> |
---|
102 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
103 | <tr><td><a name="diff0005" /></td></tr> |
---|
104 | <tr><td class="lineno" valign="top"></td><td class="lblock"> This Internet-Draft will expire on <span class="delete">January 13</span>, 2011.</td><td> </td><td class="rblock"> This Internet-Draft will expire on <span class="insert">February 5</span>, 2011.</td><td class="lineno" valign="top"></td></tr> |
---|
105 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
106 | <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> |
---|
107 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
108 | <tr><td class="lineno" valign="top"></td><td class="left"> Copyright (c) 2010 IETF Trust and the persons identified as the</td><td> </td><td class="right"> Copyright (c) 2010 IETF Trust and the persons identified as the</td><td class="lineno" valign="top"></td></tr> |
---|
109 | <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> |
---|
110 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
111 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
112 | <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> |
---|
113 | <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> |
---|
114 | <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> |
---|
115 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
116 | <tr bgcolor="gray" ><td></td><th><a name="part-l2" /><small>skipping to change at</small><em> page 3, line 24</em></th><th> </th><th><a name="part-r2" /><small>skipping to change at</small><em> page 3, line 24</em></th><td></td></tr> |
---|
117 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.3.2. Calculating Age . . . . . . . . . . . . . . . . . . . 12</td><td> </td><td class="right"> 2.3.2. Calculating Age . . . . . . . . . . . . . . . . . . . 12</td><td class="lineno" valign="top"></td></tr> |
---|
118 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.3.3. Serving Stale Responses . . . . . . . . . . . . . . . 13</td><td> </td><td class="right"> 2.3.3. Serving Stale Responses . . . . . . . . . . . . . . . 13</td><td class="lineno" valign="top"></td></tr> |
---|
119 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.4. Validation Model . . . . . . . . . . . . . . . . . . . . . 14</td><td> </td><td class="right"> 2.4. Validation Model . . . . . . . . . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr> |
---|
120 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.5. Request Methods that Invalidate . . . . . . . . . . . . . 14</td><td> </td><td class="right"> 2.5. Request Methods that Invalidate . . . . . . . . . . . . . 14</td><td class="lineno" valign="top"></td></tr> |
---|
121 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.6. Shared Caching of Authenticated Responses . . . . . . . . 15</td><td> </td><td class="right"> 2.6. Shared Caching of Authenticated Responses . . . . . . . . 15</td><td class="lineno" valign="top"></td></tr> |
---|
122 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.7. Caching Negotiated Responses . . . . . . . . . . . . . . . 16</td><td> </td><td class="right"> 2.7. Caching Negotiated Responses . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr> |
---|
123 | <tr><td class="lineno" valign="top"></td><td class="left"> 2.8. Combining Responses . . . . . . . . . . . . . . . . . . . 16</td><td> </td><td class="right"> 2.8. Combining Responses . . . . . . . . . . . . . . . . . . . 16</td><td class="lineno" valign="top"></td></tr> |
---|
124 | <tr><td class="lineno" valign="top"></td><td class="left"> 3. Header Field Definitions . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="right"> 3. Header Field Definitions . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr> |
---|
125 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.1. Age . . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td> </td><td class="right"> 3.1. Age . . . . . . . . . . . . . . . . . . . . . . . . . . . 17</td><td class="lineno" valign="top"></td></tr> |
---|
126 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.2. Cache-Control . . . . . . . . . . . . . . . . . . . . . . 18</td><td> </td><td class="right"> 3.2. Cache-Control . . . . . . . . . . . . . . . . . . . . . . 18</td><td class="lineno" valign="top"></td></tr> |
---|
127 | <tr><td><a name="diff0006" /></td></tr> |
---|
128 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 3.2.1. Request Cache-Control Directives . . . . . . . . . . . 1<span class="delete">9</span></td><td> </td><td class="rblock"> 3.2.1. Request Cache-Control Directives . . . . . . . . . . . 1<span class="insert">8</span></td><td class="lineno" valign="top"></td></tr> |
---|
129 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.2.2. Response Cache-Control Directives . . . . . . . . . . 20</td><td> </td><td class="right"> 3.2.2. Response Cache-Control Directives . . . . . . . . . . 20</td><td class="lineno" valign="top"></td></tr> |
---|
130 | <tr><td><a name="diff0007" /></td></tr> |
---|
131 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 3.2.3. Cache Control Extensions . . . . . . . . . . . . . . . 2<span class="delete">3</span></td><td> </td><td class="rblock"> 3.2.3. Cache Control Extensions . . . . . . . . . . . . . . . 2<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> |
---|
132 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.3. Expires . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td> </td><td class="right"> 3.3. Expires . . . . . . . . . . . . . . . . . . . . . . . . . 24</td><td class="lineno" valign="top"></td></tr> |
---|
133 | <tr><td><a name="diff0008" /></td></tr> |
---|
134 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 3.4. Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 2<span class="delete">5</span></td><td> </td><td class="rblock"> 3.4. Pragma . . . . . . . . . . . . . . . . . . . . . . . . . . 2<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr> |
---|
135 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.5. Vary . . . . . . . . . . . . . . . . . . . . . . . . . . . 25</td><td> </td><td class="right"> 3.5. Vary . . . . . . . . . . . . . . . . . . . . . . . . . . . 25</td><td class="lineno" valign="top"></td></tr> |
---|
136 | <tr><td class="lineno" valign="top"></td><td class="left"> 3.6. Warning . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td> </td><td class="right"> 3.6. Warning . . . . . . . . . . . . . . . . . . . . . . . . . 26</td><td class="lineno" valign="top"></td></tr> |
---|
137 | <tr><td><a name="diff0009" /></td></tr> |
---|
138 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 4. History Lists . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">29</span></td><td> </td><td class="rblock"> 4. History Lists . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr> |
---|
139 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="delete">29</span></td><td> </td><td class="rblock"> 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr> |
---|
140 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 5.1. Cache Directive Registry . . . . . . . . . . . . . . . . . <span class="delete">29</span></td><td> </td><td class="rblock"> 5.1. Cache Directive Registry . . . . . . . . . . . . . . . . . <span class="insert">28</span></td><td class="lineno" valign="top"></td></tr> |
---|
141 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 5.2. <span class="delete">Message</span> Header Registration . . . . . . . . . . . . . . . <span class="delete">30</span></td><td> </td><td class="rblock"> 5.2. Header <span class="insert">Field</span> Registration . . . . . . . . . . . . . . . <span class="insert">. 29</span></td><td class="lineno" valign="top"></td></tr> |
---|
142 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 6. Security Considerations . . . . . . . . . . . . . . . . . . . <span class="delete">30</span></td><td> </td><td class="rblock"> 6. Security Considerations . . . . . . . . . . . . . . . . . . . <span class="insert">29</span></td><td class="lineno" valign="top"></td></tr> |
---|
143 | <tr><td class="lineno" valign="top"></td><td class="left"> 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30</td><td> </td><td class="right"> 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30</td><td class="lineno" valign="top"></td></tr> |
---|
144 | <tr><td class="lineno" valign="top"></td><td class="left"> 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30</td><td> </td><td class="right"> 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30</td><td class="lineno" valign="top"></td></tr> |
---|
145 | <tr><td class="lineno" valign="top"></td><td class="left"> 8.1. Normative References . . . . . . . . . . . . . . . . . . . 30</td><td> </td><td class="right"> 8.1. Normative References . . . . . . . . . . . . . . . . . . . 30</td><td class="lineno" valign="top"></td></tr> |
---|
146 | <tr><td class="lineno" valign="top"></td><td class="left"> 8.2. Informative References . . . . . . . . . . . . . . . . . . 31</td><td> </td><td class="right"> 8.2. Informative References . . . . . . . . . . . . . . . . . . 31</td><td class="lineno" valign="top"></td></tr> |
---|
147 | <tr><td><a name="diff0010" /></td></tr> |
---|
148 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix A. <span class="delete">Compatibility with Previous Versions . . . . . . . . 32</span></td><td> </td><td class="rblock"> Appendix A. Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr> |
---|
149 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 32</span></td><td> </td><td class="rblock"> Appendix B. Collected ABNF . . . . . . . . . . . . . . . . . . . <span class="insert">31</span></td><td class="lineno" valign="top"></td></tr> |
---|
150 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A.2.</span> Changes from RFC 2616 . . . . . . . . . . . . . . . . <span class="delete">. . 32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
151 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Appendix B. Collected ABNF . . . . . . . . . . . . . . . . . . . <span class="delete">32</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
152 | <tr><td class="lineno" valign="top"></td><td class="left"> Appendix C. Change Log (to be removed by RFC Editor before</td><td> </td><td class="right"> Appendix C. Change Log (to be removed by RFC Editor before</td><td class="lineno" valign="top"></td></tr> |
---|
153 | <tr><td><a name="diff0011" /></td></tr> |
---|
154 | <tr><td class="lineno" valign="top"></td><td class="lblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="delete">34</span></td><td> </td><td class="rblock"> publication) . . . . . . . . . . . . . . . . . . . . <span class="insert">33</span></td><td class="lineno" valign="top"></td></tr> |
---|
155 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . <span class="delete">34</span></td><td> </td><td class="rblock"> C.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . <span class="insert">33</span></td><td class="lineno" valign="top"></td></tr> |
---|
156 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.2. Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . <span class="delete">34</span></td><td> </td><td class="rblock"> C.2. Since draft-ietf-httpbis-p6-cache-00 . . . . . . . . . . . <span class="insert">33</span></td><td class="lineno" valign="top"></td></tr> |
---|
157 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.3. Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock"> C.3. Since draft-ietf-httpbis-p6-cache-01 . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr> |
---|
158 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.4. Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock"> C.4. Since draft-ietf-httpbis-p6-cache-02 . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr> |
---|
159 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.5. Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock"> C.5. Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr> |
---|
160 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.6. Since draft-ietf-httpbis-p6-cache-04 . . . . . . . . . . . <span class="delete">35</span></td><td> </td><td class="rblock"> C.6. Since draft-ietf-httpbis-p6-cache-04 . . . . . . . . . . . <span class="insert">34</span></td><td class="lineno" valign="top"></td></tr> |
---|
161 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . <span class="delete">36</span></td><td> </td><td class="rblock"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . <span class="insert">35</span></td><td class="lineno" valign="top"></td></tr> |
---|
162 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . <span class="delete">36</span></td><td> </td><td class="rblock"> C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . <span class="insert">35</span></td><td class="lineno" valign="top"></td></tr> |
---|
163 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.9. Since draft-ietf-httpbis-p6-cache-07 . . . . . . . . . . . <span class="delete">36</span></td><td> </td><td class="rblock"> C.9. Since draft-ietf-httpbis-p6-cache-07 . . . . . . . . . . . <span class="insert">35</span></td><td class="lineno" valign="top"></td></tr> |
---|
164 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.10. Since draft-ietf-httpbis-p6-cache-08 . . . . . . . . . . . <span class="delete">37</span></td><td> </td><td class="rblock"> C.10. Since draft-ietf-httpbis-p6-cache-08 . . . . . . . . . . . <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr> |
---|
165 | <tr><td class="lineno" valign="top"></td><td class="lblock"> C.11. Since draft-ietf-httpbis-p6-cache-09 . . . . . . . . . . . 37</td><td> </td><td class="rblock"> C.11. Since draft-ietf-httpbis-p6-cache-09 . . . . . . . . . . . <span class="insert">36</span></td><td class="lineno" valign="top"></td></tr> |
---|
166 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="delete">38</span></td><td> </td><td class="rblock"><span class="insert"> C.12. Since draft-ietf-httpbis-p6-cache-10 . . . . . . . . . . .</span> 37</td><td class="lineno" valign="top"></td></tr> |
---|
167 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <span class="insert">37</span></td><td class="lineno" valign="top"></td></tr> |
---|
168 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
169 | <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> |
---|
170 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
171 | <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> |
---|
172 | <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> |
---|
173 | <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> |
---|
174 | <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> |
---|
175 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
176 | <tr><td class="lineno" valign="top"></td><td class="left">1.1. Purpose</td><td> </td><td class="right">1.1. Purpose</td><td class="lineno" valign="top"></td></tr> |
---|
177 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
178 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
179 | <tr><td class="lineno" valign="top"></td><td class="left"> that controls its message storage, retrieval, and deletion. A cache</td><td> </td><td class="right"> that controls its message storage, retrieval, and deletion. A cache</td><td class="lineno" valign="top"></td></tr> |
---|
180 | <tr><td class="lineno" valign="top"></td><td class="left"> stores cacheable responses in order to reduce the response time and</td><td> </td><td class="right"> stores cacheable responses in order to reduce the response time and</td><td class="lineno" valign="top"></td></tr> |
---|
181 | <tr><td class="lineno" valign="top"></td><td class="left"> network bandwidth consumption on future, equivalent requests. Any</td><td> </td><td class="right"> network bandwidth consumption on future, equivalent requests. Any</td><td class="lineno" valign="top"></td></tr> |
---|
182 | <tr><td><a name="diff0012" /></td></tr> |
---|
183 | <tr><td class="lineno" valign="top"></td><td class="lblock"> client or server <span class="delete">may include</span> a cache, though a cache cannot be used</td><td> </td><td class="rblock"> client or server <span class="insert">MAY employ</span> a cache, though a cache cannot be used by</td><td class="lineno" valign="top"></td></tr> |
---|
184 | <tr><td class="lineno" valign="top"></td><td class="lblock"> by a server that is acting as a tunnel.</td><td> </td><td class="rblock"> a server that is acting as a tunnel.</td><td class="lineno" valign="top"></td></tr> |
---|
185 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
186 | <tr><td class="lineno" valign="top"></td><td class="left"> Caching would be useless if it did not significantly improve</td><td> </td><td class="right"> Caching would be useless if it did not significantly improve</td><td class="lineno" valign="top"></td></tr> |
---|
187 | <tr><td class="lineno" valign="top"></td><td class="left"> performance. The goal of caching in HTTP/1.1 is to reuse a prior</td><td> </td><td class="right"> performance. The goal of caching in HTTP/1.1 is to reuse a prior</td><td class="lineno" valign="top"></td></tr> |
---|
188 | <tr><td class="lineno" valign="top"></td><td class="left"> response message to satisfy a current request. In some cases, a</td><td> </td><td class="right"> response message to satisfy a current request. In some cases, a</td><td class="lineno" valign="top"></td></tr> |
---|
189 | <tr><td class="lineno" valign="top"></td><td class="left"> stored response can be reused without the need for a network request,</td><td> </td><td class="right"> stored response can be reused without the need for a network request,</td><td class="lineno" valign="top"></td></tr> |
---|
190 | <tr><td class="lineno" valign="top"></td><td class="left"> reducing latency and network round-trips; a "freshness" mechanism is</td><td> </td><td class="right"> reducing latency and network round-trips; a "freshness" mechanism is</td><td class="lineno" valign="top"></td></tr> |
---|
191 | <tr><td class="lineno" valign="top"></td><td class="left"> used for this purpose (see Section 2.3). Even when a new request is</td><td> </td><td class="right"> used for this purpose (see Section 2.3). Even when a new request is</td><td class="lineno" valign="top"></td></tr> |
---|
192 | <tr><td class="lineno" valign="top"></td><td class="left"> required, it is often possible to reuse all or parts of the payload</td><td> </td><td class="right"> required, it is often possible to reuse all or parts of the payload</td><td class="lineno" valign="top"></td></tr> |
---|
193 | <tr><td class="lineno" valign="top"></td><td class="left"> of a prior response to satisfy the request, thereby reducing network</td><td> </td><td class="right"> of a prior response to satisfy the request, thereby reducing network</td><td class="lineno" valign="top"></td></tr> |
---|
194 | <tr><td class="lineno" valign="top"></td><td class="left"> bandwidth usage; a "validation" mechanism is used for this purpose</td><td> </td><td class="right"> bandwidth usage; a "validation" mechanism is used for this purpose</td><td class="lineno" valign="top"></td></tr> |
---|
195 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
196 | <tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 5, line 41</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 5, line 41</em></th><td></td></tr> |
---|
197 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
198 | <tr><td class="lineno" valign="top"></td><td class="left">1.2. Terminology</td><td> </td><td class="right">1.2. Terminology</td><td class="lineno" valign="top"></td></tr> |
---|
199 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
200 | <tr><td class="lineno" valign="top"></td><td class="left"> This specification uses a number of terms to refer to the roles</td><td> </td><td class="right"> This specification uses a number of terms to refer to the roles</td><td class="lineno" valign="top"></td></tr> |
---|
201 | <tr><td class="lineno" valign="top"></td><td class="left"> played by participants in, and objects of, HTTP caching.</td><td> </td><td class="right"> played by participants in, and objects of, HTTP caching.</td><td class="lineno" valign="top"></td></tr> |
---|
202 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
203 | <tr><td class="lineno" valign="top"></td><td class="left"> cacheable</td><td> </td><td class="right"> cacheable</td><td class="lineno" valign="top"></td></tr> |
---|
204 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
205 | <tr><td class="lineno" valign="top"></td><td class="left"> A response is cacheable if a cache is allowed to store a copy of</td><td> </td><td class="right"> A response is cacheable if a cache is allowed to store a copy of</td><td class="lineno" valign="top"></td></tr> |
---|
206 | <tr><td class="lineno" valign="top"></td><td class="left"> the response message for use in answering subsequent requests.</td><td> </td><td class="right"> the response message for use in answering subsequent requests.</td><td class="lineno" valign="top"></td></tr> |
---|
207 | <tr><td><a name="diff0013" /></td></tr> |
---|
208 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Even when a response is cacheable, there m<span class="delete">ay</span> be additional</td><td> </td><td class="rblock"> Even when a response is cacheable, there m<span class="insert">ight</span> be additional</td><td class="lineno" valign="top"></td></tr> |
---|
209 | <tr><td class="lineno" valign="top"></td><td class="left"> constraints on whether a cache can use the cached copy to satisfy</td><td> </td><td class="right"> constraints on whether a cache can use the cached copy to satisfy</td><td class="lineno" valign="top"></td></tr> |
---|
210 | <tr><td class="lineno" valign="top"></td><td class="left"> a particular request.</td><td> </td><td class="right"> a particular request.</td><td class="lineno" valign="top"></td></tr> |
---|
211 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
212 | <tr><td class="lineno" valign="top"></td><td class="left"> explicit expiration time</td><td> </td><td class="right"> explicit expiration time</td><td class="lineno" valign="top"></td></tr> |
---|
213 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
214 | <tr><td><a name="diff0014" /></td></tr> |
---|
215 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The time at which the origin server intends that a<span class="delete">n entity should</span></td><td> </td><td class="rblock"> The time at which the origin server intends that a<span class="insert"> representation</span></td><td class="lineno" valign="top"></td></tr> |
---|
216 | <tr><td class="lineno" valign="top"></td><td class="left"> no longer be returned by a cache without further validation.</td><td> </td><td class="right"> no longer be returned by a cache without further validation.</td><td class="lineno" valign="top"></td></tr> |
---|
217 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
218 | <tr><td class="lineno" valign="top"></td><td class="left"> heuristic expiration time</td><td> </td><td class="right"> heuristic expiration time</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"> An expiration time assigned by a cache when no explicit expiration</td><td> </td><td class="right"> An expiration time assigned by a cache when no explicit expiration</td><td class="lineno" valign="top"></td></tr> |
---|
221 | <tr><td class="lineno" valign="top"></td><td class="left"> time is available.</td><td> </td><td class="right"> time is available.</td><td class="lineno" valign="top"></td></tr> |
---|
222 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
223 | <tr><td class="lineno" valign="top"></td><td class="left"> age</td><td> </td><td class="right"> age</td><td class="lineno" valign="top"></td></tr> |
---|
224 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
225 | <tr><td class="lineno" valign="top"></td><td class="left"> The age of a response is the time since it was sent by, or</td><td> </td><td class="right"> The age of a response is the time since it was sent by, or</td><td class="lineno" valign="top"></td></tr> |
---|
226 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
227 | <tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 6, line 37</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 6, line 37</em></th><td></td></tr> |
---|
228 | <tr><td class="lineno" valign="top"></td><td class="left"> A response is fresh if its age has not yet exceeded its freshness</td><td> </td><td class="right"> A response is fresh if its age has not yet exceeded its freshness</td><td class="lineno" valign="top"></td></tr> |
---|
229 | <tr><td class="lineno" valign="top"></td><td class="left"> lifetime.</td><td> </td><td class="right"> lifetime.</td><td class="lineno" valign="top"></td></tr> |
---|
230 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
231 | <tr><td class="lineno" valign="top"></td><td class="left"> stale</td><td> </td><td class="right"> stale</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"> A response is stale if its age has passed its freshness lifetime</td><td> </td><td class="right"> A response is stale if its age has passed its freshness lifetime</td><td class="lineno" valign="top"></td></tr> |
---|
234 | <tr><td class="lineno" valign="top"></td><td class="left"> (either explicit or heuristic).</td><td> </td><td class="right"> (either explicit or heuristic).</td><td class="lineno" valign="top"></td></tr> |
---|
235 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
236 | <tr><td class="lineno" valign="top"></td><td class="left"> validator</td><td> </td><td class="right"> validator</td><td class="lineno" valign="top"></td></tr> |
---|
237 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
238 | <tr><td><a name="diff0015" /></td></tr> |
---|
239 | <tr><td class="lineno" valign="top"></td><td class="lblock"> A protocol element (e.g., an <span class="delete">entity tag</span> or a Last-Modified time)</td><td> </td><td class="rblock"> A protocol element (e.g., an <span class="insert">entity-tag</span> or a Last-Modified time)</td><td class="lineno" valign="top"></td></tr> |
---|
240 | <tr><td class="lineno" valign="top"></td><td class="lblock"> that is used to find out whether a stored response <span class="delete">is</span> an</td><td> </td><td class="rblock"> that is used to find out whether a stored response <span class="insert">has</span> an</td><td class="lineno" valign="top"></td></tr> |
---|
241 | <tr><td class="lineno" valign="top"></td><td class="lblock"> equivalent copy of <span class="delete">an entity.</span></td><td> </td><td class="rblock"> equivalent copy of <span class="insert">a representation.</span></td><td class="lineno" valign="top"></td></tr> |
---|
242 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
243 | <tr><td class="lineno" valign="top"></td><td class="left"> shared cache</td><td> </td><td class="right"> shared cache</td><td class="lineno" valign="top"></td></tr> |
---|
244 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
245 | <tr><td class="lineno" valign="top"></td><td class="left"> A cache that is accessible to more than one user. A non-shared</td><td> </td><td class="right"> A cache that is accessible to more than one user. A non-shared</td><td class="lineno" valign="top"></td></tr> |
---|
246 | <tr><td class="lineno" valign="top"></td><td class="left"> cache is dedicated to a single user.</td><td> </td><td class="right"> cache is dedicated to a single user.</td><td class="lineno" valign="top"></td></tr> |
---|
247 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
248 | <tr><td class="lineno" valign="top"></td><td class="left">1.3. Requirements</td><td> </td><td class="right">1.3. Requirements</td><td class="lineno" valign="top"></td></tr> |
---|
249 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
250 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
251 | <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> |
---|
252 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
253 | <tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 9, line 14</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 9, line 14</em></th><td></td></tr> |
---|
254 | <tr><td class="lineno" valign="top"></td><td class="left"> status code.</td><td> </td><td class="right"> status code.</td><td class="lineno" valign="top"></td></tr> |
---|
255 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
256 | <tr><td class="lineno" valign="top"></td><td class="left"> A cache that does not support the Range and Content-Range headers</td><td> </td><td class="right"> A cache that does not support the Range and Content-Range headers</td><td class="lineno" valign="top"></td></tr> |
---|
257 | <tr><td class="lineno" valign="top"></td><td class="left"> MUST NOT store incomplete or partial responses.</td><td> </td><td class="right"> MUST NOT store incomplete or partial responses.</td><td class="lineno" valign="top"></td></tr> |
---|
258 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
259 | <tr><td class="lineno" valign="top"></td><td class="left">2.2. Constructing Responses from Caches</td><td> </td><td class="right">2.2. Constructing Responses from Caches</td><td class="lineno" valign="top"></td></tr> |
---|
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"> For a presented request, a cache MUST NOT return a stored response,</td><td> </td><td class="right"> For a presented request, a cache MUST NOT return a stored response,</td><td class="lineno" valign="top"></td></tr> |
---|
262 | <tr><td class="lineno" valign="top"></td><td class="left"> unless:</td><td> </td><td class="right"> unless:</td><td class="lineno" valign="top"></td></tr> |
---|
263 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
264 | <tr><td><a name="diff0016" /></td></tr> |
---|
265 | <tr><td class="lineno" valign="top"></td><td class="lblock"> o The presented <span class="delete">Effective R</span>equest URI (Section 4.3 of [Part1]) and</td><td> </td><td class="rblock"> o The presented <span class="insert">effective r</span>equest URI (Section 4.3 of [Part1]) and</td><td class="lineno" valign="top"></td></tr> |
---|
266 | <tr><td class="lineno" valign="top"></td><td class="left"> that of the stored response match, and</td><td> </td><td class="right"> that of the stored response match, and</td><td class="lineno" valign="top"></td></tr> |
---|
267 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
268 | <tr><td class="lineno" valign="top"></td><td class="left"> o the request method associated with the stored response allows it</td><td> </td><td class="right"> o the request method associated with the stored response allows it</td><td class="lineno" valign="top"></td></tr> |
---|
269 | <tr><td class="lineno" valign="top"></td><td class="left"> to be used for the presented request, and</td><td> </td><td class="right"> to be used for the presented request, and</td><td class="lineno" valign="top"></td></tr> |
---|
270 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
271 | <tr><td class="lineno" valign="top"></td><td class="left"> o selecting request-headers nominated by the stored response (if</td><td> </td><td class="right"> o selecting request-headers nominated by the stored response (if</td><td class="lineno" valign="top"></td></tr> |
---|
272 | <tr><td class="lineno" valign="top"></td><td class="left"> any) match those presented (see Section 2.7), and</td><td> </td><td class="right"> any) match those presented (see Section 2.7), and</td><td class="lineno" valign="top"></td></tr> |
---|
273 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
274 | <tr><td class="lineno" valign="top"></td><td class="left"> o the presented request and stored response are free from directives</td><td> </td><td class="right"> o the presented request and stored response are free from directives</td><td class="lineno" valign="top"></td></tr> |
---|
275 | <tr><td class="lineno" valign="top"></td><td class="left"> that would prevent its use (see Section 3.2 and Section 3.4), and</td><td> </td><td class="right"> that would prevent its use (see Section 3.2 and Section 3.4), and</td><td class="lineno" valign="top"></td></tr> |
---|
276 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
277 | <tr><td class="lineno" valign="top"></td><td class="left"> o the stored response is either:</td><td> </td><td class="right"> o the stored response is either:</td><td class="lineno" valign="top"></td></tr> |
---|
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 class="lineno" valign="top"></td><td class="left"> * fresh (see Section 2.3), or</td><td> </td><td class="right"> * fresh (see Section 2.3), or</td><td class="lineno" valign="top"></td></tr> |
---|
280 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
281 | <tr><td class="lineno" valign="top"></td><td class="left"> * allowed to be served stale (see Section 2.3.3), or</td><td> </td><td class="right"> * allowed to be served stale (see Section 2.3.3), or</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"> * successfully validated (see Section 2.4).</td><td> </td><td class="right"> * successfully validated (see Section 2.4).</td><td class="lineno" valign="top"></td></tr> |
---|
284 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
285 | <tr><td><a name="diff0017" /></td></tr> |
---|
286 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[TODO-method-cacheability: define method cacheability for GET, HEAD</span></td><td> </td><td class="rblock"> When a stored response is used to satisfy a <span class="insert">request without</span></td><td class="lineno" valign="top"></td></tr> |
---|
287 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> and POST in p2-semantics.]]</span></td><td> </td><td class="rblock"><span class="insert"> validation,</span> caches MUST include a single Age header field</td><td class="lineno" valign="top"></td></tr> |
---|
288 | <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"> (Section 3.1) in the response with a value equal to the stored</td><td class="lineno" valign="top"></td></tr> |
---|
289 | <tr><td class="lineno" valign="top"></td><td class="lblock"> When a stored response is used to satisfy a <span class="delete">request,</span> caches MUST</td><td> </td><td class="rblock"> response's current_age; see Section 2.3.2.</td><td class="lineno" valign="top"></td></tr> |
---|
290 | <tr><td class="lineno" valign="top"></td><td class="lblock"> include a single Age header field (Section 3.1) in the response with</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
291 | <tr><td class="lineno" valign="top"></td><td class="lblock"> a value equal to the stored response's current_age; see</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
292 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Section 2.3.2. <span class="delete">[[DISCUSS-includes-validated: this currently includes</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
293 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> successfully validated responses.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
294 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
295 | <tr><td class="lineno" valign="top"></td><td class="left"> Requests with methods that are unsafe (Section 7.1.1 of [Part2]) MUST</td><td> </td><td class="right"> Requests with methods that are unsafe (Section 7.1.1 of [Part2]) MUST</td><td class="lineno" valign="top"></td></tr> |
---|
296 | <tr><td class="lineno" valign="top"></td><td class="left"> be written through the cache to the origin server; i.e., a cache must</td><td> </td><td class="right"> be written through the cache to the origin server; i.e., a cache must</td><td class="lineno" valign="top"></td></tr> |
---|
297 | <tr><td class="lineno" valign="top"></td><td class="left"> not reply to such a request before having forwarded the request and</td><td> </td><td class="right"> not reply to such a request before having forwarded the request and</td><td class="lineno" valign="top"></td></tr> |
---|
298 | <tr><td class="lineno" valign="top"></td><td class="left"> having received a corresponding response.</td><td> </td><td class="right"> having received a corresponding response.</td><td class="lineno" valign="top"></td></tr> |
---|
299 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
300 | <tr><td class="lineno" valign="top"></td><td class="left"> Also, note that unsafe requests might invalidate already stored</td><td> </td><td class="right"> Also, note that unsafe requests might invalidate already stored</td><td class="lineno" valign="top"></td></tr> |
---|
301 | <tr><td class="lineno" valign="top"></td><td class="left"> responses; see Section 2.5.</td><td> </td><td class="right"> responses; see Section 2.5.</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"> Caches MUST use the most recent response (as determined by the Date</td><td> </td><td class="right"> Caches MUST use the most recent response (as determined by the Date</td><td class="lineno" valign="top"></td></tr> |
---|
304 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
305 | <tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 10, line 19</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 10, line 16</em></th><td></td></tr> |
---|
306 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
307 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
308 | <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> |
---|
309 | <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> |
---|
310 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
311 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
312 | <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> |
---|
313 | <tr><td class="lineno" valign="top"></td><td class="left"> either the Expires header (Section 3.3) or the max-age response cache</td><td> </td><td class="right"> either the Expires header (Section 3.3) or the max-age response cache</td><td class="lineno" valign="top"></td></tr> |
---|
314 | <tr><td class="lineno" valign="top"></td><td class="left"> directive (Section 3.2.2). Generally, origin servers will assign</td><td> </td><td class="right"> directive (Section 3.2.2). Generally, origin servers will assign</td><td class="lineno" valign="top"></td></tr> |
---|
315 | <tr><td class="lineno" valign="top"></td><td class="left"> future explicit expiration times to responses in the belief that the</td><td> </td><td class="right"> future explicit expiration times to responses in the belief that the</td><td class="lineno" valign="top"></td></tr> |
---|
316 | <tr><td><a name="diff0018" /></td></tr> |
---|
317 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">entity</span> is not likely to change in a semantically significant way</td><td> </td><td class="rblock"> <span class="insert">representation</span> is not likely to change in a semantically significant</td><td class="lineno" valign="top"></td></tr> |
---|
318 | <tr><td class="lineno" valign="top"></td><td class="lblock"> 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> |
---|
319 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
320 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
321 | <tr><td><a name="diff0019" /></td></tr> |
---|
322 | <tr><td class="lineno" valign="top"></td><td class="lblock"> request, it can assign an explicit expiration time in the <span class="delete">past. This</span></td><td> </td><td class="rblock"> request, it can assign an explicit expiration time in the <span class="insert">past to</span></td><td class="lineno" valign="top"></td></tr> |
---|
323 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> means</span> that the response is <span class="delete">always stale, so that</span> caches <span class="delete">should</span></td><td> </td><td class="rblock"><span class="insert"> indicate</span> that the response is <span class="insert">already stale. Compliant</span> caches <span class="insert">will</span></td><td class="lineno" valign="top"></td></tr> |
---|
324 | <tr><td class="lineno" valign="top"></td><td class="lblock"> validate <span class="delete">it</span> before <span class="delete">using</span> it for subsequent requests. <span class="delete">[[TODO-</span></td><td> </td><td class="rblock"> validate <span class="insert">the cached response</span> before <span class="insert">reusing</span> it for subsequent</td><td class="lineno" valign="top"></td></tr> |
---|
325 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response-stale: This wording may cause confusion, because the</span></td><td> </td><td class="rblock"> requests.</td><td class="lineno" valign="top"></td></tr> |
---|
326 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response may still be served stale.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
327 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
328 | <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> |
---|
329 | <tr><td><a name="diff0020" /></td></tr> |
---|
330 | <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP caches <span class="delete">may also</span> assign heuristic expiration times when <span class="delete">they</span> are</td><td> </td><td class="rblock"> HTTP caches <span class="insert">MAY</span> assign heuristic expiration times when <span class="insert">explicit times</span></td><td class="lineno" valign="top"></td></tr> |
---|
331 | <tr><td class="lineno" valign="top"></td><td class="lblock"> not specified, employing algorithms that use other header values</td><td> </td><td class="rblock"> are not specified, employing algorithms that use other header values</td><td class="lineno" valign="top"></td></tr> |
---|
332 | <tr><td class="lineno" valign="top"></td><td class="left"> (such as the Last-Modified time) to estimate a plausible expiration</td><td> </td><td class="right"> (such as the Last-Modified time) to estimate a plausible expiration</td><td class="lineno" valign="top"></td></tr> |
---|
333 | <tr><td class="lineno" valign="top"></td><td class="left"> time. The HTTP/1.1 specification does not provide specific</td><td> </td><td class="right"> time. The HTTP/1.1 specification does not provide specific</td><td class="lineno" valign="top"></td></tr> |
---|
334 | <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> |
---|
335 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
336 | <tr><td class="lineno" valign="top"></td><td class="left"> The calculation to determine if a response is fresh is:</td><td> </td><td class="right"> The calculation to determine if a response is fresh is:</td><td class="lineno" valign="top"></td></tr> |
---|
337 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
338 | <tr><td class="lineno" valign="top"></td><td class="left"> response_is_fresh = (freshness_lifetime > current_age)</td><td> </td><td class="right"> response_is_fresh = (freshness_lifetime > current_age)</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"> The freshness_lifetime is defined in Section 2.3.1; the current_age</td><td> </td><td class="right"> The freshness_lifetime is defined in Section 2.3.1; the current_age</td><td class="lineno" valign="top"></td></tr> |
---|
341 | <tr><td class="lineno" valign="top"></td><td class="left"> is defined in Section 2.3.2.</td><td> </td><td class="right"> is defined in Section 2.3.2.</td><td class="lineno" valign="top"></td></tr> |
---|
342 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
343 | <tr><td><a name="diff0021" /></td></tr> |
---|
344 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Additionally, clients m<span class="delete">ay</span> need to influence freshness calculation.</td><td> </td><td class="rblock"> Additionally, clients m<span class="insert">ight</span> need to influence freshness calculation.</td><td class="lineno" valign="top"></td></tr> |
---|
345 | <tr><td class="lineno" valign="top"></td><td class="left"> They can do this using several request cache directives, with the</td><td> </td><td class="right"> They can do this using several request cache directives, with the</td><td class="lineno" valign="top"></td></tr> |
---|
346 | <tr><td class="lineno" valign="top"></td><td class="left"> effect of either increasing or loosening constraints on freshness.</td><td> </td><td class="right"> effect of either increasing or loosening constraints on freshness.</td><td class="lineno" valign="top"></td></tr> |
---|
347 | <tr><td class="lineno" valign="top"></td><td class="left"> See Section 3.2.1.</td><td> </td><td class="right"> See Section 3.2.1.</td><td class="lineno" valign="top"></td></tr> |
---|
348 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
349 | <tr><td class="lineno" valign="top"></td><td class="left"> [[ISSUE-no-req-for-directives: there are not requirements directly</td><td> </td><td class="right"> [[ISSUE-no-req-for-directives: there are not requirements directly</td><td class="lineno" valign="top"></td></tr> |
---|
350 | <tr><td class="lineno" valign="top"></td><td class="left"> applying to cache-request-directives and freshness.]]</td><td> </td><td class="right"> applying to cache-request-directives and freshness.]]</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"> 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> |
---|
353 | <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> |
---|
354 | <tr><td class="lineno" valign="top"></td><td class="left"> resource. See Section 4 for an explanation of the difference between</td><td> </td><td class="right"> resource. See Section 4 for an explanation of the difference between</td><td class="lineno" valign="top"></td></tr> |
---|
355 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
356 | <tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 11, line 32</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 11, line 29</em></th><td></td></tr> |
---|
357 | <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> |
---|
358 | <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> |
---|
359 | <tr><td class="lineno" valign="top"></td><td class="left"> Section 2.3.1.1.</td><td> </td><td class="right"> Section 2.3.1.1.</td><td class="lineno" valign="top"></td></tr> |
---|
360 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
361 | <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> |
---|
362 | <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> |
---|
363 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
364 | <tr><td class="lineno" valign="top"></td><td class="left">2.3.1.1. Calculating Heuristic Freshness</td><td> </td><td class="right">2.3.1.1. Calculating Heuristic Freshness</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"> If no explicit expiration time is present in a stored response that</td><td> </td><td class="right"> If no explicit expiration time is present in a stored response that</td><td class="lineno" valign="top"></td></tr> |
---|
367 | <tr><td><a name="diff0022" /></td></tr> |
---|
368 | <tr><td class="lineno" valign="top"></td><td class="lblock"> has a status code of 200, 203, 206, 300, 301 <span class="delete">or 410,</span> a heuristic</td><td> </td><td class="rblock"> has a status code <span class="insert">whose definition allows heuristic freshness to be</span></td><td class="lineno" valign="top"></td></tr> |
---|
369 | <tr><td class="lineno" valign="top"></td><td class="lblock"> expiration time <span class="delete">can</span> be calculated. Heuristics MUST NOT be used for</td><td> </td><td class="rblock"><span class="insert"> used (including the following in Section 8</span> of <span class="insert">[Part2]:</span> 200, 203, 206,</td><td class="lineno" valign="top"></td></tr> |
---|
370 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">other</span> response status <span class="delete">codes.</span></td><td> </td><td class="rblock"> 300, 301 <span class="insert">and 410),</span> a heuristic expiration time <span class="insert">MAY</span> be calculated.</td><td class="lineno" valign="top"></td></tr> |
---|
371 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> Heuristics MUST NOT be used for response status <span class="insert">codes that do not</span></td><td class="lineno" valign="top"></td></tr> |
---|
372 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> explicitly allow it.</span></td><td class="lineno" valign="top"></td></tr> |
---|
373 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
374 | <tr><td class="lineno" valign="top"></td><td class="left"> When a heuristic is used to calculate freshness lifetime, the cache</td><td> </td><td class="right"> When a heuristic is used to calculate freshness lifetime, the cache</td><td class="lineno" valign="top"></td></tr> |
---|
375 | <tr><td class="lineno" valign="top"></td><td class="left"> SHOULD attach a Warning header with a 113 warn-code to the response</td><td> </td><td class="right"> SHOULD attach a Warning header with a 113 warn-code to the response</td><td class="lineno" valign="top"></td></tr> |
---|
376 | <tr><td class="lineno" valign="top"></td><td class="left"> if its current_age is more than 24 hours and such a warning is not</td><td> </td><td class="right"> if its current_age is more than 24 hours and such a warning is not</td><td class="lineno" valign="top"></td></tr> |
---|
377 | <tr><td class="lineno" valign="top"></td><td class="left"> already present.</td><td> </td><td class="right"> already present.</td><td class="lineno" valign="top"></td></tr> |
---|
378 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
379 | <tr><td class="lineno" valign="top"></td><td class="left"> Also, if the response has a Last-Modified header (Section 6.6 of</td><td> </td><td class="right"> Also, if the response has a Last-Modified header (Section 6.6 of</td><td class="lineno" valign="top"></td></tr> |
---|
380 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part4]), the heuristic expiration value SHOULD be no more than some</td><td> </td><td class="right"> [Part4]), the heuristic expiration value SHOULD be no more than some</td><td class="lineno" valign="top"></td></tr> |
---|
381 | <tr><td class="lineno" valign="top"></td><td class="left"> fraction of the interval since that time. A typical setting of this</td><td> </td><td class="right"> fraction of the interval since that time. A typical setting of this</td><td class="lineno" valign="top"></td></tr> |
---|
382 | <tr><td class="lineno" valign="top"></td><td class="left"> fraction might be 10%.</td><td> </td><td class="right"> fraction might be 10%.</td><td class="lineno" valign="top"></td></tr> |
---|
383 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
384 | <tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 14, line 39</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 14, line 39</em></th><td></td></tr> |
---|
385 | <tr><td class="lineno" valign="top"></td><td class="left"> requested URI, if present. However, if any of the stored responses</td><td> </td><td class="right"> requested URI, if present. However, if any of the stored responses</td><td class="lineno" valign="top"></td></tr> |
---|
386 | <tr><td class="lineno" valign="top"></td><td class="left"> contains only partial content, its entity-tag SHOULD NOT be included</td><td> </td><td class="right"> contains only partial content, its entity-tag SHOULD NOT be included</td><td class="lineno" valign="top"></td></tr> |
---|
387 | <tr><td class="lineno" valign="top"></td><td class="left"> in the If-None-Match header field unless the request is for a range</td><td> </td><td class="right"> in the If-None-Match header field unless the request is for a range</td><td class="lineno" valign="top"></td></tr> |
---|
388 | <tr><td class="lineno" valign="top"></td><td class="left"> that would be fully satisfied by that stored response.</td><td> </td><td class="right"> that would be fully satisfied by that stored response.</td><td class="lineno" valign="top"></td></tr> |
---|
389 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
390 | <tr><td class="lineno" valign="top"></td><td class="left"> A 304 (Not Modified) response status code indicates that the stored</td><td> </td><td class="right"> A 304 (Not Modified) response status code indicates that the stored</td><td class="lineno" valign="top"></td></tr> |
---|
391 | <tr><td class="lineno" valign="top"></td><td class="left"> response can be updated and reused; see Section 2.8.</td><td> </td><td class="right"> response can be updated and reused; see Section 2.8.</td><td class="lineno" valign="top"></td></tr> |
---|
392 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
393 | <tr><td class="lineno" valign="top"></td><td class="left"> A full response (i.e., one with a response body) indicates that none</td><td> </td><td class="right"> A full response (i.e., one with a response body) indicates that none</td><td class="lineno" valign="top"></td></tr> |
---|
394 | <tr><td class="lineno" valign="top"></td><td class="left"> of the stored responses nominated in the conditional request is</td><td> </td><td class="right"> of the stored responses nominated in the conditional request is</td><td class="lineno" valign="top"></td></tr> |
---|
395 | <tr><td><a name="diff0023" /></td></tr> |
---|
396 | <tr><td class="lineno" valign="top"></td><td class="lblock"> suitable. Instead, the full response <span class="delete">is</span> used <span class="delete">both</span> to satisfy the</td><td> </td><td class="rblock"> suitable. Instead, the full response <span class="insert">SHOULD be</span> used to satisfy the</td><td class="lineno" valign="top"></td></tr> |
---|
397 | <tr><td class="lineno" valign="top"></td><td class="lblock"> request and replace the stored response. <span class="delete">[[TODO-req-missing: Should</span></td><td> </td><td class="rblock"> request and <span class="insert">MAY</span> replace the stored response.</td><td class="lineno" valign="top"></td></tr> |
---|
398 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> there be a requirement here?]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
399 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
400 | <tr><td class="lineno" valign="top"></td><td class="left"> If a cache receives a 5xx response while attempting to validate a</td><td> </td><td class="right"> If a cache receives a 5xx response while attempting to validate a</td><td class="lineno" valign="top"></td></tr> |
---|
401 | <tr><td class="lineno" valign="top"></td><td class="left"> response, it MAY either forward this response to the requesting</td><td> </td><td class="right"> response, it MAY either forward this response to the requesting</td><td class="lineno" valign="top"></td></tr> |
---|
402 | <tr><td class="lineno" valign="top"></td><td class="left"> client, or act as if the server failed to respond. In the latter</td><td> </td><td class="right"> client, or act as if the server failed to respond. In the latter</td><td class="lineno" valign="top"></td></tr> |
---|
403 | <tr><td class="lineno" valign="top"></td><td class="left"> case, it MAY return a previously stored response (see Section 2.3.3).</td><td> </td><td class="right"> case, it MAY return a previously stored response (see Section 2.3.3).</td><td class="lineno" valign="top"></td></tr> |
---|
404 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
405 | <tr><td class="lineno" valign="top"></td><td class="left">2.5. Request Methods that Invalidate</td><td> </td><td class="right">2.5. Request Methods that Invalidate</td><td class="lineno" valign="top"></td></tr> |
---|
406 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
407 | <tr><td class="lineno" valign="top"></td><td class="left"> Because unsafe methods (Section 7.1.1 of [Part2]) have the potential</td><td> </td><td class="right"> Because unsafe methods (Section 7.1.1 of [Part2]) have the potential</td><td class="lineno" valign="top"></td></tr> |
---|
408 | <tr><td class="lineno" valign="top"></td><td class="left"> for changing state on the origin server, intervening caches can use</td><td> </td><td class="right"> for changing state on the origin server, intervening caches can use</td><td class="lineno" valign="top"></td></tr> |
---|
409 | <tr><td class="lineno" valign="top"></td><td class="left"> them to keep their contents up-to-date.</td><td> </td><td class="right"> them to keep their contents up-to-date.</td><td class="lineno" valign="top"></td></tr> |
---|
410 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
411 | <tr><td class="lineno" valign="top"></td><td class="left"> The following HTTP methods MUST cause a cache to invalidate the</td><td> </td><td class="right"> The following HTTP methods MUST cause a cache to invalidate the</td><td class="lineno" valign="top"></td></tr> |
---|
412 | <tr><td><a name="diff0024" /></td></tr> |
---|
413 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">E</span>ffective Request URI (Section 4.3 of [Part1]) as well as the URI(s)</td><td> </td><td class="rblock"> <span class="insert">e</span>ffective Request URI (Section 4.3 of [Part1]) as well as the URI(s)</td><td class="lineno" valign="top"></td></tr> |
---|
414 | <tr><td class="lineno" valign="top"></td><td class="left"> in the Location and Content-Location headers (if present):</td><td> </td><td class="right"> in the Location and Content-Location headers (if present):</td><td class="lineno" valign="top"></td></tr> |
---|
415 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
416 | <tr><td class="lineno" valign="top"></td><td class="left"> o PUT</td><td> </td><td class="right"> o PUT</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 DELETE</td><td> </td><td class="right"> o DELETE</td><td class="lineno" valign="top"></td></tr> |
---|
419 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
420 | <tr><td class="lineno" valign="top"></td><td class="left"> o POST</td><td> </td><td class="right"> o POST</td><td class="lineno" valign="top"></td></tr> |
---|
421 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
422 | <tr><td class="lineno" valign="top"></td><td class="left"> An invalidation based on a URI from a Location or Content-Location</td><td> </td><td class="right"> An invalidation based on a URI from a Location or Content-Location</td><td class="lineno" valign="top"></td></tr> |
---|
423 | <tr><td class="lineno" valign="top"></td><td class="left"> header MUST NOT be performed if the host part of that URI differs</td><td> </td><td class="right"> header MUST NOT be performed if the host part of that URI differs</td><td class="lineno" valign="top"></td></tr> |
---|
424 | <tr><td><a name="diff0025" /></td></tr> |
---|
425 | <tr><td class="lineno" valign="top"></td><td class="lblock"> from the host part in the <span class="delete">Effective R</span>equest URI (Section 4.3 of</td><td> </td><td class="rblock"> from the host part in the <span class="insert">effective r</span>equest URI (Section 4.3 of</td><td class="lineno" valign="top"></td></tr> |
---|
426 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part1]). This helps prevent denial of service attacks.</td><td> </td><td class="right"> [Part1]). This helps prevent denial of service attacks.</td><td class="lineno" valign="top"></td></tr> |
---|
427 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
428 | <tr><td><a name="diff0026" /></td></tr> |
---|
429 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[TODO-def-host-part: "host part" needs to be specified better.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
430 | <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
431 | <tr><td class="lineno" valign="top"></td><td class="left"> A cache that passes through requests for methods it does not</td><td> </td><td class="right"> A cache that passes through requests for methods it does not</td><td class="lineno" valign="top"></td></tr> |
---|
432 | <tr><td><a name="diff0027" /></td></tr> |
---|
433 | <tr><td class="lineno" valign="top"></td><td class="lblock"> understand SHOULD invalidate the <span class="delete">Effective R</span>equest URI (Section 4.3</td><td> </td><td class="rblock"> understand SHOULD invalidate the <span class="insert">effective r</span>equest URI (Section 4.3</td><td class="lineno" valign="top"></td></tr> |
---|
434 | <tr><td class="lineno" valign="top"></td><td class="left"> of [Part1]).</td><td> </td><td class="right"> of [Part1]).</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"> Here, "invalidate" means that the cache will either remove all stored</td><td> </td><td class="right"> Here, "invalidate" means that the cache will either remove all stored</td><td class="lineno" valign="top"></td></tr> |
---|
437 | <tr><td><a name="diff0028" /></td></tr> |
---|
438 | <tr><td class="lineno" valign="top"></td><td class="lblock"> responses related to the <span class="delete">Effective R</span>equest URI, or will mark these as</td><td> </td><td class="rblock"> responses related to the <span class="insert">effective r</span>equest URI, or will mark these as</td><td class="lineno" valign="top"></td></tr> |
---|
439 | <tr><td class="lineno" valign="top"></td><td class="left"> "invalid" and in need of a mandatory validation before they can be</td><td> </td><td class="right"> "invalid" and in need of a mandatory validation before they can be</td><td class="lineno" valign="top"></td></tr> |
---|
440 | <tr><td class="lineno" valign="top"></td><td class="left"> returned in response to a subsequent request.</td><td> </td><td class="right"> returned in response to a subsequent request.</td><td class="lineno" valign="top"></td></tr> |
---|
441 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
442 | <tr><td class="lineno" valign="top"></td><td class="left"> Note that this does not guarantee that all appropriate responses are</td><td> </td><td class="right"> Note that this does not guarantee that all appropriate responses are</td><td class="lineno" valign="top"></td></tr> |
---|
443 | <tr><td class="lineno" valign="top"></td><td class="left"> invalidated. For example, the request that caused the change at the</td><td> </td><td class="right"> invalidated. For example, the request that caused the change at the</td><td class="lineno" valign="top"></td></tr> |
---|
444 | <tr><td class="lineno" valign="top"></td><td class="left"> origin server might not have gone through the cache where a response</td><td> </td><td class="right"> origin server might not have gone through the cache where a response</td><td class="lineno" valign="top"></td></tr> |
---|
445 | <tr><td class="lineno" valign="top"></td><td class="left"> is stored.</td><td> </td><td class="right"> is stored.</td><td class="lineno" valign="top"></td></tr> |
---|
446 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
447 | <tr><td><a name="diff0029" /></td></tr> |
---|
448 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[TODO-spec-success-invalidate: specify that only successful (2xx,</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="lblock"><span class="delete"> 3xx?) responses invalidate.]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
450 | <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
451 | <tr><td class="lineno" valign="top"></td><td class="left">2.6. Shared Caching of Authenticated Responses</td><td> </td><td class="right">2.6. Shared Caching of Authenticated Responses</td><td class="lineno" valign="top"></td></tr> |
---|
452 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
453 | <tr><td class="lineno" valign="top"></td><td class="left"> Shared caches MUST NOT use a cached response to a request with an</td><td> </td><td class="right"> Shared caches MUST NOT use a cached response to a request with an</td><td class="lineno" valign="top"></td></tr> |
---|
454 | <tr><td class="lineno" valign="top"></td><td class="left"> Authorization header (Section 3.1 of [Part7]) to satisfy any</td><td> </td><td class="right"> Authorization header (Section 3.1 of [Part7]) to satisfy any</td><td class="lineno" valign="top"></td></tr> |
---|
455 | <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> |
---|
456 | <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> |
---|
457 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
458 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
459 | <tr><td class="lineno" valign="top"></td><td class="left"> directives (Section 3.2.2) have such an effect: must-revalidate,</td><td> </td><td class="right"> directives (Section 3.2.2) have such an effect: must-revalidate,</td><td class="lineno" valign="top"></td></tr> |
---|
460 | <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> |
---|
461 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
462 | <tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 16, line 32</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 16, line 29</em></th><td></td></tr> |
---|
463 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
464 | <tr><td class="lineno" valign="top"></td><td class="left"> o combining multiple message-header fields with the same field name</td><td> </td><td class="right"> o combining multiple message-header fields with the same field name</td><td class="lineno" valign="top"></td></tr> |
---|
465 | <tr><td class="lineno" valign="top"></td><td class="left"> (see Section 3.2 of [Part1])</td><td> </td><td class="right"> (see Section 3.2 of [Part1])</td><td class="lineno" valign="top"></td></tr> |
---|
466 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
467 | <tr><td class="lineno" valign="top"></td><td class="left"> o normalizing both header values in a way that is known to have</td><td> </td><td class="right"> o normalizing both header values in a way that is known to have</td><td class="lineno" valign="top"></td></tr> |
---|
468 | <tr><td class="lineno" valign="top"></td><td class="left"> identical semantics, according to the header's specification</td><td> </td><td class="right"> identical semantics, according to the header's specification</td><td class="lineno" valign="top"></td></tr> |
---|
469 | <tr><td class="lineno" valign="top"></td><td class="left"> (e.g., re-ordering field values when order is not significant;</td><td> </td><td class="right"> (e.g., re-ordering field values when order is not significant;</td><td class="lineno" valign="top"></td></tr> |
---|
470 | <tr><td class="lineno" valign="top"></td><td class="left"> case-normalization, where values are defined to be case-</td><td> </td><td class="right"> case-normalization, where values are defined to be case-</td><td class="lineno" valign="top"></td></tr> |
---|
471 | <tr><td class="lineno" valign="top"></td><td class="left"> insensitive)</td><td> </td><td class="right"> insensitive)</td><td class="lineno" valign="top"></td></tr> |
---|
472 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
473 | <tr><td><a name="diff0030" /></td></tr> |
---|
474 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If (after any normali<span class="delete">sation that may</span> take place) a header field is</td><td> </td><td class="rblock"> If (after any normali<span class="insert">zation that might</span> take place) a header field is</td><td class="lineno" valign="top"></td></tr> |
---|
475 | <tr><td class="lineno" valign="top"></td><td class="left"> absent from a request, it can only match another request if it is</td><td> </td><td class="right"> absent from a request, it can only match another request if it is</td><td class="lineno" valign="top"></td></tr> |
---|
476 | <tr><td class="lineno" valign="top"></td><td class="left"> also absent there.</td><td> </td><td class="right"> also absent there.</td><td class="lineno" valign="top"></td></tr> |
---|
477 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
478 | <tr><td class="lineno" valign="top"></td><td class="left"> A Vary header field-value of "*" always fails to match, and</td><td> </td><td class="right"> A Vary header field-value of "*" always fails to match, and</td><td class="lineno" valign="top"></td></tr> |
---|
479 | <tr><td class="lineno" valign="top"></td><td class="left"> subsequent requests to that resource can only be properly interpreted</td><td> </td><td class="right"> subsequent requests to that resource can only be properly interpreted</td><td class="lineno" valign="top"></td></tr> |
---|
480 | <tr><td class="lineno" valign="top"></td><td class="left"> by the origin server.</td><td> </td><td class="right"> by the origin server.</td><td class="lineno" valign="top"></td></tr> |
---|
481 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
482 | <tr><td class="lineno" valign="top"></td><td class="left"> The stored response with matching selecting request-headers is known</td><td> </td><td class="right"> The stored response with matching selecting request-headers is known</td><td class="lineno" valign="top"></td></tr> |
---|
483 | <tr><td class="lineno" valign="top"></td><td class="left"> as the selected response.</td><td> </td><td class="right"> as the selected response.</td><td class="lineno" valign="top"></td></tr> |
---|
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"> If no selected response is available, the cache MAY forward the</td><td> </td><td class="right"> If no selected response is available, the cache MAY forward the</td><td class="lineno" valign="top"></td></tr> |
---|
486 | <tr><td class="lineno" valign="top"></td><td class="left"> presented request to the origin server in a conditional request; see</td><td> </td><td class="right"> presented request to the origin server in a conditional request; see</td><td class="lineno" valign="top"></td></tr> |
---|
487 | <tr><td class="lineno" valign="top"></td><td class="left"> Section 2.4.</td><td> </td><td class="right"> Section 2.4.</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">2.8. Combining Responses</td><td> </td><td class="right">2.8. Combining Responses</td><td class="lineno" valign="top"></td></tr> |
---|
490 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
491 | <tr><td class="lineno" valign="top"></td><td class="left"> When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td> </td><td class="right"> When a cache receives a 304 (Not Modified) response or a 206 (Partial</td><td class="lineno" valign="top"></td></tr> |
---|
492 | <tr><td class="lineno" valign="top"></td><td class="left"> Content) response (in this section, the "new" response"), it needs to</td><td> </td><td class="right"> Content) response (in this section, the "new" response"), it needs to</td><td class="lineno" valign="top"></td></tr> |
---|
493 | <tr><td class="lineno" valign="top"></td><td class="left"> created an updated response by combining the stored response with the</td><td> </td><td class="right"> created an updated response by combining the stored response with the</td><td class="lineno" valign="top"></td></tr> |
---|
494 | <tr><td class="lineno" valign="top"></td><td class="left"> new one, so that the updated response can be used to satisfy the</td><td> </td><td class="right"> new one, so that the updated response can be used to satisfy the</td><td class="lineno" valign="top"></td></tr> |
---|
495 | <tr><td><a name="diff0031" /></td></tr> |
---|
496 | <tr><td class="lineno" valign="top"></td><td class="lblock"> request.</td><td> </td><td class="rblock"> request<span class="insert">, and potentially update the cached response</span>.</td><td class="lineno" valign="top"></td></tr> |
---|
497 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
498 | <tr><td class="lineno" valign="top"></td><td class="left"> If the new response contains an ETag, it identifies the stored</td><td> </td><td class="right"> If the new response contains an ETag, it identifies the stored</td><td class="lineno" valign="top"></td></tr> |
---|
499 | <tr><td><a name="diff0032" /></td></tr> |
---|
500 | <tr><td class="lineno" valign="top"></td><td class="lblock"> response to use. [[TODO-mention-CL: <span class="delete">may</span> need language about <span class="delete">Content-</span></td><td> </td><td class="rblock"> response to use. [[TODO-mention-CL: <span class="insert">might</span> need language about</td><td class="lineno" valign="top"></td></tr> |
---|
501 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Location here]][[TODO-inm-mult-etags: cover case where INM with</span></td><td> </td><td class="rblock"> <span class="insert">Content-Location here]][[TODO-select-for-combine: Shouldn't this be</span></td><td class="lineno" valign="top"></td></tr> |
---|
502 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> multiple etags was sent]]</span></td><td> </td><td class="rblock"><span class="insert"> the selected response?]]</span></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="diff0033" /></td></tr> |
---|
505 | <tr><td class="lineno" valign="top"></td><td class="lblock"> If the status code is 206 (partial content), both the stored and new</td><td> </td><td class="rblock"> If the <span class="insert">new response's</span> status code is 206 (partial content), both the</td><td class="lineno" valign="top"></td></tr> |
---|
506 | <tr><td class="lineno" valign="top"></td><td class="lblock"> responses MUST have validators, and those validators MUST match using</td><td> </td><td class="rblock"> stored and new responses MUST have validators, and those validators</td><td class="lineno" valign="top"></td></tr> |
---|
507 | <tr><td class="lineno" valign="top"></td><td class="lblock"> the strong comparison function (see Section 4 of [Part4]).</td><td> </td><td class="rblock"> MUST match using the strong comparison function (see Section 4 of</td><td class="lineno" valign="top"></td></tr> |
---|
508 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Otherwise, the responses MUST NOT be combined.</td><td> </td><td class="rblock"> [Part4]). Otherwise, the responses MUST NOT be combined.</td><td class="lineno" valign="top"></td></tr> |
---|
509 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
510 | <tr><td class="lineno" valign="top"></td><td class="left"> The stored response headers are used as those of the updated</td><td> </td><td class="right"> The stored response headers are used as those of the updated</td><td class="lineno" valign="top"></td></tr> |
---|
511 | <tr><td class="lineno" valign="top"></td><td class="left"> response, except that</td><td> </td><td class="right"> response, except that</td><td class="lineno" valign="top"></td></tr> |
---|
512 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
513 | <tr><td class="lineno" valign="top"></td><td class="left"> o any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td> </td><td class="right"> o any stored Warning headers with warn-code 1xx (see Section 3.6)</td><td class="lineno" valign="top"></td></tr> |
---|
514 | <tr><td><a name="diff0034" /></td></tr> |
---|
515 | <tr><td class="lineno" valign="top"></td><td class="lblock"> MUST be <span class="delete">deleted from the stored response and the updated response.</span></td><td> </td><td class="rblock"> MUST be <span class="insert">deleted.</span></td><td class="lineno" valign="top"></td></tr> |
---|
516 | <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> |
---|
517 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o any stored Warning headers with warn-code 2xx MUST be retained in</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
518 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the stored response and the updated response.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
519 | <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> |
---|
520 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> o any headers provided in the new response MUST replace the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
521 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> corresponding headers from the stored response.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
522 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
523 | <tr><td><a name="diff0035" /></td></tr> |
---|
524 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">If a header field-name in the new response matches more than one</span></td><td> </td><td class="rblock"> <span class="insert">o any</span> stored <span class="insert">Warning</span> headers <span class="insert">with warn-code 2xx</span> MUST be <span class="insert">retained.</span></td><td class="lineno" valign="top"></td></tr> |
---|
525 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header in the stored response, all such</span> stored headers MUST be</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
526 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">replaced.</span></td><td> </td><td class="rblock"></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><a name="diff0036" /></td></tr> |
---|
529 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">The updated response can [[TODO-is-req: requirement?]] be used to</span></td><td> </td><td class="rblock"> <span class="insert">o any other headers provided</span> in the <span class="insert">new response MUST replace all</span></td><td class="lineno" valign="top"></td></tr> |
---|
530 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> replace the stored response</span> in <span class="delete">cache. In</span> the <span class="delete">case</span> of <span class="delete">a 206 response,</span></td><td> </td><td class="rblock"><span class="insert"> instances</span> of the <span class="insert">corresponding headers from the stored response.</span></td><td class="lineno" valign="top"></td></tr> |
---|
531 | <tr><td class="lineno" valign="top"></td><td class="lblock"> the <span class="delete">combined entity-body MAY be stored.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
532 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
533 | <tr><td><a name="diff0037" /></td></tr> |
---|
534 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">[[ISSUE-how-head: discuss how</span> to <span class="delete">handle HEAD updates]]</span></td><td> </td><td class="rblock"> <span class="insert">The updated response headers MUST be used</span> to <span class="insert">replace those of the</span></td><td class="lineno" valign="top"></td></tr> |
---|
535 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> stored response in cache (unless the stored response is removed from</span></td><td class="lineno" valign="top"></td></tr> |
---|
536 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> cache). In the case of a 206 response, the combined representation</span></td><td class="lineno" valign="top"></td></tr> |
---|
537 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> MAY be stored.</span></td><td class="lineno" valign="top"></td></tr> |
---|
538 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
539 | <tr><td class="lineno" valign="top"></td><td class="left">3. Header Field Definitions</td><td> </td><td class="right">3. Header Field Definitions</td><td class="lineno" valign="top"></td></tr> |
---|
540 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
541 | <tr><td class="lineno" valign="top"></td><td class="left"> This section defines the syntax and semantics of HTTP/1.1 header</td><td> </td><td class="right"> This section defines the syntax and semantics of HTTP/1.1 header</td><td class="lineno" valign="top"></td></tr> |
---|
542 | <tr><td class="lineno" valign="top"></td><td class="left"> fields related to caching.</td><td> </td><td class="right"> fields related to caching.</td><td class="lineno" valign="top"></td></tr> |
---|
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="diff0038" /></td></tr> |
---|
545 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">For entity-header fields, both sender and recipient refer to either</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
546 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> the client or the server, depending on who sends and who receives the</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
547 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> entity.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
548 | <tr><td class="lineno" valign="top"></td><td class="lblock"> </td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
549 | <tr><td class="lineno" valign="top"></td><td class="left">3.1. Age</td><td> </td><td class="right">3.1. Age</td><td class="lineno" valign="top"></td></tr> |
---|
550 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
551 | <tr><td class="lineno" valign="top"></td><td class="left"> The "Age" response-header field conveys the sender's estimate of the</td><td> </td><td class="right"> The "Age" response-header field conveys the sender's estimate of the</td><td class="lineno" valign="top"></td></tr> |
---|
552 | <tr><td class="lineno" valign="top"></td><td class="left"> amount of time since the response was generated or successfully</td><td> </td><td class="right"> amount of time since the response was generated or successfully</td><td class="lineno" valign="top"></td></tr> |
---|
553 | <tr><td class="lineno" valign="top"></td><td class="left"> validated at the origin server. Age values are calculated as</td><td> </td><td class="right"> validated at the origin server. Age values are calculated as</td><td class="lineno" valign="top"></td></tr> |
---|
554 | <tr><td class="lineno" valign="top"></td><td class="left"> specified in Section 2.3.2.</td><td> </td><td class="right"> specified in Section 2.3.2.</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"> Age = "Age" ":" OWS Age-v</td><td> </td><td class="right"> Age = "Age" ":" OWS Age-v</td><td class="lineno" valign="top"></td></tr> |
---|
557 | <tr><td class="lineno" valign="top"></td><td class="left"> Age-v = delta-seconds</td><td> </td><td class="right"> Age-v = delta-seconds</td><td class="lineno" valign="top"></td></tr> |
---|
558 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
559 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
560 | <tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 18, line 18</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 18, line 4</em></th><td></td></tr> |
---|
561 | <tr><td class="lineno" valign="top"></td><td class="left"> Age-v = delta-seconds</td><td> </td><td class="right"> Age-v = delta-seconds</td><td class="lineno" valign="top"></td></tr> |
---|
562 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
563 | <tr><td class="lineno" valign="top"></td><td class="left"> Age field-values are non-negative integers, representing time in</td><td> </td><td class="right"> Age field-values are non-negative integers, representing time in</td><td class="lineno" valign="top"></td></tr> |
---|
564 | <tr><td class="lineno" valign="top"></td><td class="left"> seconds.</td><td> </td><td class="right"> seconds.</td><td class="lineno" valign="top"></td></tr> |
---|
565 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
566 | <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> |
---|
567 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
568 | <tr><td class="lineno" valign="top"></td><td class="left"> If a cache receives a value larger than the largest positive integer</td><td> </td><td class="right"> If a cache receives a value larger than the largest positive integer</td><td class="lineno" valign="top"></td></tr> |
---|
569 | <tr><td class="lineno" valign="top"></td><td class="left"> it can represent, or if any of its age calculations overflows, it</td><td> </td><td class="right"> it can represent, or if any of its age calculations overflows, it</td><td class="lineno" valign="top"></td></tr> |
---|
570 | <tr><td class="lineno" valign="top"></td><td class="left"> MUST transmit an Age header with a field-value of 2147483648 (2^31).</td><td> </td><td class="right"> MUST transmit an Age header with a field-value of 2147483648 (2^31).</td><td class="lineno" valign="top"></td></tr> |
---|
571 | <tr><td><a name="diff0039" /></td></tr> |
---|
572 | <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> |
---|
573 | <tr><td class="lineno" valign="top"></td><td class="left"> Caches SHOULD use an arithmetic type of at least 31 bits of range.</td><td> </td><td class="right"> Caches SHOULD use an arithmetic type of at least 31 bits of range.</td><td class="lineno" valign="top"></td></tr> |
---|
574 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
575 | <tr><td class="lineno" valign="top"></td><td class="left"> The presence of an Age header field in a response implies that a</td><td> </td><td class="right"> The presence of an Age header field in a response implies that a</td><td class="lineno" valign="top"></td></tr> |
---|
576 | <tr><td class="lineno" valign="top"></td><td class="left"> response is not first-hand. However, the converse is not true, since</td><td> </td><td class="right"> response is not first-hand. However, the converse is not true, since</td><td class="lineno" valign="top"></td></tr> |
---|
577 | <tr><td><a name="diff0040" /></td></tr> |
---|
578 | <tr><td class="lineno" valign="top"></td><td class="lblock"> HTTP/1.0 caches m<span class="delete">ay</span> not implement the Age header field.</td><td> </td><td class="rblock"> HTTP/1.0 caches m<span class="insert">ight</span> not implement the Age header field.</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">3.2. Cache-Control</td><td> </td><td class="right">3.2. Cache-Control</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"> The "Cache-Control" general-header field is used to specify</td><td> </td><td class="right"> The "Cache-Control" general-header field is used to specify</td><td class="lineno" valign="top"></td></tr> |
---|
583 | <tr><td class="lineno" valign="top"></td><td class="left"> directives for caches along the request/response chain. Such cache</td><td> </td><td class="right"> directives for caches along the request/response chain. Such cache</td><td class="lineno" valign="top"></td></tr> |
---|
584 | <tr><td class="lineno" valign="top"></td><td class="left"> directives are unidirectional in that the presence of a directive in</td><td> </td><td class="right"> directives are unidirectional in that the presence of a directive in</td><td class="lineno" valign="top"></td></tr> |
---|
585 | <tr><td class="lineno" valign="top"></td><td class="left"> a request does not imply that the same directive is to be given in</td><td> </td><td class="right"> a request does not imply that the same directive is to be given in</td><td class="lineno" valign="top"></td></tr> |
---|
586 | <tr><td class="lineno" valign="top"></td><td class="left"> the response.</td><td> </td><td class="right"> the response.</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"> HTTP/1.1 caches MUST obey the requirements of the Cache-Control</td><td> </td><td class="right"> HTTP/1.1 caches MUST obey the requirements of the Cache-Control</td><td class="lineno" valign="top"></td></tr> |
---|
589 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
590 | <tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 19, line 38</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 19, line 24</em></th><td></td></tr> |
---|
591 | <tr><td class="lineno" valign="top"></td><td class="left"> store any part of either this request or any response to it. This</td><td> </td><td class="right"> store any part of either this request or any response to it. This</td><td class="lineno" valign="top"></td></tr> |
---|
592 | <tr><td class="lineno" valign="top"></td><td class="left"> directive applies to both non-shared and shared caches. "MUST NOT</td><td> </td><td class="right"> directive applies to both non-shared and shared caches. "MUST NOT</td><td class="lineno" valign="top"></td></tr> |
---|
593 | <tr><td class="lineno" valign="top"></td><td class="left"> store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right"> store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr> |
---|
594 | <tr><td class="lineno" valign="top"></td><td class="left"> store the information in non-volatile storage, and MUST make a</td><td> </td><td class="right"> store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr> |
---|
595 | <tr><td class="lineno" valign="top"></td><td class="left"> best-effort attempt to remove the information from volatile</td><td> </td><td class="right"> best-effort attempt to remove the information from volatile</td><td class="lineno" valign="top"></td></tr> |
---|
596 | <tr><td class="lineno" valign="top"></td><td class="left"> storage as promptly as possible after forwarding it.</td><td> </td><td class="right"> storage as promptly as possible after forwarding it.</td><td class="lineno" valign="top"></td></tr> |
---|
597 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
598 | <tr><td class="lineno" valign="top"></td><td class="left"> This directive is NOT a reliable or sufficient mechanism for</td><td> </td><td class="right"> This directive is NOT a reliable or sufficient mechanism for</td><td class="lineno" valign="top"></td></tr> |
---|
599 | <tr><td class="lineno" valign="top"></td><td class="left"> ensuring privacy. In particular, malicious or compromised caches</td><td> </td><td class="right"> ensuring privacy. In particular, malicious or compromised caches</td><td class="lineno" valign="top"></td></tr> |
---|
600 | <tr><td class="lineno" valign="top"></td><td class="left"> might not recognize or obey this directive, and communications</td><td> </td><td class="right"> might not recognize or obey this directive, and communications</td><td class="lineno" valign="top"></td></tr> |
---|
601 | <tr><td><a name="diff0041" /></td></tr> |
---|
602 | <tr><td class="lineno" valign="top"></td><td class="lblock"> networks m<span class="delete">ay</span> be vulnerable to eavesdropping.</td><td> </td><td class="rblock"> networks m<span class="insert">ight</span> be vulnerable to eavesdropping.</td><td class="lineno" valign="top"></td></tr> |
---|
603 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
604 | <tr><td class="lineno" valign="top"></td><td class="left"> max-age</td><td> </td><td class="right"> max-age</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"> The max-age request directive indicates that the client is willing</td><td> </td><td class="right"> The max-age request directive indicates that the client is willing</td><td class="lineno" valign="top"></td></tr> |
---|
607 | <tr><td class="lineno" valign="top"></td><td class="left"> to accept a response whose age is no greater than the specified</td><td> </td><td class="right"> to accept a response whose age is no greater than the specified</td><td class="lineno" valign="top"></td></tr> |
---|
608 | <tr><td class="lineno" valign="top"></td><td class="left"> time in seconds. Unless the max-stale request directive is also</td><td> </td><td class="right"> time in seconds. Unless the max-stale request directive is also</td><td class="lineno" valign="top"></td></tr> |
---|
609 | <tr><td class="lineno" valign="top"></td><td class="left"> present, the client is not willing to accept a stale response.</td><td> </td><td class="right"> present, the client is not willing to accept a stale response.</td><td class="lineno" valign="top"></td></tr> |
---|
610 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
611 | <tr><td class="lineno" valign="top"></td><td class="left"> max-stale</td><td> </td><td class="right"> max-stale</td><td class="lineno" valign="top"></td></tr> |
---|
612 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
613 | <tr><td class="lineno" valign="top"></td><td class="left"> The max-stale request directive indicates that the client is</td><td> </td><td class="right"> The max-stale request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr> |
---|
614 | <tr><td class="lineno" valign="top"></td><td class="left"> willing to accept a response that has exceeded its expiration</td><td> </td><td class="right"> willing to accept a response that has exceeded its expiration</td><td class="lineno" valign="top"></td></tr> |
---|
615 | <tr><td class="lineno" valign="top"></td><td class="left"> time. If max-stale is assigned a value, then the client is</td><td> </td><td class="right"> time. If max-stale is assigned a value, then the client is</td><td class="lineno" valign="top"></td></tr> |
---|
616 | <tr><td class="lineno" valign="top"></td><td class="left"> willing to accept a response that has exceeded its expiration time</td><td> </td><td class="right"> willing to accept a response that has exceeded its expiration time</td><td class="lineno" valign="top"></td></tr> |
---|
617 | <tr><td class="lineno" valign="top"></td><td class="left"> by no more than the specified number of seconds. If no value is</td><td> </td><td class="right"> by no more than the specified number of seconds. If no value is</td><td class="lineno" valign="top"></td></tr> |
---|
618 | <tr><td class="lineno" valign="top"></td><td class="left"> assigned to max-stale, then the client is willing to accept a</td><td> </td><td class="right"> assigned to max-stale, then the client is willing to accept a</td><td class="lineno" valign="top"></td></tr> |
---|
619 | <tr><td><a name="diff0042" /></td></tr> |
---|
620 | <tr><td class="lineno" valign="top"></td><td class="lblock"> stale response of any age. <span class="delete">[[TODO-staleness: of any staleness?</span></td><td> </td><td class="rblock"> stale response of any age.</td><td class="lineno" valign="top"></td></tr> |
---|
621 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> --mnot]]</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
622 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
623 | <tr><td class="lineno" valign="top"></td><td class="left"> min-fresh</td><td> </td><td class="right"> min-fresh</td><td class="lineno" valign="top"></td></tr> |
---|
624 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
625 | <tr><td class="lineno" valign="top"></td><td class="left"> The min-fresh request directive indicates that the client is</td><td> </td><td class="right"> The min-fresh request directive indicates that the client is</td><td class="lineno" valign="top"></td></tr> |
---|
626 | <tr><td class="lineno" valign="top"></td><td class="left"> willing to accept a response whose freshness lifetime is no less</td><td> </td><td class="right"> willing to accept a response whose freshness lifetime is no less</td><td class="lineno" valign="top"></td></tr> |
---|
627 | <tr><td class="lineno" valign="top"></td><td class="left"> than its current age plus the specified time in seconds. That is,</td><td> </td><td class="right"> than its current age plus the specified time in seconds. That is,</td><td class="lineno" valign="top"></td></tr> |
---|
628 | <tr><td class="lineno" valign="top"></td><td class="left"> the client wants a response that will still be fresh for at least</td><td> </td><td class="right"> the client wants a response that will still be fresh for at least</td><td class="lineno" valign="top"></td></tr> |
---|
629 | <tr><td class="lineno" valign="top"></td><td class="left"> the specified number of seconds.</td><td> </td><td class="right"> the specified number of seconds.</td><td class="lineno" valign="top"></td></tr> |
---|
630 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
631 | <tr><td class="lineno" valign="top"></td><td class="left"> no-transform</td><td> </td><td class="right"> no-transform</td><td class="lineno" valign="top"></td></tr> |
---|
632 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
633 | <tr><td class="lineno" valign="top"></td><td class="left"> The no-transform request directive indicates that an intermediate</td><td> </td><td class="right"> The no-transform request directive indicates that an intermediate</td><td class="lineno" valign="top"></td></tr> |
---|
634 | <tr><td class="lineno" valign="top"></td><td class="left"> cache or proxy MUST NOT change the Content-Encoding, Content-Range</td><td> </td><td class="right"> cache or proxy MUST NOT change the Content-Encoding, Content-Range</td><td class="lineno" valign="top"></td></tr> |
---|
635 | <tr><td><a name="diff0043" /></td></tr> |
---|
636 | <tr><td class="lineno" valign="top"></td><td class="lblock"> or Content-Type request headers, nor the request <span class="delete">entity-body</span>.</td><td> </td><td class="rblock"> or Content-Type request headers, nor the request <span class="insert">representation</span>.</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"> only-if-cached</td><td> </td><td class="right"> only-if-cached</td><td class="lineno" valign="top"></td></tr> |
---|
639 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
640 | <tr><td class="lineno" valign="top"></td><td class="left"> The only-if-cached request directive indicates that the client</td><td> </td><td class="right"> The only-if-cached request directive indicates that the client</td><td class="lineno" valign="top"></td></tr> |
---|
641 | <tr><td class="lineno" valign="top"></td><td class="left"> only wishes to return a stored response. If it receives this</td><td> </td><td class="right"> only wishes to return a stored response. If it receives this</td><td class="lineno" valign="top"></td></tr> |
---|
642 | <tr><td class="lineno" valign="top"></td><td class="left"> directive, a cache SHOULD either respond using a stored response</td><td> </td><td class="right"> directive, a cache SHOULD either respond using a stored response</td><td class="lineno" valign="top"></td></tr> |
---|
643 | <tr><td class="lineno" valign="top"></td><td class="left"> that is consistent with the other constraints of the request, or</td><td> </td><td class="right"> that is consistent with the other constraints of the request, or</td><td class="lineno" valign="top"></td></tr> |
---|
644 | <tr><td><a name="diff0044" /></td></tr> |
---|
645 | <tr><td class="lineno" valign="top"></td><td class="lblock"> respond with a 504 (Gateway Timeout) <span class="delete">status.</span> If a group of caches</td><td> </td><td class="rblock"> respond with a 504 (Gateway Timeout) <span class="insert">status code.</span> If a group of</td><td class="lineno" valign="top"></td></tr> |
---|
646 | <tr><td class="lineno" valign="top"></td><td class="lblock"> is being operated as a unified system with good internal</td><td> </td><td class="rblock"> caches is being operated as a unified system with good internal</td><td class="lineno" valign="top"></td></tr> |
---|
647 | <tr><td class="lineno" valign="top"></td><td class="left"> connectivity, such a request MAY be forwarded within that group of</td><td> </td><td class="right"> connectivity, such a request MAY be forwarded within that group of</td><td class="lineno" valign="top"></td></tr> |
---|
648 | <tr><td class="lineno" valign="top"></td><td class="left"> caches.</td><td> </td><td class="right"> caches.</td><td class="lineno" valign="top"></td></tr> |
---|
649 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
650 | <tr><td class="lineno" valign="top"></td><td class="left">3.2.2. Response Cache-Control Directives</td><td> </td><td class="right">3.2.2. Response Cache-Control Directives</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"> cache-response-directive =</td><td> </td><td class="right"> cache-response-directive =</td><td class="lineno" valign="top"></td></tr> |
---|
653 | <tr><td class="lineno" valign="top"></td><td class="left"> "public"</td><td> </td><td class="right"> "public"</td><td class="lineno" valign="top"></td></tr> |
---|
654 | <tr><td class="lineno" valign="top"></td><td class="left"> / "private" [ "=" DQUOTE 1#field-name DQUOTE ]</td><td> </td><td class="right"> / "private" [ "=" DQUOTE 1#field-name DQUOTE ]</td><td class="lineno" valign="top"></td></tr> |
---|
655 | <tr><td class="lineno" valign="top"></td><td class="left"> / "no-cache" [ "=" DQUOTE 1#field-name DQUOTE ]</td><td> </td><td class="right"> / "no-cache" [ "=" DQUOTE 1#field-name DQUOTE ]</td><td class="lineno" valign="top"></td></tr> |
---|
656 | <tr><td class="lineno" valign="top"></td><td class="left"> / "no-store"</td><td> </td><td class="right"> / "no-store"</td><td class="lineno" valign="top"></td></tr> |
---|
657 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
658 | <tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 21, line 20</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 21, line 7</em></th><td></td></tr> |
---|
659 | <tr><td class="lineno" valign="top"></td><td class="left"> is intended for a single user and MUST NOT be stored by a shared</td><td> </td><td class="right"> is intended for a single user and MUST NOT be stored by a shared</td><td class="lineno" valign="top"></td></tr> |
---|
660 | <tr><td class="lineno" valign="top"></td><td class="left"> cache. A private (non-shared) cache MAY store the response.</td><td> </td><td class="right"> cache. A private (non-shared) cache MAY store the response.</td><td class="lineno" valign="top"></td></tr> |
---|
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"> If the private response directive specifies one or more field-</td><td> </td><td class="right"> If the private response directive specifies one or more field-</td><td class="lineno" valign="top"></td></tr> |
---|
663 | <tr><td class="lineno" valign="top"></td><td class="left"> names, this requirement is limited to the field-values associated</td><td> </td><td class="right"> names, this requirement is limited to the field-values associated</td><td class="lineno" valign="top"></td></tr> |
---|
664 | <tr><td class="lineno" valign="top"></td><td class="left"> with the listed response headers. That is, the specified field-</td><td> </td><td class="right"> with the listed response headers. That is, the specified field-</td><td class="lineno" valign="top"></td></tr> |
---|
665 | <tr><td class="lineno" valign="top"></td><td class="left"> names(s) MUST NOT be stored by a shared cache, whereas the</td><td> </td><td class="right"> names(s) MUST NOT be stored by a shared cache, whereas the</td><td class="lineno" valign="top"></td></tr> |
---|
666 | <tr><td class="lineno" valign="top"></td><td class="left"> remainder of the response message MAY be.</td><td> </td><td class="right"> remainder of the response message MAY be.</td><td class="lineno" valign="top"></td></tr> |
---|
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 class="lineno" valign="top"></td><td class="left"> Note: This usage of the word private only controls where the</td><td> </td><td class="right"> Note: This usage of the word private only controls where the</td><td class="lineno" valign="top"></td></tr> |
---|
669 | <tr><td><a name="diff0045" /></td></tr> |
---|
670 | <tr><td class="lineno" valign="top"></td><td class="lblock"> response <span class="delete">may be stored, and</span> cannot ensure the privacy of the</td><td> </td><td class="rblock"> response <span class="insert">can be stored; it</span> cannot ensure the privacy of the</td><td class="lineno" valign="top"></td></tr> |
---|
671 | <tr><td class="lineno" valign="top"></td><td class="left"> message content. Also, private response directives with field-</td><td> </td><td class="right"> message content. Also, private response directives with field-</td><td class="lineno" valign="top"></td></tr> |
---|
672 | <tr><td class="lineno" valign="top"></td><td class="left"> names are often handled by implementations as if an unqualified</td><td> </td><td class="right"> names are often handled by implementations as if an unqualified</td><td class="lineno" valign="top"></td></tr> |
---|
673 | <tr><td class="lineno" valign="top"></td><td class="left"> private directive was received; i.e., the special handling for the</td><td> </td><td class="right"> private directive was received; i.e., the special handling for the</td><td class="lineno" valign="top"></td></tr> |
---|
674 | <tr><td class="lineno" valign="top"></td><td class="left"> qualified form is not widely implemented.</td><td> </td><td class="right"> qualified form is not widely implemented.</td><td class="lineno" valign="top"></td></tr> |
---|
675 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
676 | <tr><td class="lineno" valign="top"></td><td class="left"> no-cache</td><td> </td><td class="right"> no-cache</td><td class="lineno" valign="top"></td></tr> |
---|
677 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
678 | <tr><td class="lineno" valign="top"></td><td class="left"> The no-cache response directive indicates that the response MUST</td><td> </td><td class="right"> The no-cache response directive indicates that the response MUST</td><td class="lineno" valign="top"></td></tr> |
---|
679 | <tr><td class="lineno" valign="top"></td><td class="left"> NOT be used to satisfy a subsequent request without successful</td><td> </td><td class="right"> NOT be used to satisfy a subsequent request without successful</td><td class="lineno" valign="top"></td></tr> |
---|
680 | <tr><td class="lineno" valign="top"></td><td class="left"> validation on the origin server. This allows an origin server to</td><td> </td><td class="right"> validation on the origin server. This allows an origin server to</td><td class="lineno" valign="top"></td></tr> |
---|
681 | <tr><td><a name="diff0046" /></td></tr> |
---|
682 | <tr><td class="lineno" valign="top"></td><td class="lblock"> prevent <span class="delete">caching</span> even by caches that have been configured to return</td><td> </td><td class="rblock"> prevent <span class="insert">a cache from using it to satisfy a request without</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"> contacting it,</span> even by caches that have been configured to return</td><td class="lineno" valign="top"></td></tr> |
---|
684 | <tr><td class="lineno" valign="top"></td><td class="left"> stale responses.</td><td> </td><td class="right"> stale responses.</td><td class="lineno" valign="top"></td></tr> |
---|
685 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
686 | <tr><td class="lineno" valign="top"></td><td class="left"> If the no-cache response directive specifies one or more field-</td><td> </td><td class="right"> If the no-cache response directive specifies one or more field-</td><td class="lineno" valign="top"></td></tr> |
---|
687 | <tr><td class="lineno" valign="top"></td><td class="left"> names, this requirement is limited to the field-values associated</td><td> </td><td class="right"> names, this requirement is limited to the field-values associated</td><td class="lineno" valign="top"></td></tr> |
---|
688 | <tr><td class="lineno" valign="top"></td><td class="left"> with the listed response headers. That is, the specified field-</td><td> </td><td class="right"> with the listed response headers. That is, the specified field-</td><td class="lineno" valign="top"></td></tr> |
---|
689 | <tr><td class="lineno" valign="top"></td><td class="left"> name(s) MUST NOT be sent in the response to a subsequent request</td><td> </td><td class="right"> name(s) MUST NOT be sent in the response to a subsequent request</td><td class="lineno" valign="top"></td></tr> |
---|
690 | <tr><td class="lineno" valign="top"></td><td class="left"> without successful validation on the origin server. This allows</td><td> </td><td class="right"> without successful validation on the origin server. This allows</td><td class="lineno" valign="top"></td></tr> |
---|
691 | <tr><td class="lineno" valign="top"></td><td class="left"> an origin server to prevent the re-use of certain header fields in</td><td> </td><td class="right"> an origin server to prevent the re-use of certain header fields in</td><td class="lineno" valign="top"></td></tr> |
---|
692 | <tr><td class="lineno" valign="top"></td><td class="left"> a response, while still allowing caching of the rest of the</td><td> </td><td class="right"> a response, while still allowing caching of the rest of the</td><td class="lineno" valign="top"></td></tr> |
---|
693 | <tr><td class="lineno" valign="top"></td><td class="left"> response.</td><td> </td><td class="right"> response.</td><td class="lineno" valign="top"></td></tr> |
---|
694 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
695 | <tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 22, line 18</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 21, line 50</em></th><td></td></tr> |
---|
696 | <tr><td class="lineno" valign="top"></td><td class="left"> store any part of either the immediate request or response. This</td><td> </td><td class="right"> store any part of either the immediate request or response. This</td><td class="lineno" valign="top"></td></tr> |
---|
697 | <tr><td class="lineno" valign="top"></td><td class="left"> directive applies to both non-shared and shared caches. "MUST NOT</td><td> </td><td class="right"> directive applies to both non-shared and shared caches. "MUST NOT</td><td class="lineno" valign="top"></td></tr> |
---|
698 | <tr><td class="lineno" valign="top"></td><td class="left"> store" in this context means that the cache MUST NOT intentionally</td><td> </td><td class="right"> store" in this context means that the cache MUST NOT intentionally</td><td class="lineno" valign="top"></td></tr> |
---|
699 | <tr><td class="lineno" valign="top"></td><td class="left"> store the information in non-volatile storage, and MUST make a</td><td> </td><td class="right"> store the information in non-volatile storage, and MUST make a</td><td class="lineno" valign="top"></td></tr> |
---|
700 | <tr><td class="lineno" valign="top"></td><td class="left"> best-effort attempt to remove the information from volatile</td><td> </td><td class="right"> best-effort attempt to remove the information from volatile</td><td class="lineno" valign="top"></td></tr> |
---|
701 | <tr><td class="lineno" valign="top"></td><td class="left"> storage as promptly as possible after forwarding it.</td><td> </td><td class="right"> storage as promptly as possible after forwarding it.</td><td class="lineno" valign="top"></td></tr> |
---|
702 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
703 | <tr><td class="lineno" valign="top"></td><td class="left"> This directive is NOT a reliable or sufficient mechanism for</td><td> </td><td class="right"> This directive is NOT a reliable or sufficient mechanism for</td><td class="lineno" valign="top"></td></tr> |
---|
704 | <tr><td class="lineno" valign="top"></td><td class="left"> ensuring privacy. In particular, malicious or compromised caches</td><td> </td><td class="right"> ensuring privacy. In particular, malicious or compromised caches</td><td class="lineno" valign="top"></td></tr> |
---|
705 | <tr><td class="lineno" valign="top"></td><td class="left"> might not recognize or obey this directive, and communications</td><td> </td><td class="right"> might not recognize or obey this directive, and communications</td><td class="lineno" valign="top"></td></tr> |
---|
706 | <tr><td><a name="diff0047" /></td></tr> |
---|
707 | <tr><td class="lineno" valign="top"></td><td class="lblock"> networks m<span class="delete">ay</span> be vulnerable to eavesdropping.</td><td> </td><td class="rblock"> networks m<span class="insert">ight</span> be vulnerable to eavesdropping.</td><td class="lineno" valign="top"></td></tr> |
---|
708 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
709 | <tr><td class="lineno" valign="top"></td><td class="left"> must-revalidate</td><td> </td><td class="right"> must-revalidate</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"> The must-revalidate response directive indicates that once it has</td><td> </td><td class="right"> The must-revalidate response directive indicates that once it has</td><td class="lineno" valign="top"></td></tr> |
---|
712 | <tr><td class="lineno" valign="top"></td><td class="left"> become stale, the response MUST NOT be used to satisfy subsequent</td><td> </td><td class="right"> become stale, the response MUST NOT be used to satisfy subsequent</td><td class="lineno" valign="top"></td></tr> |
---|
713 | <tr><td class="lineno" valign="top"></td><td class="left"> requests without successful validation on the origin server.</td><td> </td><td class="right"> requests without successful validation on the origin server.</td><td class="lineno" valign="top"></td></tr> |
---|
714 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
715 | <tr><td class="lineno" valign="top"></td><td class="left"> The must-revalidate directive is necessary to support reliable</td><td> </td><td class="right"> The must-revalidate directive is necessary to support reliable</td><td class="lineno" valign="top"></td></tr> |
---|
716 | <tr><td class="lineno" valign="top"></td><td class="left"> operation for certain protocol features. In all circumstances an</td><td> </td><td class="right"> operation for certain protocol features. In all circumstances an</td><td class="lineno" valign="top"></td></tr> |
---|
717 | <tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.1 cache MUST obey the must-revalidate directive; in</td><td> </td><td class="right"> HTTP/1.1 cache MUST obey the must-revalidate directive; in</td><td class="lineno" valign="top"></td></tr> |
---|
718 | <tr><td class="lineno" valign="top"></td><td class="left"> particular, if the cache cannot reach the origin server for any</td><td> </td><td class="right"> particular, if the cache cannot reach the origin server for any</td><td class="lineno" valign="top"></td></tr> |
---|
719 | <tr><td class="lineno" valign="top"></td><td class="left"> reason, it MUST generate a 504 (Gateway Timeout) response.</td><td> </td><td class="right"> reason, it MUST generate a 504 (Gateway Timeout) response.</td><td class="lineno" valign="top"></td></tr> |
---|
720 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
721 | <tr><td class="lineno" valign="top"></td><td class="left"> Servers SHOULD send the must-revalidate directive if and only if</td><td> </td><td class="right"> Servers SHOULD send the must-revalidate directive if and only if</td><td class="lineno" valign="top"></td></tr> |
---|
722 | <tr><td><a name="diff0048" /></td></tr> |
---|
723 | <tr><td class="lineno" valign="top"></td><td class="lblock"> failure to validate a request on the <span class="delete">entity</span> could result in</td><td> </td><td class="rblock"> failure to validate a request on the <span class="insert">representation</span> could result</td><td class="lineno" valign="top"></td></tr> |
---|
724 | <tr><td class="lineno" valign="top"></td><td class="lblock"> incorrect operation, such as a silently unexecuted financial</td><td> </td><td class="rblock"> in incorrect operation, such as a silently unexecuted financial</td><td class="lineno" valign="top"></td></tr> |
---|
725 | <tr><td class="lineno" valign="top"></td><td class="left"> transaction.</td><td> </td><td class="right"> transaction.</td><td class="lineno" valign="top"></td></tr> |
---|
726 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
727 | <tr><td class="lineno" valign="top"></td><td class="left"> proxy-revalidate</td><td> </td><td class="right"> proxy-revalidate</td><td class="lineno" valign="top"></td></tr> |
---|
728 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
729 | <tr><td class="lineno" valign="top"></td><td class="left"> The proxy-revalidate response directive has the same meaning as</td><td> </td><td class="right"> The proxy-revalidate response directive has the same meaning as</td><td class="lineno" valign="top"></td></tr> |
---|
730 | <tr><td class="lineno" valign="top"></td><td class="left"> the must-revalidate response directive, except that it does not</td><td> </td><td class="right"> the must-revalidate response directive, except that it does not</td><td class="lineno" valign="top"></td></tr> |
---|
731 | <tr><td class="lineno" valign="top"></td><td class="left"> apply to non-shared caches.</td><td> </td><td class="right"> apply to non-shared caches.</td><td class="lineno" valign="top"></td></tr> |
---|
732 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
733 | <tr><td class="lineno" valign="top"></td><td class="left"> max-age</td><td> </td><td class="right"> max-age</td><td class="lineno" valign="top"></td></tr> |
---|
734 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
735 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
736 | <tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 23, line 12</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 22, line 46</em></th><td></td></tr> |
---|
737 | <tr><td class="lineno" valign="top"></td><td class="left"> The s-maxage response directive indicates that, in shared caches,</td><td> </td><td class="right"> The s-maxage response directive indicates that, in shared caches,</td><td class="lineno" valign="top"></td></tr> |
---|
738 | <tr><td class="lineno" valign="top"></td><td class="left"> the maximum age specified by this directive overrides the maximum</td><td> </td><td class="right"> the maximum age specified by this directive overrides the maximum</td><td class="lineno" valign="top"></td></tr> |
---|
739 | <tr><td class="lineno" valign="top"></td><td class="left"> age specified by either the max-age directive or the Expires</td><td> </td><td class="right"> age specified by either the max-age directive or the Expires</td><td class="lineno" valign="top"></td></tr> |
---|
740 | <tr><td class="lineno" valign="top"></td><td class="left"> header. The s-maxage directive also implies the semantics of the</td><td> </td><td class="right"> header. The s-maxage directive also implies the semantics of the</td><td class="lineno" valign="top"></td></tr> |
---|
741 | <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> |
---|
742 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
743 | <tr><td class="lineno" valign="top"></td><td class="left"> no-transform</td><td> </td><td class="right"> no-transform</td><td class="lineno" valign="top"></td></tr> |
---|
744 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
745 | <tr><td class="lineno" valign="top"></td><td class="left"> The no-transform response directive indicates that an intermediate</td><td> </td><td class="right"> The no-transform response directive indicates that an intermediate</td><td class="lineno" valign="top"></td></tr> |
---|
746 | <tr><td class="lineno" valign="top"></td><td class="left"> cache or proxy MUST NOT change the Content-Encoding, Content-Range</td><td> </td><td class="right"> cache or proxy MUST NOT change the Content-Encoding, Content-Range</td><td class="lineno" valign="top"></td></tr> |
---|
747 | <tr><td><a name="diff0049" /></td></tr> |
---|
748 | <tr><td class="lineno" valign="top"></td><td class="lblock"> or Content-Type response headers, nor the response <span class="delete">entity-body</span>.</td><td> </td><td class="rblock"> or Content-Type response headers, nor the response <span class="insert">representation</span>.</td><td class="lineno" valign="top"></td></tr> |
---|
749 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
750 | <tr><td class="lineno" valign="top"></td><td class="left">3.2.3. Cache Control Extensions</td><td> </td><td class="right">3.2.3. Cache Control Extensions</td><td class="lineno" valign="top"></td></tr> |
---|
751 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
752 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
753 | <tr><td class="lineno" valign="top"></td><td class="left"> or more cache-extension tokens, each with an optional value.</td><td> </td><td class="right"> or more cache-extension tokens, each with an optional value.</td><td class="lineno" valign="top"></td></tr> |
---|
754 | <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> |
---|
755 | <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> |
---|
756 | <tr><td class="lineno" valign="top"></td><td class="left"> directives. Behavioral extensions are designed to work by acting as</td><td> </td><td class="right"> directives. Behavioral extensions are designed to work by acting as</td><td class="lineno" valign="top"></td></tr> |
---|
757 | <tr><td class="lineno" valign="top"></td><td class="left"> modifiers to the existing base of cache directives. Both the new</td><td> </td><td class="right"> modifiers to the existing base of cache directives. Both the new</td><td class="lineno" valign="top"></td></tr> |
---|
758 | <tr><td class="lineno" valign="top"></td><td class="left"> directive and the standard directive are supplied, such that</td><td> </td><td class="right"> directive and the standard directive are supplied, such that</td><td class="lineno" valign="top"></td></tr> |
---|
759 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
760 | <tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 24, line 25</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 24, line 10</em></th><td></td></tr> |
---|
761 | <tr><td class="lineno" valign="top"></td><td class="left"> o Pointer to specification text</td><td> </td><td class="right"> o Pointer to specification text</td><td class="lineno" valign="top"></td></tr> |
---|
762 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
763 | <tr><td class="lineno" valign="top"></td><td class="left"> Values to be added to this name space are subject to IETF review</td><td> </td><td class="right"> Values to be added to this name space are subject to IETF review</td><td class="lineno" valign="top"></td></tr> |
---|
764 | <tr><td class="lineno" valign="top"></td><td class="left"> ([RFC5226], Section 4.1).</td><td> </td><td class="right"> ([RFC5226], Section 4.1).</td><td class="lineno" valign="top"></td></tr> |
---|
765 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
766 | <tr><td class="lineno" valign="top"></td><td class="left"> The registry itself is maintained at</td><td> </td><td class="right"> The registry itself is maintained at</td><td class="lineno" valign="top"></td></tr> |
---|
767 | <tr><td class="lineno" valign="top"></td><td class="left"> <http://www.iana.org/assignments/http-cache-directives>.</td><td> </td><td class="right"> <http://www.iana.org/assignments/http-cache-directives>.</td><td class="lineno" valign="top"></td></tr> |
---|
768 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
769 | <tr><td class="lineno" valign="top"></td><td class="left">3.3. Expires</td><td> </td><td class="right">3.3. Expires</td><td class="lineno" valign="top"></td></tr> |
---|
770 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
771 | <tr><td><a name="diff0050" /></td></tr> |
---|
772 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The "Expires" <span class="delete">entity-</span>header field gives the date/time after which the</td><td> </td><td class="rblock"> The "Expires" header field gives the date/time after which the</td><td class="lineno" valign="top"></td></tr> |
---|
773 | <tr><td class="lineno" valign="top"></td><td class="left"> response is considered stale. See Section 2.3 for further discussion</td><td> </td><td class="right"> response is considered stale. See Section 2.3 for further discussion</td><td class="lineno" valign="top"></td></tr> |
---|
774 | <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> |
---|
775 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
776 | <tr><td class="lineno" valign="top"></td><td class="left"> 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> |
---|
777 | <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> |
---|
778 | <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> |
---|
779 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
780 | <tr><td class="lineno" valign="top"></td><td class="left"> The field-value is an absolute date and time as defined by HTTP-date</td><td> </td><td class="right"> The field-value is an absolute date and time as defined by HTTP-date</td><td class="lineno" valign="top"></td></tr> |
---|
781 | <tr><td class="lineno" valign="top"></td><td class="left"> in Section 6.1 of [Part1]; it MUST be sent in rfc1123-date format.</td><td> </td><td class="right"> in Section 6.1 of [Part1]; it MUST be sent in rfc1123-date format.</td><td class="lineno" valign="top"></td></tr> |
---|
782 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
783 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
784 | <tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 26, line 25</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 26, line 9</em></th><td></td></tr> |
---|
785 | <tr><td class="lineno" valign="top"></td><td class="left"> resource. A server MAY include a Vary header field with a non-</td><td> </td><td class="right"> resource. A server MAY include a Vary header field with a non-</td><td class="lineno" valign="top"></td></tr> |
---|
786 | <tr><td class="lineno" valign="top"></td><td class="left"> cacheable response that is subject to server-driven negotiation,</td><td> </td><td class="right"> cacheable response that is subject to server-driven negotiation,</td><td class="lineno" valign="top"></td></tr> |
---|
787 | <tr><td class="lineno" valign="top"></td><td class="left"> since this might provide the user agent with useful information about</td><td> </td><td class="right"> since this might provide the user agent with useful information about</td><td class="lineno" valign="top"></td></tr> |
---|
788 | <tr><td class="lineno" valign="top"></td><td class="left"> the dimensions over which the response varies at the time of the</td><td> </td><td class="right"> the dimensions over which the response varies at the time of the</td><td class="lineno" valign="top"></td></tr> |
---|
789 | <tr><td class="lineno" valign="top"></td><td class="left"> response.</td><td> </td><td class="right"> response.</td><td class="lineno" valign="top"></td></tr> |
---|
790 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
791 | <tr><td class="lineno" valign="top"></td><td class="left"> A Vary field value of "*" signals that unspecified parameters not</td><td> </td><td class="right"> A Vary field value of "*" signals that unspecified parameters not</td><td class="lineno" valign="top"></td></tr> |
---|
792 | <tr><td class="lineno" valign="top"></td><td class="left"> limited to the request-headers (e.g., the network address of the</td><td> </td><td class="right"> limited to the request-headers (e.g., the network address of the</td><td class="lineno" valign="top"></td></tr> |
---|
793 | <tr><td class="lineno" valign="top"></td><td class="left"> client), play a role in the selection of the response representation;</td><td> </td><td class="right"> client), play a role in the selection of the response representation;</td><td class="lineno" valign="top"></td></tr> |
---|
794 | <tr><td class="lineno" valign="top"></td><td class="left"> therefore, a cache cannot determine whether this response is</td><td> </td><td class="right"> therefore, a cache cannot determine whether this response is</td><td class="lineno" valign="top"></td></tr> |
---|
795 | <tr><td><a name="diff0051" /></td></tr> |
---|
796 | <tr><td class="lineno" valign="top"></td><td class="lblock"> appropriate. The "*" value MUST NOT be generated by a proxy <span class="delete">server;</span></td><td> </td><td class="rblock"> appropriate. The "*" value MUST NOT be generated by a proxy server.</td><td class="lineno" valign="top"></td></tr> |
---|
797 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> it may only be generated by an origin</span> server.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
798 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
799 | <tr><td class="lineno" valign="top"></td><td class="left"> The field-names given are not limited to the set of standard request-</td><td> </td><td class="right"> The field-names given are not limited to the set of standard request-</td><td class="lineno" valign="top"></td></tr> |
---|
800 | <tr><td class="lineno" valign="top"></td><td class="left"> header fields defined by this specification. Field names are case-</td><td> </td><td class="right"> header fields defined by this specification. Field names are case-</td><td class="lineno" valign="top"></td></tr> |
---|
801 | <tr><td class="lineno" valign="top"></td><td class="left"> insensitive.</td><td> </td><td class="right"> insensitive.</td><td class="lineno" valign="top"></td></tr> |
---|
802 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
803 | <tr><td class="lineno" valign="top"></td><td class="left">3.6. Warning</td><td> </td><td class="right">3.6. Warning</td><td class="lineno" valign="top"></td></tr> |
---|
804 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
805 | <tr><td class="lineno" valign="top"></td><td class="left"> The "Warning" general-header field is used to carry additional</td><td> </td><td class="right"> The "Warning" general-header field is used to carry additional</td><td class="lineno" valign="top"></td></tr> |
---|
806 | <tr><td class="lineno" valign="top"></td><td class="left"> information about the status or transformation of a message that</td><td> </td><td class="right"> information about the status or transformation of a message that</td><td class="lineno" valign="top"></td></tr> |
---|
807 | <tr><td class="lineno" valign="top"></td><td class="left"> might not be reflected in the message. This information is typically</td><td> </td><td class="right"> might not be reflected in the message. This information is typically</td><td class="lineno" valign="top"></td></tr> |
---|
808 | <tr><td class="lineno" valign="top"></td><td class="left"> used to warn about possible incorrectness introduced by caching</td><td> </td><td class="right"> used to warn about possible incorrectness introduced by caching</td><td class="lineno" valign="top"></td></tr> |
---|
809 | <tr><td><a name="diff0052" /></td></tr> |
---|
810 | <tr><td class="lineno" valign="top"></td><td class="lblock"> operations or transformations applied to the <span class="delete">entity body</span> of the</td><td> </td><td class="rblock"> operations or transformations applied to the <span class="insert">payload</span> of the message.</td><td class="lineno" valign="top"></td></tr> |
---|
811 | <tr><td class="lineno" valign="top"></td><td class="lblock"> message.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
812 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
813 | <tr><td class="lineno" valign="top"></td><td class="left"> Warnings can be used for other purposes, both cache-related and</td><td> </td><td class="right"> Warnings can be used for other purposes, both cache-related and</td><td class="lineno" valign="top"></td></tr> |
---|
814 | <tr><td class="lineno" valign="top"></td><td class="left"> otherwise. The use of a warning, rather than an error status code,</td><td> </td><td class="right"> otherwise. The use of a warning, rather than an error status code,</td><td class="lineno" valign="top"></td></tr> |
---|
815 | <tr><td class="lineno" valign="top"></td><td class="left"> distinguishes these responses from true failures.</td><td> </td><td class="right"> distinguishes these responses from true failures.</td><td class="lineno" valign="top"></td></tr> |
---|
816 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
817 | <tr><td class="lineno" valign="top"></td><td class="left"> Warning headers can in general be applied to any message, however</td><td> </td><td class="right"> Warning headers can in general be applied to any message, however</td><td class="lineno" valign="top"></td></tr> |
---|
818 | <tr><td class="lineno" valign="top"></td><td class="left"> some warn-codes are specific to caches and can only be applied to</td><td> </td><td class="right"> some warn-codes are specific to caches and can only be applied to</td><td class="lineno" valign="top"></td></tr> |
---|
819 | <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> |
---|
820 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
821 | <tr><td class="lineno" valign="top"></td><td class="left"> Warning = "Warning" ":" OWS Warning-v</td><td> </td><td class="right"> Warning = "Warning" ":" OWS Warning-v</td><td class="lineno" valign="top"></td></tr> |
---|
822 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
823 | <tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 27, line 38</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 27, line 15</em></th><td></td></tr> |
---|
824 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
825 | <tr><td class="lineno" valign="top"></td><td class="left"> Warnings are assigned three digit warn-codes. The first digit</td><td> </td><td class="right"> Warnings are assigned three digit warn-codes. The first digit</td><td class="lineno" valign="top"></td></tr> |
---|
826 | <tr><td class="lineno" valign="top"></td><td class="left"> indicates whether the Warning is required to be deleted from a stored</td><td> </td><td class="right"> indicates whether the Warning is required to be deleted from a stored</td><td class="lineno" valign="top"></td></tr> |
---|
827 | <tr><td class="lineno" valign="top"></td><td class="left"> response after validation:</td><td> </td><td class="right"> response after validation:</td><td class="lineno" valign="top"></td></tr> |
---|
828 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
829 | <tr><td class="lineno" valign="top"></td><td class="left"> o 1xx Warnings describe the freshness or validation status of the</td><td> </td><td class="right"> o 1xx Warnings describe the freshness or validation status of the</td><td class="lineno" valign="top"></td></tr> |
---|
830 | <tr><td class="lineno" valign="top"></td><td class="left"> response, and so MUST be deleted by caches after validation. They</td><td> </td><td class="right"> response, and so MUST be deleted by caches after validation. They</td><td class="lineno" valign="top"></td></tr> |
---|
831 | <tr><td class="lineno" valign="top"></td><td class="left"> can only be generated by a cache when validating a cached entry,</td><td> </td><td class="right"> can only be generated by a cache when validating a cached entry,</td><td class="lineno" valign="top"></td></tr> |
---|
832 | <tr><td class="lineno" valign="top"></td><td class="left"> and MUST NOT be generated in any other situation.</td><td> </td><td class="right"> and MUST NOT be generated in any other situation.</td><td class="lineno" valign="top"></td></tr> |
---|
833 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
834 | <tr><td><a name="diff0053" /></td></tr> |
---|
835 | <tr><td class="lineno" valign="top"></td><td class="lblock"> o 2xx Warnings describe some aspect of the <span class="delete">entity body or entity</span></td><td> </td><td class="rblock"> o 2xx Warnings describe some aspect of the <span class="insert">representation</span> that is</td><td class="lineno" valign="top"></td></tr> |
---|
836 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> headers</span> that is not rectified by a validation (for example, a</td><td> </td><td class="rblock"> not rectified by a validation (for example, a lossy compression of</td><td class="lineno" valign="top"></td></tr> |
---|
837 | <tr><td class="lineno" valign="top"></td><td class="lblock"> lossy compression of the <span class="delete">entity bodies)</span> and MUST NOT be deleted by</td><td> </td><td class="rblock"> the <span class="insert">representation)</span> and MUST NOT be deleted by caches after</td><td class="lineno" valign="top"></td></tr> |
---|
838 | <tr><td class="lineno" valign="top"></td><td class="lblock"> caches after validation, unless a full response is returned, in</td><td> </td><td class="rblock"> validation, unless a full response is returned, in which case they</td><td class="lineno" valign="top"></td></tr> |
---|
839 | <tr><td class="lineno" valign="top"></td><td class="lblock"> which case they MUST be.</td><td> </td><td class="rblock"> MUST be.</td><td class="lineno" valign="top"></td></tr> |
---|
840 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
841 | <tr><td class="lineno" valign="top"></td><td class="left"> If an implementation sends a message with one or more Warning headers</td><td> </td><td class="right"> If an implementation sends a message with one or more Warning headers</td><td class="lineno" valign="top"></td></tr> |
---|
842 | <tr><td class="lineno" valign="top"></td><td class="left"> to a receiver whose version is HTTP/1.0 or lower, then the sender</td><td> </td><td class="right"> to a receiver whose version is HTTP/1.0 or lower, then the sender</td><td class="lineno" valign="top"></td></tr> |
---|
843 | <tr><td class="lineno" valign="top"></td><td class="left"> MUST include in each warning-value a warn-date that matches the Date</td><td> </td><td class="right"> MUST include in each warning-value a warn-date that matches the Date</td><td class="lineno" valign="top"></td></tr> |
---|
844 | <tr><td class="lineno" valign="top"></td><td class="left"> header in the message.</td><td> </td><td class="right"> header in the message.</td><td class="lineno" valign="top"></td></tr> |
---|
845 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
846 | <tr><td class="lineno" valign="top"></td><td class="left"> If an implementation receives a message with a warning-value that</td><td> </td><td class="right"> If an implementation receives a message with a warning-value that</td><td class="lineno" valign="top"></td></tr> |
---|
847 | <tr><td class="lineno" valign="top"></td><td class="left"> includes a warn-date, and that warn-date is different from the Date</td><td> </td><td class="right"> includes a warn-date, and that warn-date is different from the Date</td><td class="lineno" valign="top"></td></tr> |
---|
848 | <tr><td class="lineno" valign="top"></td><td class="left"> value in the response, then that warning-value MUST be deleted from</td><td> </td><td class="right"> value in the response, then that warning-value MUST be deleted from</td><td class="lineno" valign="top"></td></tr> |
---|
849 | <tr><td class="lineno" valign="top"></td><td class="left"> the message before storing, forwarding, or using it. (preventing the</td><td> </td><td class="right"> the message before storing, forwarding, or using it. (preventing the</td><td class="lineno" valign="top"></td></tr> |
---|
850 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
851 | <tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 28, line 41</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 28, line 20</em></th><td></td></tr> |
---|
852 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
853 | <tr><td class="lineno" valign="top"></td><td class="left"> 199 Miscellaneous warning</td><td> </td><td class="right"> 199 Miscellaneous warning</td><td class="lineno" valign="top"></td></tr> |
---|
854 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
855 | <tr><td class="lineno" valign="top"></td><td class="left"> The warning text can include arbitrary information to be presented</td><td> </td><td class="right"> The warning text can include arbitrary information to be presented</td><td class="lineno" valign="top"></td></tr> |
---|
856 | <tr><td class="lineno" valign="top"></td><td class="left"> to a human user, or logged. A system receiving this warning MUST</td><td> </td><td class="right"> to a human user, or logged. A system receiving this warning MUST</td><td class="lineno" valign="top"></td></tr> |
---|
857 | <tr><td class="lineno" valign="top"></td><td class="left"> NOT take any automated action, besides presenting the warning to</td><td> </td><td class="right"> NOT take any automated action, besides presenting the warning to</td><td class="lineno" valign="top"></td></tr> |
---|
858 | <tr><td class="lineno" valign="top"></td><td class="left"> the user.</td><td> </td><td class="right"> the user.</td><td class="lineno" valign="top"></td></tr> |
---|
859 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
860 | <tr><td class="lineno" valign="top"></td><td class="left"> 214 Transformation applied</td><td> </td><td class="right"> 214 Transformation applied</td><td class="lineno" valign="top"></td></tr> |
---|
861 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
862 | <tr><td><a name="diff0054" /></td></tr> |
---|
863 | <tr><td class="lineno" valign="top"></td><td class="lblock"> MUST be added by an intermediate <span class="delete">cache or</span> proxy if it applies any</td><td> </td><td class="rblock"> MUST be added by an intermediate proxy if it applies any</td><td class="lineno" valign="top"></td></tr> |
---|
864 | <tr><td class="lineno" valign="top"></td><td class="lblock"> transformation <span class="delete">changing</span> the <span class="delete">content-coding (as specified in the</span></td><td> </td><td class="rblock"> transformation <span class="insert">to</span> the <span class="insert">representation, such as changing</span> the</td><td class="lineno" valign="top"></td></tr> |
---|
865 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content-Encoding header) or media-type (as specified in the</span></td><td> </td><td class="rblock"> <span class="insert">content-coding, media-type,</span> or <span class="insert">modifying</span> the <span class="insert">representation data,</span></td><td class="lineno" valign="top"></td></tr> |
---|
866 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Content-Type header) of</span> the <span class="delete">response,</span> or the <span class="delete">entity-body of the</span></td><td> </td><td class="rblock"> unless this Warning code already appears in the response.</td><td class="lineno" valign="top"></td></tr> |
---|
867 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> response,</span> unless this Warning code already appears in the</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
868 | <tr><td class="lineno" valign="top"></td><td class="lblock"> response.</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
869 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
870 | <tr><td class="lineno" valign="top"></td><td class="left"> 299 Miscellaneous persistent warning</td><td> </td><td class="right"> 299 Miscellaneous persistent warning</td><td class="lineno" valign="top"></td></tr> |
---|
871 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
872 | <tr><td class="lineno" valign="top"></td><td class="left"> The warning text can include arbitrary information to be presented</td><td> </td><td class="right"> The warning text can include arbitrary information to be presented</td><td class="lineno" valign="top"></td></tr> |
---|
873 | <tr><td class="lineno" valign="top"></td><td class="left"> to a human user, or logged. A system receiving this warning MUST</td><td> </td><td class="right"> to a human user, or logged. A system receiving this warning MUST</td><td class="lineno" valign="top"></td></tr> |
---|
874 | <tr><td class="lineno" valign="top"></td><td class="left"> NOT take any automated action.</td><td> </td><td class="right"> NOT take any automated action.</td><td class="lineno" valign="top"></td></tr> |
---|
875 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
876 | <tr><td class="lineno" valign="top"></td><td class="left">4. History Lists</td><td> </td><td class="right">4. History Lists</td><td class="lineno" valign="top"></td></tr> |
---|
877 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
878 | <tr><td class="lineno" valign="top"></td><td class="left"> User agents often have history mechanisms, such as "Back" buttons and</td><td> </td><td class="right"> User agents often have history mechanisms, such as "Back" buttons and</td><td class="lineno" valign="top"></td></tr> |
---|
879 | <tr><td><a name="diff0055" /></td></tr> |
---|
880 | <tr><td class="lineno" valign="top"></td><td class="lblock"> history lists, that can be used to redisplay <span class="delete">an entity</span> retrieved</td><td> </td><td class="rblock"> history lists, that can be used to redisplay <span class="insert">a representation</span></td><td class="lineno" valign="top"></td></tr> |
---|
881 | <tr><td class="lineno" valign="top"></td><td class="lblock"> earlier in a session.</td><td> </td><td class="rblock"> retrieved earlier in a session.</td><td class="lineno" valign="top"></td></tr> |
---|
882 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
883 | <tr><td class="lineno" valign="top"></td><td class="left"> The freshness model (Section 2.3) does not necessarily apply to</td><td> </td><td class="right"> The freshness model (Section 2.3) does not necessarily apply to</td><td class="lineno" valign="top"></td></tr> |
---|
884 | <tr><td class="lineno" valign="top"></td><td class="left"> history mechanisms. I.e., a history mechanism can display a previous</td><td> </td><td class="right"> history mechanisms. I.e., a history mechanism can display a previous</td><td class="lineno" valign="top"></td></tr> |
---|
885 | <tr><td class="lineno" valign="top"></td><td class="left"> representation even if it has expired.</td><td> </td><td class="right"> representation even if it has expired.</td><td class="lineno" valign="top"></td></tr> |
---|
886 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
887 | <tr><td class="lineno" valign="top"></td><td class="left"> This does not prohibit the history mechanism from telling the user</td><td> </td><td class="right"> This does not prohibit the history mechanism from telling the user</td><td class="lineno" valign="top"></td></tr> |
---|
888 | <tr><td class="lineno" valign="top"></td><td class="left"> that a view might be stale, or from honoring cache directives (e.g.,</td><td> </td><td class="right"> that a view might be stale, or from honoring cache directives (e.g.,</td><td class="lineno" valign="top"></td></tr> |
---|
889 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control: no-store).</td><td> </td><td class="right"> Cache-Control: no-store).</td><td class="lineno" valign="top"></td></tr> |
---|
890 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
891 | <tr><td class="lineno" valign="top"></td><td class="left">5. IANA Considerations</td><td> </td><td class="right">5. IANA Considerations</td><td class="lineno" valign="top"></td></tr> |
---|
892 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
893 | <tr><td class="lineno" valign="top"></td><td class="left">5.1. Cache Directive Registry</td><td> </td><td class="right">5.1. Cache Directive Registry</td><td class="lineno" valign="top"></td></tr> |
---|
894 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
895 | <tr><td class="lineno" valign="top"></td><td class="left"> The registration procedure for HTTP Cache Directives is defined by</td><td> </td><td class="right"> The registration procedure for HTTP Cache Directives is defined by</td><td class="lineno" valign="top"></td></tr> |
---|
896 | <tr><td class="lineno" valign="top"></td><td class="left"> Section 3.2.3 of this document.</td><td> </td><td class="right"> Section 3.2.3 of this document.</td><td class="lineno" valign="top"></td></tr> |
---|
897 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
898 | <tr><td><a name="diff0056" /></td></tr> |
---|
899 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The HTTP Cache Directive Registry sh<span class="delete">ould</span> be created at</td><td> </td><td class="rblock"> The HTTP Cache Directive Registry sh<span class="insert">all</span> be created at</td><td class="lineno" valign="top"></td></tr> |
---|
900 | <tr><td class="lineno" valign="top"></td><td class="left"> <http://www.iana.org/assignments/http-cache-directives> and be</td><td> </td><td class="right"> <http://www.iana.org/assignments/http-cache-directives> and be</td><td class="lineno" valign="top"></td></tr> |
---|
901 | <tr><td class="lineno" valign="top"></td><td class="left"> populated with the registrations below:</td><td> </td><td class="right"> populated with the registrations below:</td><td class="lineno" valign="top"></td></tr> |
---|
902 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
903 | <tr><td class="lineno" valign="top"></td><td class="left"> +------------------------+------------------------------+</td><td> </td><td class="right"> +------------------------+------------------------------+</td><td class="lineno" valign="top"></td></tr> |
---|
904 | <tr><td class="lineno" valign="top"></td><td class="left"> | Cache Directive | Reference |</td><td> </td><td class="right"> | Cache Directive | Reference |</td><td class="lineno" valign="top"></td></tr> |
---|
905 | <tr><td class="lineno" valign="top"></td><td class="left"> +------------------------+------------------------------+</td><td> </td><td class="right"> +------------------------+------------------------------+</td><td class="lineno" valign="top"></td></tr> |
---|
906 | <tr><td class="lineno" valign="top"></td><td class="left"> | max-age | Section 3.2.1, Section 3.2.2 |</td><td> </td><td class="right"> | max-age | Section 3.2.1, Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
907 | <tr><td class="lineno" valign="top"></td><td class="left"> | max-stale | Section 3.2.1 |</td><td> </td><td class="right"> | max-stale | Section 3.2.1 |</td><td class="lineno" valign="top"></td></tr> |
---|
908 | <tr><td class="lineno" valign="top"></td><td class="left"> | min-fresh | Section 3.2.1 |</td><td> </td><td class="right"> | min-fresh | Section 3.2.1 |</td><td class="lineno" valign="top"></td></tr> |
---|
909 | <tr><td class="lineno" valign="top"></td><td class="left"> | must-revalidate | Section 3.2.2 |</td><td> </td><td class="right"> | must-revalidate | Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
910 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
911 | <tr bgcolor="gray" ><td></td><th><a name="part-l19" /><small>skipping to change at</small><em> page 30, line 5</em></th><th> </th><th><a name="part-r19" /><small>skipping to change at</small><em> page 29, line 26</em></th><td></td></tr> |
---|
912 | <tr><td class="lineno" valign="top"></td><td class="left"> | no-transform | Section 3.2.1, Section 3.2.2 |</td><td> </td><td class="right"> | no-transform | Section 3.2.1, Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
913 | <tr><td class="lineno" valign="top"></td><td class="left"> | only-if-cached | Section 3.2.1 |</td><td> </td><td class="right"> | only-if-cached | Section 3.2.1 |</td><td class="lineno" valign="top"></td></tr> |
---|
914 | <tr><td class="lineno" valign="top"></td><td class="left"> | private | Section 3.2.2 |</td><td> </td><td class="right"> | private | Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
915 | <tr><td class="lineno" valign="top"></td><td class="left"> | proxy-revalidate | Section 3.2.2 |</td><td> </td><td class="right"> | proxy-revalidate | Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
916 | <tr><td class="lineno" valign="top"></td><td class="left"> | public | Section 3.2.2 |</td><td> </td><td class="right"> | public | Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
917 | <tr><td class="lineno" valign="top"></td><td class="left"> | s-maxage | Section 3.2.2 |</td><td> </td><td class="right"> | s-maxage | Section 3.2.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
918 | <tr><td class="lineno" valign="top"></td><td class="left"> | stale-if-error | [RFC5861], Section 4 |</td><td> </td><td class="right"> | stale-if-error | [RFC5861], Section 4 |</td><td class="lineno" valign="top"></td></tr> |
---|
919 | <tr><td class="lineno" valign="top"></td><td class="left"> | stale-while-revalidate | [RFC5861], Section 3 |</td><td> </td><td class="right"> | stale-while-revalidate | [RFC5861], Section 3 |</td><td class="lineno" valign="top"></td></tr> |
---|
920 | <tr><td class="lineno" valign="top"></td><td class="left"> +------------------------+------------------------------+</td><td> </td><td class="right"> +------------------------+------------------------------+</td><td class="lineno" valign="top"></td></tr> |
---|
921 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
922 | <tr><td><a name="diff0057" /></td></tr> |
---|
923 | <tr><td class="lineno" valign="top"></td><td class="lblock">5.2. <span class="delete">Message Header</span> Registration</td><td> </td><td class="rblock">5.2. <span class="insert">Header Field</span> Registration</td><td class="lineno" valign="top"></td></tr> |
---|
924 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
925 | <tr><td><a name="diff0058" /></td></tr> |
---|
926 | <tr><td class="lineno" valign="top"></td><td class="lblock"> The Message Header Registry located at <http://www.iana.org/</td><td> </td><td class="rblock"> The Message Header <span class="insert">Field</span> Registry located at <http://www.iana.org/</td><td class="lineno" valign="top"></td></tr> |
---|
927 | <tr><td class="lineno" valign="top"></td><td class="lblock"> assignments/message-headers/message-header-index.html> <span class="delete">should</span> be</td><td> </td><td class="rblock"> assignments/message-headers/message-header-index.html> <span class="insert">shall</span> be</td><td class="lineno" valign="top"></td></tr> |
---|
928 | <tr><td class="lineno" valign="top"></td><td class="left"> updated with the permanent registrations below (see [RFC3864]):</td><td> </td><td class="right"> updated with the permanent registrations below (see [RFC3864]):</td><td class="lineno" valign="top"></td></tr> |
---|
929 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
930 | <tr><td class="lineno" valign="top"></td><td class="left"> +-------------------+----------+----------+-------------+</td><td> </td><td class="right"> +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr> |
---|
931 | <tr><td class="lineno" valign="top"></td><td class="left"> | Header Field Name | Protocol | Status | Reference |</td><td> </td><td class="right"> | Header Field Name | Protocol | Status | Reference |</td><td class="lineno" valign="top"></td></tr> |
---|
932 | <tr><td class="lineno" valign="top"></td><td class="left"> +-------------------+----------+----------+-------------+</td><td> </td><td class="right"> +-------------------+----------+----------+-------------+</td><td class="lineno" valign="top"></td></tr> |
---|
933 | <tr><td class="lineno" valign="top"></td><td class="left"> | Age | http | standard | Section 3.1 |</td><td> </td><td class="right"> | Age | http | standard | Section 3.1 |</td><td class="lineno" valign="top"></td></tr> |
---|
934 | <tr><td class="lineno" valign="top"></td><td class="left"> | Cache-Control | http | standard | Section 3.2 |</td><td> </td><td class="right"> | Cache-Control | http | standard | Section 3.2 |</td><td class="lineno" valign="top"></td></tr> |
---|
935 | <tr><td class="lineno" valign="top"></td><td class="left"> | Expires | http | standard | Section 3.3 |</td><td> </td><td class="right"> | Expires | http | standard | Section 3.3 |</td><td class="lineno" valign="top"></td></tr> |
---|
936 | <tr><td class="lineno" valign="top"></td><td class="left"> | Pragma | http | standard | Section 3.4 |</td><td> </td><td class="right"> | Pragma | http | standard | Section 3.4 |</td><td class="lineno" valign="top"></td></tr> |
---|
937 | <tr><td class="lineno" valign="top"></td><td class="left"> | Vary | http | standard | Section 3.5 |</td><td> </td><td class="right"> | Vary | http | standard | Section 3.5 |</td><td class="lineno" valign="top"></td></tr> |
---|
938 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
939 | <tr bgcolor="gray" ><td></td><th><a name="part-l20" /><small>skipping to change at</small><em> page 30, line 32</em></th><th> </th><th><a name="part-r20" /><small>skipping to change at</small><em> page 30, line 5</em></th><td></td></tr> |
---|
940 | <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> |
---|
941 | <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> |
---|
942 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
943 | <tr><td class="lineno" valign="top"></td><td class="left">6. Security Considerations</td><td> </td><td class="right">6. Security Considerations</td><td class="lineno" valign="top"></td></tr> |
---|
944 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
945 | <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> |
---|
946 | <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> |
---|
947 | <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> |
---|
948 | <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> |
---|
949 | <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> |
---|
950 | <tr><td><a name="diff0059" /></td></tr> |
---|
951 | <tr><td class="lineno" valign="top"></td><td class="lblock"> network. Therefore, cache contents <span class="delete">should</span> be protected as sensitive</td><td> </td><td class="rblock"> network. Therefore, cache contents <span class="insert">need to</span> be protected as sensitive</td><td class="lineno" valign="top"></td></tr> |
---|
952 | <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> |
---|
953 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
954 | <tr><td class="lineno" valign="top"></td><td class="left">7. Acknowledgments</td><td> </td><td class="right">7. Acknowledgments</td><td class="lineno" valign="top"></td></tr> |
---|
955 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
956 | <tr><td class="lineno" valign="top"></td><td class="left"> Much of the content and presentation of the caching design is due to</td><td> </td><td class="right"> Much of the content and presentation of the caching design is due to</td><td class="lineno" valign="top"></td></tr> |
---|
957 | <tr><td class="lineno" valign="top"></td><td class="left"> suggestions and comments from individuals including: Shel Kaphan,</td><td> </td><td class="right"> suggestions and comments from individuals including: Shel Kaphan,</td><td class="lineno" valign="top"></td></tr> |
---|
958 | <tr><td class="lineno" valign="top"></td><td class="left"> Paul Leach, Koen Holtman, David Morris, and Larry Masinter.</td><td> </td><td class="right"> Paul Leach, Koen Holtman, David Morris, and Larry Masinter.</td><td class="lineno" valign="top"></td></tr> |
---|
959 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
960 | <tr><td class="lineno" valign="top"></td><td class="left">8. References</td><td> </td><td class="right">8. References</td><td class="lineno" valign="top"></td></tr> |
---|
961 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
962 | <tr><td class="lineno" valign="top"></td><td class="left">8.1. Normative References</td><td> </td><td class="right">8.1. Normative References</td><td class="lineno" valign="top"></td></tr> |
---|
963 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
964 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right"> [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr> |
---|
965 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> |
---|
966 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,</td><td class="lineno" valign="top"></td></tr> |
---|
967 | <tr><td><a name="diff0060" /></td></tr> |
---|
968 | <tr><td class="lineno" valign="top"></td><td class="lblock"> and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-10</span></td><td> </td><td class="rblock"> and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-11</span></td><td class="lineno" valign="top"></td></tr> |
---|
969 | <tr><td class="lineno" valign="top"></td><td class="lblock"> (work in progress), <span class="delete">July</span> 2010.</td><td> </td><td class="rblock"> (work in progress), <span class="insert">August</span> 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
970 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
971 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part2] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right"> [Part2] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr> |
---|
972 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> |
---|
973 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 2: Message</td><td class="lineno" valign="top"></td></tr> |
---|
974 | <tr><td><a name="diff0061" /></td></tr> |
---|
975 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-10</span> (work in</td><td> </td><td class="rblock"> Semantics", <span class="insert">draft-ietf-httpbis-p2-semantics-11</span> (work in</td><td class="lineno" valign="top"></td></tr> |
---|
976 | <tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">July</span> 2010.</td><td> </td><td class="rblock"> progress), <span class="insert">August</span> 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
977 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
978 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right"> [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr> |
---|
979 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> |
---|
980 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional</td><td class="lineno" valign="top"></td></tr> |
---|
981 | <tr><td><a name="diff0062" /></td></tr> |
---|
982 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-10</span> (work in</td><td> </td><td class="rblock"> Requests", <span class="insert">draft-ietf-httpbis-p4-conditional-11</span> (work in</td><td class="lineno" valign="top"></td></tr> |
---|
983 | <tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">July</span> 2010.</td><td> </td><td class="rblock"> progress), <span class="insert">August</span> 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
984 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
985 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right"> [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr> |
---|
986 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> |
---|
987 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and</td><td class="lineno" valign="top"></td></tr> |
---|
988 | <tr><td><a name="diff0063" /></td></tr> |
---|
989 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Partial Responses", <span class="delete">draft-ietf-httpbis-p5-range-10</span> (work</td><td> </td><td class="rblock"> Partial Responses", <span class="insert">draft-ietf-httpbis-p5-range-11</span> (work</td><td class="lineno" valign="top"></td></tr> |
---|
990 | <tr><td class="lineno" valign="top"></td><td class="lblock"> in progress), <span class="delete">July</span> 2010.</td><td> </td><td class="rblock"> in progress), <span class="insert">August</span> 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
991 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
992 | <tr><td class="lineno" valign="top"></td><td class="left"> [Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td> </td><td class="right"> [Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,</td><td class="lineno" valign="top"></td></tr> |
---|
993 | <tr><td class="lineno" valign="top"></td><td class="left"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td> </td><td class="right"> Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,</td><td class="lineno" valign="top"></td></tr> |
---|
994 | <tr><td class="lineno" valign="top"></td><td class="left"> and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication",</td><td> </td><td class="right"> and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication",</td><td class="lineno" valign="top"></td></tr> |
---|
995 | <tr><td><a name="diff0064" /></td></tr> |
---|
996 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">draft-ietf-httpbis-p7-auth-10</span> (work in progress),</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p7-auth-11</span> (work in progress),</td><td class="lineno" valign="top"></td></tr> |
---|
997 | <tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">July</span> 2010.</td><td> </td><td class="rblock"> <span class="insert">August</span> 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
998 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
999 | <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> |
---|
1000 | <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> |
---|
1001 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1002 | <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> |
---|
1003 | <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> |
---|
1004 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1005 | <tr><td class="lineno" valign="top"></td><td class="left">8.2. Informative References</td><td> </td><td class="right">8.2. Informative References</td><td class="lineno" valign="top"></td></tr> |
---|
1006 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1007 | <tr><td class="lineno" valign="top"></td><td class="left"> [RFC1305] Mills, D., "Network Time Protocol (Version 3)</td><td> </td><td class="right"> [RFC1305] Mills, D., "Network Time Protocol (Version 3)</td><td class="lineno" valign="top"></td></tr> |
---|
1008 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
1009 | <tr bgcolor="gray" ><td></td><th><a name="part-l21" /><small>skipping to change at</small><em> page 32, line 5</em></th><th> </th><th><a name="part-r21" /><small>skipping to change at</small><em> page 31, line 26</em></th><td></td></tr> |
---|
1010 | <tr><td class="lineno" valign="top"></td><td class="left"> Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td> </td><td class="right"> Procedures for Message Header Fields", BCP 90, RFC 3864,</td><td class="lineno" valign="top"></td></tr> |
---|
1011 | <tr><td class="lineno" valign="top"></td><td class="left"> September 2004.</td><td> </td><td class="right"> September 2004.</td><td class="lineno" valign="top"></td></tr> |
---|
1012 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1013 | <tr><td class="lineno" valign="top"></td><td class="left"> [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td> </td><td class="right"> [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an</td><td class="lineno" valign="top"></td></tr> |
---|
1014 | <tr><td class="lineno" valign="top"></td><td class="left"> IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td> </td><td class="right"> IANA Considerations Section in RFCs", BCP 26, RFC 5226,</td><td class="lineno" valign="top"></td></tr> |
---|
1015 | <tr><td class="lineno" valign="top"></td><td class="left"> May 2008.</td><td> </td><td class="right"> May 2008.</td><td class="lineno" valign="top"></td></tr> |
---|
1016 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1017 | <tr><td class="lineno" valign="top"></td><td class="left"> [RFC5861] Nottingham, M., "HTTP Cache-Control Extensions for Stale</td><td> </td><td class="right"> [RFC5861] Nottingham, M., "HTTP Cache-Control Extensions for Stale</td><td class="lineno" valign="top"></td></tr> |
---|
1018 | <tr><td class="lineno" valign="top"></td><td class="left"> Content", RFC 5861, April 2010.</td><td> </td><td class="right"> Content", RFC 5861, April 2010.</td><td class="lineno" valign="top"></td></tr> |
---|
1019 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1020 | <tr><td><a name="diff0065" /></td></tr> |
---|
1021 | <tr><td class="lineno" valign="top"></td><td class="lblock">Appendix A. <span class="delete">Compatibility with Previous Versions</span></td><td> </td><td class="rblock">Appendix A. Changes from RFC 2616</td><td class="lineno" valign="top"></td></tr> |
---|
1022 | <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> |
---|
1023 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">A.1. Changes from RFC 2068</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1024 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1025 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> A case was missed in the Cache-Control model of HTTP/1.1; s-maxage</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1026 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> was introduced to add this missing case. (Sections 2.1, 3.2).</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1027 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1028 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Range request responses would become very verbose if all meta-data</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1029 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> were always returned; by allowing the server to only send needed</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1030 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> headers in a 206 response, this problem can be avoided.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1031 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 2.8)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1032 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1033 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> The Cache-Control: max-age directive was not properly defined for</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1034 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> responses. (Section 3.2.2)</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1035 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1036 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Warnings could be cached incorrectly, or not updated appropriately.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1037 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> (Section 2.3, 2.8, 3.2, and 3.6) Warning also needed to be a general</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1038 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> header, as PUT or other methods may have need for it in requests.</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1039 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1040 | <tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete">A.2.</span> Changes from RFC 2616</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr> |
---|
1041 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1042 | <tr><td class="lineno" valign="top"></td><td class="left"> Make the specified age calculation algorithm less conservative.</td><td> </td><td class="right"> Make the specified age calculation algorithm less conservative.</td><td class="lineno" valign="top"></td></tr> |
---|
1043 | <tr><td class="lineno" valign="top"></td><td class="left"> (Section 2.3.2)</td><td> </td><td class="right"> (Section 2.3.2)</td><td class="lineno" valign="top"></td></tr> |
---|
1044 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1045 | <tr><td class="lineno" valign="top"></td><td class="left"> Remove requirement to consider Content-Location in successful</td><td> </td><td class="right"> Remove requirement to consider Content-Location in successful</td><td class="lineno" valign="top"></td></tr> |
---|
1046 | <tr><td class="lineno" valign="top"></td><td class="left"> responses in order to determine the appropriate response to use.</td><td> </td><td class="right"> responses in order to determine the appropriate response to use.</td><td class="lineno" valign="top"></td></tr> |
---|
1047 | <tr><td class="lineno" valign="top"></td><td class="left"> (Section 2.4)</td><td> </td><td class="right"> (Section 2.4)</td><td class="lineno" valign="top"></td></tr> |
---|
1048 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1049 | <tr><td class="lineno" valign="top"></td><td class="left"> Clarify denial of service attack avoidance requirement.</td><td> </td><td class="right"> Clarify denial of service attack avoidance requirement.</td><td class="lineno" valign="top"></td></tr> |
---|
1050 | <tr><td class="lineno" valign="top"></td><td class="left"> (Section 2.5)</td><td> </td><td class="right"> (Section 2.5)</td><td class="lineno" valign="top"></td></tr> |
---|
1051 | <tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr> |
---|
1052 | <tr bgcolor="gray" ><td></td><th><a name="part-l22" /><small>skipping to change at</small><em> page 38, line 8</em></th><th> </th><th><a name="part-r22" /><small>skipping to change at</small><em> page 37, line 10</em></th><td></td></tr> |
---|
1053 | <tr><td class="lineno" valign="top"></td><td class="left"> for cache-control directives"</td><td> </td><td class="right"> for cache-control directives"</td><td class="lineno" valign="top"></td></tr> |
---|
1054 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1055 | <tr><td class="lineno" valign="top"></td><td class="left"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/211>: "Heuristic</td><td> </td><td class="right"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/211>: "Heuristic</td><td class="lineno" valign="top"></td></tr> |
---|
1056 | <tr><td class="lineno" valign="top"></td><td class="left"> caching of URLs with query components"</td><td> </td><td class="right"> caching of URLs with query components"</td><td class="lineno" valign="top"></td></tr> |
---|
1057 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1058 | <tr><td class="lineno" valign="top"></td><td class="left"> Partly resolved issues:</td><td> </td><td class="right"> Partly resolved issues:</td><td class="lineno" valign="top"></td></tr> |
---|
1059 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1060 | <tr><td class="lineno" valign="top"></td><td class="left"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/196>: "Term for the</td><td> </td><td class="right"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/196>: "Term for the</td><td class="lineno" valign="top"></td></tr> |
---|
1061 | <tr><td class="lineno" valign="top"></td><td class="left"> requested resource's URI"</td><td> </td><td class="right"> requested resource's URI"</td><td class="lineno" valign="top"></td></tr> |
---|
1062 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1063 | <tr><td><a name="diff0066" /></td></tr> |
---|
1064 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">C.12. Since draft-ietf-httpbis-p6-cache-10</span></td><td class="lineno" valign="top"></td></tr> |
---|
1065 | <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> |
---|
1066 | <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> |
---|
1067 | <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> |
---|
1068 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/109>: "Clarify</span></td><td class="lineno" valign="top"></td></tr> |
---|
1069 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> entity / representation / variant terminology"</span></td><td class="lineno" valign="top"></td></tr> |
---|
1070 | <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> |
---|
1071 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/220>: "consider</span></td><td class="lineno" valign="top"></td></tr> |
---|
1072 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> removing the 'changes from 2068' sections"</span></td><td class="lineno" valign="top"></td></tr> |
---|
1073 | <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> |
---|
1074 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/223>: "Allowing</span></td><td class="lineno" valign="top"></td></tr> |
---|
1075 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> heuristic caching for new status codes"</span></td><td class="lineno" valign="top"></td></tr> |
---|
1076 | <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> |
---|
1077 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o <http://tools.ietf.org/wg/httpbis/trac/ticket/223>: "Allowing</span></td><td class="lineno" valign="top"></td></tr> |
---|
1078 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> heuristic caching for new status codes"</span></td><td class="lineno" valign="top"></td></tr> |
---|
1079 | <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> |
---|
1080 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> o Clean up TODOs and prose in "Combining Responses."</span></td><td class="lineno" valign="top"></td></tr> |
---|
1081 | <tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno" valign="top"></td></tr> |
---|
1082 | <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> |
---|
1083 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1084 | <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> |
---|
1085 | <tr><td class="lineno" valign="top"></td><td class="left"> age 6</td><td> </td><td class="right"> age 6</td><td class="lineno" valign="top"></td></tr> |
---|
1086 | <tr><td class="lineno" valign="top"></td><td class="left"> Age header 17</td><td> </td><td class="right"> Age header 17</td><td class="lineno" valign="top"></td></tr> |
---|
1087 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1088 | <tr><td class="lineno" valign="top"></td><td class="left"> C</td><td> </td><td class="right"> C</td><td class="lineno" valign="top"></td></tr> |
---|
1089 | <tr><td class="lineno" valign="top"></td><td class="left"> cache 5</td><td> </td><td class="right"> cache 5</td><td class="lineno" valign="top"></td></tr> |
---|
1090 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directives</td><td> </td><td class="right"> Cache Directives</td><td class="lineno" valign="top"></td></tr> |
---|
1091 | <tr><td class="lineno" valign="top"></td><td class="left"> max-age 19, 22</td><td> </td><td class="right"> max-age 19, 22</td><td class="lineno" valign="top"></td></tr> |
---|
1092 | <tr><td class="lineno" valign="top"></td><td class="left"> max-stale 19</td><td> </td><td class="right"> max-stale 19</td><td class="lineno" valign="top"></td></tr> |
---|
1093 | <tr><td><a name="diff0067" /></td></tr> |
---|
1094 | <tr><td class="lineno" valign="top"></td><td class="lblock"> min-fresh <span class="delete">20</span></td><td> </td><td class="rblock"> min-fresh <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr> |
---|
1095 | <tr><td class="lineno" valign="top"></td><td class="left"> must-revalidate 22</td><td> </td><td class="right"> must-revalidate 22</td><td class="lineno" valign="top"></td></tr> |
---|
1096 | <tr><td class="lineno" valign="top"></td><td class="left"> no-cache 19, 21</td><td> </td><td class="right"> no-cache 19, 21</td><td class="lineno" valign="top"></td></tr> |
---|
1097 | <tr><td><a name="diff0068" /></td></tr> |
---|
1098 | <tr><td class="lineno" valign="top"></td><td class="lblock"> no-store 19, <span class="delete">22</span></td><td> </td><td class="rblock"> no-store 19, <span class="insert">21</span></td><td class="lineno" valign="top"></td></tr> |
---|
1099 | <tr><td class="lineno" valign="top"></td><td class="lblock"> no-transform 20, <span class="delete">23</span></td><td> </td><td class="rblock"> no-transform 20, <span class="insert">22</span></td><td class="lineno" valign="top"></td></tr> |
---|
1100 | <tr><td class="lineno" valign="top"></td><td class="left"> only-if-cached 20</td><td> </td><td class="right"> only-if-cached 20</td><td class="lineno" valign="top"></td></tr> |
---|
1101 | <tr><td><a name="diff0069" /></td></tr> |
---|
1102 | <tr><td class="lineno" valign="top"></td><td class="lblock"> private 2<span class="delete">1</span></td><td> </td><td class="rblock"> private 2<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr> |
---|
1103 | <tr><td class="lineno" valign="top"></td><td class="left"> proxy-revalidate 22</td><td> </td><td class="right"> proxy-revalidate 22</td><td class="lineno" valign="top"></td></tr> |
---|
1104 | <tr><td class="lineno" valign="top"></td><td class="left"> public 20</td><td> </td><td class="right"> public 20</td><td class="lineno" valign="top"></td></tr> |
---|
1105 | <tr><td class="lineno" valign="top"></td><td class="left"> s-maxage 22</td><td> </td><td class="right"> s-maxage 22</td><td class="lineno" valign="top"></td></tr> |
---|
1106 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control header 18</td><td> </td><td class="right"> Cache-Control header 18</td><td class="lineno" valign="top"></td></tr> |
---|
1107 | <tr><td class="lineno" valign="top"></td><td class="left"> cacheable 5</td><td> </td><td class="right"> cacheable 5</td><td class="lineno" valign="top"></td></tr> |
---|
1108 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1109 | <tr><td class="lineno" valign="top"></td><td class="left"> E</td><td> </td><td class="right"> E</td><td class="lineno" valign="top"></td></tr> |
---|
1110 | <tr><td class="lineno" valign="top"></td><td class="left"> Expires header 24</td><td> </td><td class="right"> Expires header 24</td><td class="lineno" valign="top"></td></tr> |
---|
1111 | <tr><td class="lineno" valign="top"></td><td class="left"> explicit expiration time 5</td><td> </td><td class="right"> explicit expiration time 5</td><td class="lineno" valign="top"></td></tr> |
---|
1112 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1113 | <tr><td class="lineno" valign="top"></td><td class="left"> F</td><td> </td><td class="right"> F</td><td class="lineno" valign="top"></td></tr> |
---|
1114 | <tr><td class="lineno" valign="top"></td><td class="left"> first-hand 6</td><td> </td><td class="right"> first-hand 6</td><td class="lineno" valign="top"></td></tr> |
---|
1115 | <tr><td class="lineno" valign="top"></td><td class="left"> fresh 6</td><td> </td><td class="right"> fresh 6</td><td class="lineno" valign="top"></td></tr> |
---|
1116 | <tr><td class="lineno" valign="top"></td><td class="left"> freshness lifetime 6</td><td> </td><td class="right"> freshness lifetime 6</td><td class="lineno" valign="top"></td></tr> |
---|
1117 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1118 | <tr><td class="lineno" valign="top"></td><td class="left"> G</td><td> </td><td class="right"> G</td><td class="lineno" valign="top"></td></tr> |
---|
1119 | <tr><td class="lineno" valign="top"></td><td class="left"> Grammar</td><td> </td><td class="right"> Grammar</td><td class="lineno" valign="top"></td></tr> |
---|
1120 | <tr><td><a name="diff0070" /></td></tr> |
---|
1121 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Age <span class="delete">18</span></td><td> </td><td class="rblock"> Age <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> |
---|
1122 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Age-v <span class="delete">18</span></td><td> </td><td class="rblock"> Age-v <span class="insert">17</span></td><td class="lineno" valign="top"></td></tr> |
---|
1123 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control 18</td><td> </td><td class="right"> Cache-Control 18</td><td class="lineno" valign="top"></td></tr> |
---|
1124 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control-v 18</td><td> </td><td class="right"> Cache-Control-v 18</td><td class="lineno" valign="top"></td></tr> |
---|
1125 | <tr><td class="lineno" valign="top"></td><td class="left"> cache-extension 18</td><td> </td><td class="right"> cache-extension 18</td><td class="lineno" valign="top"></td></tr> |
---|
1126 | <tr><td><a name="diff0071" /></td></tr> |
---|
1127 | <tr><td class="lineno" valign="top"></td><td class="lblock"> cache-request-directive 1<span class="delete">9</span></td><td> </td><td class="rblock"> cache-request-directive 1<span class="insert">8</span></td><td class="lineno" valign="top"></td></tr> |
---|
1128 | <tr><td class="lineno" valign="top"></td><td class="left"> cache-response-directive 20</td><td> </td><td class="right"> cache-response-directive 20</td><td class="lineno" valign="top"></td></tr> |
---|
1129 | <tr><td><a name="diff0072" /></td></tr> |
---|
1130 | <tr><td class="lineno" valign="top"></td><td class="lblock"> delta-seconds 1<span class="delete">8</span></td><td> </td><td class="rblock"> delta-seconds 1<span class="insert">7</span></td><td class="lineno" valign="top"></td></tr> |
---|
1131 | <tr><td class="lineno" valign="top"></td><td class="left"> Expires 24</td><td> </td><td class="right"> Expires 24</td><td class="lineno" valign="top"></td></tr> |
---|
1132 | <tr><td class="lineno" valign="top"></td><td class="left"> Expires-v 24</td><td> </td><td class="right"> Expires-v 24</td><td class="lineno" valign="top"></td></tr> |
---|
1133 | <tr><td><a name="diff0073" /></td></tr> |
---|
1134 | <tr><td class="lineno" valign="top"></td><td class="lblock"> extension-pragma <span class="delete">25</span></td><td> </td><td class="rblock"> extension-pragma <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr> |
---|
1135 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma <span class="delete">25</span></td><td> </td><td class="rblock"> Pragma <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr> |
---|
1136 | <tr><td class="lineno" valign="top"></td><td class="lblock"> pragma-directive <span class="delete">25</span></td><td> </td><td class="rblock"> pragma-directive <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr> |
---|
1137 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma-v <span class="delete">25</span></td><td> </td><td class="rblock"> Pragma-v <span class="insert">24</span></td><td class="lineno" valign="top"></td></tr> |
---|
1138 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Vary <span class="delete">26</span></td><td> </td><td class="rblock"> Vary <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr> |
---|
1139 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Vary-v <span class="delete">26</span></td><td> </td><td class="rblock"> Vary-v <span class="insert">25</span></td><td class="lineno" valign="top"></td></tr> |
---|
1140 | <tr><td class="lineno" valign="top"></td><td class="lblock"> warn-agent <span class="delete">27</span></td><td> </td><td class="rblock"> warn-agent <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1141 | <tr><td class="lineno" valign="top"></td><td class="lblock"> warn-code <span class="delete">27</span></td><td> </td><td class="rblock"> warn-code <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1142 | <tr><td class="lineno" valign="top"></td><td class="lblock"> warn-date <span class="delete">27</span></td><td> </td><td class="rblock"> warn-date <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1143 | <tr><td class="lineno" valign="top"></td><td class="lblock"> warn-text <span class="delete">27</span></td><td> </td><td class="rblock"> warn-text <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1144 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Warning <span class="delete">27</span></td><td> </td><td class="rblock"> Warning <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1145 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Warning-v <span class="delete">27</span></td><td> </td><td class="rblock"> Warning-v <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1146 | <tr><td class="lineno" valign="top"></td><td class="lblock"> warning-value <span class="delete">27</span></td><td> </td><td class="rblock"> warning-value <span class="insert">26</span></td><td class="lineno" valign="top"></td></tr> |
---|
1147 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1148 | <tr><td class="lineno" valign="top"></td><td class="left"> H</td><td> </td><td class="right"> H</td><td class="lineno" valign="top"></td></tr> |
---|
1149 | <tr><td class="lineno" valign="top"></td><td class="left"> Headers</td><td> </td><td class="right"> Headers</td><td class="lineno" valign="top"></td></tr> |
---|
1150 | <tr><td class="lineno" valign="top"></td><td class="left"> Age 17</td><td> </td><td class="right"> Age 17</td><td class="lineno" valign="top"></td></tr> |
---|
1151 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control 18</td><td> </td><td class="right"> Cache-Control 18</td><td class="lineno" valign="top"></td></tr> |
---|
1152 | <tr><td class="lineno" valign="top"></td><td class="left"> Expires 24</td><td> </td><td class="right"> Expires 24</td><td class="lineno" valign="top"></td></tr> |
---|
1153 | <tr><td><a name="diff0074" /></td></tr> |
---|
1154 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma 2<span class="delete">5</span></td><td> </td><td class="rblock"> Pragma 2<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr> |
---|
1155 | <tr><td class="lineno" valign="top"></td><td class="left"> Vary 25</td><td> </td><td class="right"> Vary 25</td><td class="lineno" valign="top"></td></tr> |
---|
1156 | <tr><td class="lineno" valign="top"></td><td class="left"> Warning 26</td><td> </td><td class="right"> Warning 26</td><td class="lineno" valign="top"></td></tr> |
---|
1157 | <tr><td class="lineno" valign="top"></td><td class="left"> heuristic expiration time 5</td><td> </td><td class="right"> heuristic expiration time 5</td><td class="lineno" valign="top"></td></tr> |
---|
1158 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1159 | <tr><td class="lineno" valign="top"></td><td class="left"> M</td><td> </td><td class="right"> M</td><td class="lineno" valign="top"></td></tr> |
---|
1160 | <tr><td class="lineno" valign="top"></td><td class="left"> max-age</td><td> </td><td class="right"> max-age</td><td class="lineno" valign="top"></td></tr> |
---|
1161 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 19, 22</td><td> </td><td class="right"> Cache Directive 19, 22</td><td class="lineno" valign="top"></td></tr> |
---|
1162 | <tr><td class="lineno" valign="top"></td><td class="left"> max-stale</td><td> </td><td class="right"> max-stale</td><td class="lineno" valign="top"></td></tr> |
---|
1163 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 19</td><td> </td><td class="right"> Cache Directive 19</td><td class="lineno" valign="top"></td></tr> |
---|
1164 | <tr><td class="lineno" valign="top"></td><td class="left"> min-fresh</td><td> </td><td class="right"> min-fresh</td><td class="lineno" valign="top"></td></tr> |
---|
1165 | <tr><td><a name="diff0075" /></td></tr> |
---|
1166 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive <span class="delete">20</span></td><td> </td><td class="rblock"> Cache Directive <span class="insert">19</span></td><td class="lineno" valign="top"></td></tr> |
---|
1167 | <tr><td class="lineno" valign="top"></td><td class="left"> must-revalidate</td><td> </td><td class="right"> must-revalidate</td><td class="lineno" valign="top"></td></tr> |
---|
1168 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 22</td><td> </td><td class="right"> Cache Directive 22</td><td class="lineno" valign="top"></td></tr> |
---|
1169 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1170 | <tr><td class="lineno" valign="top"></td><td class="left"> N</td><td> </td><td class="right"> N</td><td class="lineno" valign="top"></td></tr> |
---|
1171 | <tr><td class="lineno" valign="top"></td><td class="left"> no-cache</td><td> </td><td class="right"> no-cache</td><td class="lineno" valign="top"></td></tr> |
---|
1172 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 19, 21</td><td> </td><td class="right"> Cache Directive 19, 21</td><td class="lineno" valign="top"></td></tr> |
---|
1173 | <tr><td class="lineno" valign="top"></td><td class="left"> no-store</td><td> </td><td class="right"> no-store</td><td class="lineno" valign="top"></td></tr> |
---|
1174 | <tr><td><a name="diff0076" /></td></tr> |
---|
1175 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive 19, 2<span class="delete">2</span></td><td> </td><td class="rblock"> Cache Directive 19, 2<span class="insert">1</span></td><td class="lineno" valign="top"></td></tr> |
---|
1176 | <tr><td class="lineno" valign="top"></td><td class="left"> no-transform</td><td> </td><td class="right"> no-transform</td><td class="lineno" valign="top"></td></tr> |
---|
1177 | <tr><td><a name="diff0077" /></td></tr> |
---|
1178 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive 20, 2<span class="delete">3</span></td><td> </td><td class="rblock"> Cache Directive 20, 2<span class="insert">2</span></td><td class="lineno" valign="top"></td></tr> |
---|
1179 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1180 | <tr><td class="lineno" valign="top"></td><td class="left"> O</td><td> </td><td class="right"> O</td><td class="lineno" valign="top"></td></tr> |
---|
1181 | <tr><td class="lineno" valign="top"></td><td class="left"> only-if-cached</td><td> </td><td class="right"> only-if-cached</td><td class="lineno" valign="top"></td></tr> |
---|
1182 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 20</td><td> </td><td class="right"> Cache Directive 20</td><td class="lineno" valign="top"></td></tr> |
---|
1183 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1184 | <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> |
---|
1185 | <tr><td><a name="diff0078" /></td></tr> |
---|
1186 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma header 2<span class="delete">5</span></td><td> </td><td class="rblock"> Pragma header 2<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr> |
---|
1187 | <tr><td class="lineno" valign="top"></td><td class="left"> private</td><td> </td><td class="right"> private</td><td class="lineno" valign="top"></td></tr> |
---|
1188 | <tr><td><a name="diff0079" /></td></tr> |
---|
1189 | <tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive 2<span class="delete">1</span></td><td> </td><td class="rblock"> Cache Directive 2<span class="insert">0</span></td><td class="lineno" valign="top"></td></tr> |
---|
1190 | <tr><td class="lineno" valign="top"></td><td class="left"> proxy-revalidate</td><td> </td><td class="right"> proxy-revalidate</td><td class="lineno" valign="top"></td></tr> |
---|
1191 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 22</td><td> </td><td class="right"> Cache Directive 22</td><td class="lineno" valign="top"></td></tr> |
---|
1192 | <tr><td class="lineno" valign="top"></td><td class="left"> public</td><td> </td><td class="right"> public</td><td class="lineno" valign="top"></td></tr> |
---|
1193 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 20</td><td> </td><td class="right"> Cache Directive 20</td><td class="lineno" valign="top"></td></tr> |
---|
1194 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1195 | <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> |
---|
1196 | <tr><td class="lineno" valign="top"></td><td class="left"> s-maxage</td><td> </td><td class="right"> s-maxage</td><td class="lineno" valign="top"></td></tr> |
---|
1197 | <tr><td class="lineno" valign="top"></td><td class="left"> Cache Directive 22</td><td> </td><td class="right"> Cache Directive 22</td><td class="lineno" valign="top"></td></tr> |
---|
1198 | <tr><td class="lineno" valign="top"></td><td class="left"> stale 6</td><td> </td><td class="right"> stale 6</td><td class="lineno" valign="top"></td></tr> |
---|
1199 | <tr><td class="lineno" valign="top"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno" valign="top"></td></tr> |
---|
1200 | |
---|
1201 | <tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr> |
---|
1202 | <tr bgcolor="gray"><th colspan="5" align="center"><a name="end"> End of changes. 79 change blocks. </a></th></tr> |
---|
1203 | <tr class="stats"><td></td><th><i>191 lines changed or deleted</i></th><th><i> </i></th><th><i>167 lines changed or added</i></th><td></td></tr> |
---|
1204 | <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> |
---|
1205 | </table> |
---|
1206 | </body> |
---|
1207 | </html> |
---|