Source: https://trac.ietf.org/trac/httpbis/browser/draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-14-from-13.diff.html?rev=1697
Timestamp: 2019-11-18 01:41:58
Document Index: 191598184

Matched Legal Cases: ['art 6', 'art 6', 'art 6', 'art 6', 'art2', 'art2', 'art4', 'art4', 'art4', 'art4', 'art1', 'art1', 'art1', 'art1']

draft-ietf-httpbis-p6-cache-14-from-13.diff.html in draft-ietf-httpbis/diffs – Hypertext Transfer Protocol Wiki
source: draft-ietf-httpbis/diffs/draft-ietf-httpbis-p6-cache-14-from-13.diff.html @ 1697
<title>Diff: draft-ietf-httpbis-p6-cache-13.txt - draft-ietf-httpbis-p6-cache-14.txt</title>
<tr bgcolor="orange"><th></th><th>&nbsp;draft-ietf-httpbis-p6-cache-13.txt&nbsp;</th><th> </th><th>&nbsp;draft-ietf-httpbis-p6-cache-14.txt&nbsp;</th><th></th></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock">Expires: <span class="delete">September 15, 2011</span> J. Mogul</td><td> </td><td class="rblock">Expires: <span class="insert">October 20, 2011 </span> J. Mogul</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> draft-ietf-httpbis-p6-cache-1<span class="delete">3</span></td><td> </td><td class="rblock"> draft-ietf-httpbis-p6-cache-1<span class="insert">4</span></td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="lblock"> The changes in this draft are summarized in Appendix C.1<span class="delete">4</span>.</td><td> </td><td class="rblock"> The changes in this draft are summarized in Appendix C.1<span class="insert">5</span>.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l3" /><small>skipping to change at</small><em> page 4, line 10</em></th><th> </th><th><a name="part-r3" /><small>skipping to change at</small><em> page 4, line 12</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.5. Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . 35</td><td> </td><td class="right"> C.5. Since draft-ietf-httpbis-p6-cache-03 . . . . . . . . . . . 35</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 36</td><td> </td><td class="right"> C.7. Since draft-ietf-httpbis-p6-cache-05 . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 36</td><td> </td><td class="right"> C.8. Since draft-ietf-httpbis-p6-cache-06 . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.9. Since draft-ietf-httpbis-p6-cache-07 . . . . . . . . . . . 36</td><td> </td><td class="right"> C.9. Since draft-ietf-httpbis-p6-cache-07 . . . . . . . . . . . 36</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.10. Since draft-ietf-httpbis-p6-cache-08 . . . . . . . . . . . 37</td><td> </td><td class="right"> C.10. Since draft-ietf-httpbis-p6-cache-08 . . . . . . . . . . . 37</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.11. Since draft-ietf-httpbis-p6-cache-09 . . . . . . . . . . . 37</td><td> </td><td class="right"> C.11. Since draft-ietf-httpbis-p6-cache-09 . . . . . . . . . . . 37</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.12. Since draft-ietf-httpbis-p6-cache-10 . . . . . . . . . . . 38</td><td> </td><td class="right"> C.12. Since draft-ietf-httpbis-p6-cache-10 . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.13. Since draft-ietf-httpbis-p6-cache-11 . . . . . . . . . . . 38</td><td> </td><td class="right"> C.13. Since draft-ietf-httpbis-p6-cache-11 . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> C.14. Since draft-ietf-httpbis-p6-cache-12 . . . . . . . . . . . 38</td><td> </td><td class="right"> C.14. Since draft-ietf-httpbis-p6-cache-12 . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> C.15. Since draft-ietf-httpbis-p6-cache-13 . . . . . . . . . . . 38</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38</td><td> </td><td class="right"> Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l4" /><small>skipping to change at</small><em> page 10, line 13</em></th><th> </th><th><a name="part-r4" /><small>skipping to change at</small><em> page 10, line 13</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> request and having received a corresponding response.</td><td> </td><td class="right"> request and having received a corresponding response.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A cache MUST use the most recent response (as determined by the Date</td><td> </td><td class="right"> A cache MUST use the most recent response (as determined by the Date</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> header field) when more than one suitable response is stored. It can</td><td> </td><td class="right"> header field) when more than one suitable response is stored. It can</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> A cache that does not have a clock available MUST NOT use<span class="delete">d</span> stored</td><td> </td><td class="rblock"> A cache that does not have a clock available MUST NOT use stored</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> responses without revalidating them on every use. A cache,</td><td> </td><td class="right"> responses without revalidating them on every use. A cache,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> especially a shared cache, SHOULD use a mechanism, such as NTP</td><td> </td><td class="right"> especially a shared cache, SHOULD use a mechanism, such as NTP</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> [RFC1305], to synchronize its clock with a reliable external</td><td> </td><td class="right"> [RFC1305], to synchronize its clock with a reliable external</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> standard.</td><td> </td><td class="right"> standard.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l5" /><small>skipping to change at</small><em> page 12, line 5</em></th><th> </th><th><a name="part-r5" /><small>skipping to change at</small><em> page 12, line 5</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> used (including the following in Section 8 of [Part2]: 200, 203, 206,</td><td> </td><td class="right"> used (including the following in Section 8 of [Part2]: 200, 203, 206,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> 300, 301 and 410), a cache MAY calculate a heuristic expiration time.</td><td> </td><td class="right"> 300, 301 and 410), a cache MAY calculate a heuristic expiration time.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A cache MUST NOT use heuristics to determine freshness for responses</td><td> </td><td class="right"> A cache MUST NOT use heuristics to determine freshness for responses</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> with status codes that do not explicitly allow it.</td><td> </td><td class="right"> with status codes that do not explicitly allow it.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> When a heuristic is used to calculate freshness lifetime, a cache</td><td> </td><td class="right"> When a heuristic is used to calculate freshness lifetime, a cache</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> SHOULD attach a Warning header field with a 113 warn-code to the</td><td> </td><td class="right"> SHOULD attach a Warning header field with a 113 warn-code to the</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response if its current_age is more than 24 hours and such a warning</td><td> </td><td class="right"> response if its current_age is more than 24 hours and such a warning</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> is not already present.</td><td> </td><td class="right"> is not already present.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Also, if the response has a Last-Modified header field (Section <span class="delete">6.6</span></td><td> </td><td class="rblock"> Also, if the response has a Last-Modified header field (Section <span class="insert">2.1</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> of [Part4]), a cache SHOULD NOT use a heuristic expiration value that</td><td> </td><td class="right"> of [Part4]), a cache SHOULD NOT use a heuristic expiration value that</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> is more than some fraction of the interval since that time. A</td><td> </td><td class="right"> is more than some fraction of the interval since that time. A</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> typical setting of this fraction might be 10%.</td><td> </td><td class="right"> typical setting of this fraction might be 10%.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Note: RFC 2616 ([RFC2616], Section 13.9) required that caches do</td><td> </td><td class="right"> Note: RFC 2616 ([RFC2616], Section 13.9) required that caches do</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> not calculate heuristic freshness for URIs with query components</td><td> </td><td class="right"> not calculate heuristic freshness for URIs with query components</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (i.e., those containing '?'). In practice, this has not been</td><td> </td><td class="right"> (i.e., those containing '?'). In practice, this has not been</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> widely implemented. Therefore, servers are encouraged to send</td><td> </td><td class="right"> widely implemented. Therefore, servers are encouraged to send</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> explicit directives (e.g., Cache-Control: no-cache) if they wish</td><td> </td><td class="right"> explicit directives (e.g., Cache-Control: no-cache) if they wish</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> to preclude caching.</td><td> </td><td class="right"> to preclude caching.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l6" /><small>skipping to change at</small><em> page 14, line 9</em></th><th> </th><th><a name="part-r6" /><small>skipping to change at</small><em> page 14, line 9</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> according to the calculations in Section 2.3.</td><td> </td><td class="right"> according to the calculations in Section 2.3.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A cache MUST NOT return a stale response if it is prohibited by an</td><td> </td><td class="right"> A cache MUST NOT return a stale response if it is prohibited by an</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td> </td><td class="right"> explicit in-protocol directive (e.g., by a "no-store" or "no-cache"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache directive, a "must-revalidate" cache-response-directive, or an</td><td> </td><td class="right"> cache directive, a "must-revalidate" cache-response-directive, or an</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td> </td><td class="right"> applicable "s-maxage" or "proxy-revalidate" cache-response-directive;</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> see Section 3.2.2).</td><td> </td><td class="right"> see Section 3.2.2).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A cache SHOULD NOT return stale responses unless it is disconnected</td><td> </td><td class="right"> A cache SHOULD NOT return stale responses unless it is disconnected</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (i.e., it cannot contact the origin server or otherwise find a</td><td> </td><td class="right"> (i.e., it cannot contact the origin server or otherwise find a</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> forward path) or <span class="delete">otherwise</span> explicitly allowed (e.g., the <span class="delete">max-stale</span></td><td> </td><td class="rblock"> forward path) or <span class="insert">doing so is</span> explicitly allowed (e.g., <span class="insert">by</span> the <span class="insert">max-</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> request directive; see Section 3.2.1).</td><td> </td><td class="rblock"><span class="insert"> stale</span> request directive; see Section 3.2.1).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A cache SHOULD append a Warning header field with the 110 warn-code</td><td> </td><td class="right"> A cache SHOULD append a Warning header field with the 110 warn-code</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (see Section 3.6) to stale responses. Likewise, a cache SHOULD add</td><td> </td><td class="right"> (see Section 3.6) to stale responses. Likewise, a cache SHOULD add</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the 112 warn-code to stale responses if the cache is disconnected.</td><td> </td><td class="right"> the 112 warn-code to stale responses if the cache is disconnected.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> new Warning (but without removing any existing Warning header</td><td> </td><td class="right"> new Warning (but without removing any existing Warning header</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l7" /><small>skipping to change at</small><em> page 17, line 26</em></th><th> </th><th><a name="part-r7" /><small>skipping to change at</small><em> page 17, line 26</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response to use. [[TODO-mention-CL: might need language about</td><td> </td><td class="right"> response to use. [[TODO-mention-CL: might need language about</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Content-Location here]][[TODO-select-for-combine: Shouldn't this be</td><td> </td><td class="right"> Content-Location here]][[TODO-select-for-combine: Shouldn't this be</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the selected response?]]</td><td> </td><td class="right"> the selected response?]]</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> When the new response's status code is 206 (partial content), a cache</td><td> </td><td class="right"> When the new response's status code is 206 (partial content), a cache</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> MUST NOT combine it with the old response if either response does not</td><td> </td><td class="right"> MUST NOT combine it with the old response if either response does not</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> have a validator, and MUST NOT combine it with the old response when</td><td> </td><td class="right"> have a validator, and MUST NOT combine it with the old response when</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> those validators do not match with the strong comparison function</td><td> </td><td class="right"> those validators do not match with the strong comparison function</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> (see Section <span class="delete">4</span> of [Part4]).</td><td> </td><td class="rblock"> (see Section <span class="insert">2.2.2</span> of [Part4]).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The stored response header fields are used as those of the updated</td><td> </td><td class="right"> The stored response header fields are used as those of the updated</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o a cache MUST delete any stored Warning header fields with warn-</td><td> </td><td class="right"> o a cache MUST delete any stored Warning header fields with warn-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> code 1xx (see Section 3.6).</td><td> </td><td class="right"> code 1xx (see Section 3.6).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o a cache MUST retain any stored Warning header fields with warn-</td><td> </td><td class="right"> o a cache MUST retain any stored Warning header fields with warn-</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> code 2xx.</td><td> </td><td class="right"> code 2xx.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l8" /><small>skipping to change at</small><em> page 18, line 12</em></th><th> </th><th><a name="part-r8" /><small>skipping to change at</small><em> page 18, line 12</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The "Age" header field conveys the sender's estimate of the amount of</td><td> </td><td class="right"> The "Age" header field conveys the sender's estimate of the amount of</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> time since the response was generated or successfully validated at</td><td> </td><td class="right"> time since the response was generated or successfully validated at</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the origin server. Age values are calculated as specified in</td><td> </td><td class="right"> the origin server. Age values are calculated as specified in</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Age = <span class="delete">"Age" ":" OWS Age-v</span></td><td> </td><td class="rblock"> Age = delta-seconds</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Age-v =</span> delta-seconds</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> MUST transmit an Age header field with a field-value of 2147483648</td><td> </td><td class="right"> MUST transmit an Age header field with a field-value of 2147483648</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (2^31). Recipients parsing the Age header field-value SHOULD use an</td><td> </td><td class="right"> (2^31). Recipients parsing the Age header field-value SHOULD use an</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l9" /><small>skipping to change at</small><em> page 19, line 5</em></th><th> </th><th><a name="part-r9" /><small>skipping to change at</small><em> page 19, line 5</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Note: HTTP/1.0 caches might not implement Cache-Control and might</td><td> </td><td class="right"> Note: HTTP/1.0 caches might not implement Cache-Control and might</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> only implement Pragma: no-cache (see Section 3.4).</td><td> </td><td class="right"> only implement Pragma: no-cache (see Section 3.4).</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A proxy, whether or not it implements a cache, MUST pass cache</td><td> </td><td class="right"> A proxy, whether or not it implements a cache, MUST pass cache</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> directives through in forwarded messages, regardless of their</td><td> </td><td class="right"> directives through in forwarded messages, regardless of their</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> significance to that application, since the directives might be</td><td> </td><td class="right"> significance to that application, since the directives might be</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> applicable to all recipients along the request/response chain. It is</td><td> </td><td class="right"> applicable to all recipients along the request/response chain. It is</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> not possible to target a directive to a specific cache.</td><td> </td><td class="right"> not possible to target a directive to a specific cache.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Cache-Control = <span class="delete">"Cache-Control" ":" OWS Cache-Control-v</span></td><td> </td><td class="rblock"> Cache-Control = 1#cache-directive</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Cache-Control-v =</span> 1#cache-directive</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-extension = token [ "=" ( token / quoted-string ) ]</td><td> </td><td class="right"> cache-extension = token [ "=" ( token / quoted-string ) ]</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">3.2.1. Request Cache-Control Directives</td><td> </td><td class="right">3.2.1. Request Cache-Control Directives</td><td class="lineno" valign="top"></td></tr>
<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>
<tr bgcolor="gray" ><td></td><th><a name="part-l10" /><small>skipping to change at</small><em> page 23, line 13</em></th><th> </th><th><a name="part-r10" /><small>skipping to change at</small><em> page 23, line 13</em></th><td></td></tr>
<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>
<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>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> apply to private caches.</td><td> </td><td class="right"> apply to private caches.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> The max-age response directive indicates that response is to be</td><td> </td><td class="rblock"> The max-age response directive indicates that <span class="insert">the</span> response is to</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> considered stale after its age is greater than the specified</td><td> </td><td class="rblock"> be considered stale after its age is greater than the specified</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> number of seconds.</td><td> </td><td class="right"> number of seconds.</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> header field. The s-maxage directive also implies the semantics</td><td> </td><td class="right"> header field. The s-maxage directive also implies the semantics</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> of the proxy-revalidate response directive.</td><td> </td><td class="right"> of the proxy-revalidate response directive.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l11" /><small>skipping to change at</small><em> page 25, line 6</em></th><th> </th><th><a name="part-r11" /><small>skipping to change at</small><em> page 25, line 6</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> in Section 6.1 of [Part1]; a sender MUST use the rfc1123-date format.</td><td> </td><td class="right"> in Section 6.1 of [Part1]; a sender MUST use the rfc1123-date format.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Expires = <span class="delete">"Expires" ":" OWS Expires-v</span></td><td> </td><td class="rblock"> Expires = HTTP-date</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Expires-v =</span> HTTP-date</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Expires field. Likewise, the s-maxage directive overrides Expires</td><td> </td><td class="right"> Expires field. Likewise, the s-maxage directive overrides Expires</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> in shared caches.</td><td> </td><td class="right"> in shared caches.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l12" /><small>skipping to change at</small><em> page 25, line 32</em></th><th> </th><th><a name="part-r12" /><small>skipping to change at</small><em> page 25, line 31</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the value "0", as in the past (i.e., "already expired").</td><td> </td><td class="right"> the value "0", as in the past (i.e., "already expired").</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> The "Pragma" header field is used to include implementation-specific</td><td> </td><td class="right"> The "Pragma" header field is used to include implementation-specific</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> directives that might apply to any recipient along the request/</td><td> </td><td class="right"> directives that might apply to any recipient along the request/</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response chain. All pragma directives specify optional behavior from</td><td> </td><td class="right"> response chain. All pragma directives specify optional behavior from</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the viewpoint of the protocol; however, some systems MAY require that</td><td> </td><td class="right"> the viewpoint of the protocol; however, some systems MAY require that</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> behavior be consistent with the directives.</td><td> </td><td class="right"> behavior be consistent with the directives.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma = <span class="delete">"Pragma" ":" OWS Pragma-v</span></td><td> </td><td class="rblock"> Pragma = 1#pragma-directive</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Pragma-v =</span> 1#pragma-directive</td><td> </td><td class="rblock"> pragma-directive = "no-cache" / extension-pragma</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> pragma-directive = "no-cache" / extension-pragma</td><td> </td><td class="rblock"> extension-pragma = token [ "=" ( token / quoted-string ) ]</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> extension-pragma = token [ "=" ( token / quoted-string ) ]</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> When the no-cache directive is present in a request message, a cache</td><td> </td><td class="right"> When the no-cache directive is present in a request message, a cache</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> SHOULD forward the request toward the origin server even if it has a</td><td> </td><td class="right"> SHOULD forward the request toward the origin server even if it has a</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> stored copy of what is being requested. This pragma directive has</td><td> </td><td class="right"> stored copy of what is being requested. This pragma directive has</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the same semantics as the no-cache response directive (see</td><td> </td><td class="right"> the same semantics as the no-cache response directive (see</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Section 3.2.2) and is defined here for backward compatibility with</td><td> </td><td class="right"> Section 3.2.2) and is defined here for backward compatibility with</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> HTTP/1.0. A client SHOULD include both header fields when a no-cache</td><td> </td><td class="right"> HTTP/1.0. A client SHOULD include both header fields when a no-cache</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> request is sent to a server not known to be HTTP/1.1 compliant. A</td><td> </td><td class="right"> request is sent to a server not known to be HTTP/1.1 compliant. A</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache SHOULD treat "Pragma: no-cache" as if the client had sent</td><td> </td><td class="right"> cache SHOULD treat "Pragma: no-cache" as if the client had sent</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> "Cache-Control: no-cache".</td><td> </td><td class="right"> "Cache-Control: no-cache".</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l13" /><small>skipping to change at</small><em> page 26, line 21</em></th><th> </th><th><a name="part-r13" /><small>skipping to change at</small><em> page 26, line 20</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Caches use this information, in part, to determine whether a stored</td><td> </td><td class="right"> Caches use this information, in part, to determine whether a stored</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response can be used to satisfy a given request; see Section 2.7.</td><td> </td><td class="right"> response can be used to satisfy a given request; see Section 2.7.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> determines, while the response is fresh, whether a cache is permitted</td><td> </td><td class="right"> determines, while the response is fresh, whether a cache is permitted</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> to use the response to reply to a subsequent request without</td><td> </td><td class="right"> to use the response to reply to a subsequent request without</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> validation; see Section 2.7.</td><td> </td><td class="right"> validation; see Section 2.7.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Vary = <span class="delete">"Vary" ":" OWS Vary-v</span></td><td> </td><td class="rblock"> Vary = "*" / 1#field-name</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Vary-v =</span> "*" / 1#field-name</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> the selecting header fields.</td><td> </td><td class="right"> the selecting header fields.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> A server SHOULD include a Vary header field with any cacheable</td><td> </td><td class="right"> A server SHOULD include a Vary header field with any cacheable</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> response that is subject to server-driven negotiation. Doing so</td><td> </td><td class="right"> response that is subject to server-driven negotiation. Doing so</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> allows a cache to properly interpret future requests on that resource</td><td> </td><td class="right"> allows a cache to properly interpret future requests on that resource</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> and informs the user agent about the presence of negotiation on that</td><td> </td><td class="right"> and informs the user agent about the presence of negotiation on that</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<tr bgcolor="gray" ><td></td><th><a name="part-l14" /><small>skipping to change at</small><em> page 27, line 15</em></th><th> </th><th><a name="part-r14" /><small>skipping to change at</small><em> page 27, line 13</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> transformations applied to the payload of the message.</td><td> </td><td class="right"> transformations applied to the payload of the message.</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> Warning header fields can in general be applied to any message,</td><td> </td><td class="right"> Warning header fields can in general be applied to any message,</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> however some warn-codes are specific to caches and can only be</td><td> </td><td class="right"> however some warn-codes are specific to caches and can only be</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> applied to response messages.</td><td> </td><td class="right"> applied to response messages.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Warning = <span class="delete">"Warning" ":" OWS Warning-v</span></td><td> </td><td class="rblock"> Warning = 1#warning-value</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Warning-v =</span> 1#warning-value</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> ; the Warning header field, for use in debugging</td><td> </td><td class="right"> ; the Warning header field, for use in debugging</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l15" /><small>skipping to change at</small><em> page 31, line 18</em></th><th> </th><th><a name="part-r15" /><small>skipping to change at</small><em> page 31, line 18</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> and Message Parsing", <span class="delete">draft-ietf-httpbis-p1-messaging-13</span></td><td> </td><td class="rblock"> and Message Parsing", <span class="insert">draft-ietf-httpbis-p1-messaging-14</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Semantics", <span class="delete">draft-ietf-httpbis-p2-semantics-13</span> (work in</td><td> </td><td class="rblock"> Semantics", <span class="insert">draft-ietf-httpbis-p2-semantics-14</span> (work in</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> progress), <span class="delete">March</span> 2011.</td><td> </td><td class="rblock"> progress), <span class="insert">April</span> 2011.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Requests", <span class="delete">draft-ietf-httpbis-p4-conditional-13</span> (work in</td><td> </td><td class="rblock"> Requests", <span class="insert">draft-ietf-httpbis-p4-conditional-14</span> (work in</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Partial Responses", <span class="delete">draft-ietf-httpbis-p5-range-13</span> (work</td><td> </td><td class="rblock"> Partial Responses", <span class="insert">draft-ietf-httpbis-p5-range-14</span> (work</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">draft-ietf-httpbis-p7-auth-13</span> (work in progress),</td><td> </td><td class="rblock"> <span class="insert">draft-ietf-httpbis-p7-auth-14</span> (work in progress),</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> <span class="delete">March</span> 2011.</td><td> </td><td class="rblock"> <span class="insert">April</span> 2011.</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l16" /><small>skipping to change at</small><em> page 32, line 37</em></th><th> </th><th><a name="part-r16" /><small>skipping to change at</small><em> page 32, line 37</em></th><td></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> value. (Section 3)</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Do not mention RFC 2047 encoding and multiple languages in Warning</td><td> </td><td class="right"> Do not mention RFC 2047 encoding and multiple languages in Warning</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> header fields anymore, as these aspects never were implemented.</td><td> </td><td class="right"> header fields anymore, as these aspects never were implemented.</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> (Section 3.6)</td><td> </td><td class="right"> (Section 3.6)</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Age = <span class="delete">"Age:" OWS Age-v</span></td><td> </td><td class="rblock"> Age = delta-seconds</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Cache-Control = <span class="delete">"Cache-Control:" OWS Cache-Control-v</span></td><td> </td><td class="rblock"> Cache-Control = *( "," OWS ) cache-directive *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Cache-Control-v =</span> *( "," OWS ) cache-directive *( OWS "," [ OWS</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Expires = <span class="delete">"Expires:" OWS Expires-v</span></td><td> </td><td class="rblock"> Expires = HTTP-date</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> HTTP-date = &lt;HTTP-date, defined in [Part1], Section 6.1&gt;</td><td> </td><td class="right"> HTTP-date = &lt;HTTP-date, defined in [Part1], Section 6.1&gt;</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Pragma = <span class="delete">"Pragma:" OWS Pragma-v</span></td><td> </td><td class="rblock"> Pragma = *( "," OWS ) pragma-directive *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Pragma-v =</span> *( "," OWS ) pragma-directive *( OWS "," [ OWS</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Vary = <span class="delete">"Vary:" OWS Vary-v</span></td><td> </td><td class="rblock"> Vary = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ]</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Vary-v =</span> "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name</td><td> </td><td class="rblock"> ) )</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> ] ) )</td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Warning = <span class="delete">"Warning:" OWS Warning-v</span></td><td> </td><td class="rblock"> Warning = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ]</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Warning-v =</span> *( "," OWS ) warning-value *( OWS "," [ OWS warning-value</td><td> </td><td class="rblock"> )</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-directive = cache-request-directive / cache-response-directive</td><td> </td><td class="right"> cache-directive = cache-request-directive / cache-response-directive</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-request-directive = "no-cache" / "no-store" / ( "max-age="</td><td> </td><td class="right"> cache-request-directive = "no-cache" / "no-store" / ( "max-age="</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> delta-seconds ) / ( "max-stale" [ "=" delta-seconds ] ) / (</td><td> </td><td class="right"> delta-seconds ) / ( "max-stale" [ "=" delta-seconds ] ) / (</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> "min-fresh=" delta-seconds ) / "no-transform" / "only-if-cached" /</td><td> </td><td class="right"> "min-fresh=" delta-seconds ) / "no-transform" / "only-if-cached" /</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-extension</td><td> </td><td class="right"> cache-extension</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-response-directive = "public" / ( "private" [ "=" DQUOTE *( ","</td><td> </td><td class="right"> cache-response-directive = "public" / ( "private" [ "=" DQUOTE *( ","</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> OWS ) field-name *( OWS "," [ OWS field-name ] ) DQUOTE ] ) / (</td><td> </td><td class="right"> OWS ) field-name *( OWS "," [ OWS field-name ] ) DQUOTE ] ) / (</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> "no-cache" [ "=" DQUOTE *( "," OWS ) field-name *( OWS "," [ OWS</td><td> </td><td class="right"> "no-cache" [ "=" DQUOTE *( "," OWS ) field-name *( OWS "," [ OWS</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l17" /><small>skipping to change at</small><em> page 38, line 43</em></th><th> </th><th><a name="part-r17" /><small>skipping to change at</small><em> page 38, line 40</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left">C.14. Since draft-ietf-httpbis-p6-cache-12</td><td> </td><td class="right">C.14. Since draft-ietf-httpbis-p6-cache-12</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/224&gt;: "Header</td><td> </td><td class="right"> o &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/224&gt;: "Header</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Classification"</td><td> </td><td class="right"> Classification"</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> o &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/268&gt;: "Clarify</td><td> </td><td class="right"> o &lt;http://tools.ietf.org/wg/httpbis/trac/ticket/268&gt;: "Clarify</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert">C.15. Since draft-ietf-httpbis-p6-cache-13</span></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Age header field 18</td><td> </td><td class="right"> Age header field 18</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> max-age <span class="delete">20</span>, 23</td><td> </td><td class="rblock"> max-age <span class="insert">19</span>, 23</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> max-stale 20</td><td> </td><td class="right"> max-stale 20</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> min-fresh 20</td><td> </td><td class="right"> min-fresh 20</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> no-store 19, 22</td><td> </td><td class="right"> no-store 19, 22</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> no-transform 20, 23</td><td> </td><td class="right"> no-transform 20, 23</td><td class="lineno" valign="top"></td></tr>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> private 21</td><td> </td><td class="right"> private 21</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> proxy-revalidate 23</td><td> </td><td class="right"> proxy-revalidate 23</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> public 21</td><td> </td><td class="right"> public 21</td><td class="lineno" valign="top"></td></tr>
<tr bgcolor="gray" ><td></td><th><a name="part-l18" /><small>skipping to change at</small><em> page 39, line 30</em></th><th> </th><th><a name="part-r18" /><small>skipping to change at</small><em> page 39, line 35</em></th><td></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> explicit expiration time 6</td><td> </td><td class="right"> explicit expiration time 6</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> Age 18</td><td> </td><td class="right"> Age 18</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Age-v 18</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Cache-Control 19</td><td> </td><td class="right"> Cache-Control 19</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Cache-Control-v 19</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-extension 19</td><td> </td><td class="right"> cache-extension 19</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-request-directive 19</td><td> </td><td class="right"> cache-request-directive 19</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> cache-response-directive 21</td><td> </td><td class="right"> cache-response-directive 21</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> delta-seconds 18</td><td> </td><td class="right"> delta-seconds 18</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Expires 25</td><td> </td><td class="right"> Expires 25</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Expires-v 25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> extension-pragma 25</td><td> </td><td class="right"> extension-pragma 25</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Pragma 25</td><td> </td><td class="right"> Pragma 25</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> pragma-directive 25</td><td> </td><td class="right"> pragma-directive 25</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Pragma-v 25</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Vary 26</td><td> </td><td class="right"> Vary 26</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Vary-v 26</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> warn-agent 27</td><td> </td><td class="right"> warn-agent 27</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> warn-code 27</td><td> </td><td class="right"> warn-code 27</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> warn-date 27</td><td> </td><td class="right"> warn-date 27</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> warn-text 27</td><td> </td><td class="right"> warn-text 27</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> Warning 27</td><td> </td><td class="right"> Warning 27</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"><span class="delete"> Warning-v 27</span></td><td> </td><td class="rblock"></td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="left"> warning-value 27</td><td> </td><td class="right"> warning-value 27</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<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>
<tr><td class="lineno" valign="top"></td><td class="left"> heuristic expiration time 6</td><td> </td><td class="right"> heuristic expiration time 6</td><td class="lineno" valign="top"></td></tr>
<tr><td class="lineno" valign="top"></td><td class="lblock"> Cache Directive <span class="delete">20</span>, 23</td><td> </td><td class="rblock"> Cache Directive <span class="insert">19</span>, 23</td><td class="lineno" valign="top"></td></tr>
<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>
<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>
<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>
<tr class="stats"><td></td><th><i>60 lines changed or deleted</i></th><th><i> </i></th><th><i>57 lines changed or added</i></th><td></td></tr>