Changeset 1231 for draft-ietf-httpbis/latest/p6-cache.html
- Timestamp:
- 29/03/11 12:42:31 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.html
r1215 r1231 362 362 } 363 363 @bottom-center { 364 content: "Expires September 28, 2011";364 content: "Expires September 30, 2011"; 365 365 } 366 366 @bottom-right { … … 408 408 <meta name="dct.creator" content="Reschke, J. F."> 409 409 <meta name="dct.identifier" content="urn:ietf:id:draft-ietf-httpbis-p6-cache-latest"> 410 <meta name="dct.issued" scheme="ISO8601" content="2011-03-2 7">410 <meta name="dct.issued" scheme="ISO8601" content="2011-03-29"> 411 411 <meta name="dct.replaces" content="urn:ietf:rfc:2616"> 412 412 <meta name="dct.abstract" content="The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This document is Part 6 of the seven-part specification that defines the protocol referred to as "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 6 defines requirements on HTTP caches and the associated header fields that control cache behavior or indicate cacheable response messages."> … … 434 434 </tr> 435 435 <tr> 436 <td class="left">Expires: September 28, 2011</td>436 <td class="left">Expires: September 30, 2011</td> 437 437 <td class="right">J. Mogul</td> 438 438 </tr> … … 495 495 <tr> 496 496 <td class="left"></td> 497 <td class="right">March 2 7, 2011</td>497 <td class="right">March 29, 2011</td> 498 498 </tr> 499 499 </tbody> … … 521 521 in progress”. 522 522 </p> 523 <p>This Internet-Draft will expire on September 28, 2011.</p>523 <p>This Internet-Draft will expire on September 30, 2011.</p> 524 524 <h1><a id="rfc.copyrightnotice" href="#rfc.copyrightnotice">Copyright Notice</a></h1> 525 525 <p>Copyright © 2011 IETF Trust and the persons identified as the document authors. All rights reserved.</p> … … 1044 1044 validated at the origin server. Age values are calculated as specified in <a href="#age.calculations" title="Calculating Age">Section 2.3.2</a>. 1045 1045 </p> 1046 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.1"></span><span id="rfc.iref.g.2"></span> <a href="#header.age" class="smpl">Age</a> = "Age" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.age" class="smpl">Age-v</a> 1047 <a href="#header.age" class="smpl">Age-v</a> = <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 1046 <div id="rfc.figure.u.7"></div><pre class="inline"><span id="rfc.iref.g.1"></span> <a href="#header.age" class="smpl">Age</a> = <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> 1048 1047 </pre><div id="rule.delta-seconds"> 1049 1048 <p id="rfc.section.3.1.p.3"> Age field-values are non-negative integers, representing time in seconds.</p> 1050 1049 </div> 1051 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g. 3"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a>1050 <div id="rfc.figure.u.8"></div><pre class="inline"><span id="rfc.iref.g.2"></span> <a href="#rule.delta-seconds" class="smpl">delta-seconds</a> = 1*<a href="#notation" class="smpl">DIGIT</a> 1052 1051 </pre><p id="rfc.section.3.1.p.5">If a cache receives a value larger than the largest positive integer it can represent, or if any of its age calculations overflows, 1053 1052 it <em class="bcp14">MUST</em> transmit an Age header field with a field-value of 2147483648 (2<sup>31</sup>). Recipients parsing the Age header field-value <em class="bcp14">SHOULD</em> use an arithmetic type of at least 31 bits of range. … … 1073 1072 cache. 1074 1073 </p> 1075 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.4"></span><span id="rfc.iref.g.5"></span><span id="rfc.iref.g.6"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = "Cache-Control" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.cache-control" class="smpl">Cache-Control-v</a> 1076 <a href="#header.cache-control" class="smpl">Cache-Control-v</a> = 1#<a href="#header.cache-control" class="smpl">cache-directive</a> 1074 <div id="rfc.figure.u.9"></div><pre class="inline"><span id="rfc.iref.g.3"></span><span id="rfc.iref.g.4"></span> <a href="#header.cache-control" class="smpl">Cache-Control</a> = 1#<a href="#header.cache-control" class="smpl">cache-directive</a> 1077 1075 1078 1076 <a href="#header.cache-control" class="smpl">cache-directive</a> = <a href="#header.cache-control" class="smpl">cache-request-directive</a> … … 1081 1079 <a href="#header.cache-control" class="smpl">cache-extension</a> = <a href="#core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ] 1082 1080 </pre><h3 id="rfc.section.3.2.1"><a href="#rfc.section.3.2.1">3.2.1</a> <a id="cache-request-directive" href="#cache-request-directive">Request Cache-Control Directives</a></h3> 1083 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g. 7"></span> <a href="#header.cache-control" class="smpl">cache-request-directive</a> =1081 <div id="rfc.figure.u.10"></div><pre class="inline"><span id="rfc.iref.g.5"></span> <a href="#header.cache-control" class="smpl">cache-request-directive</a> = 1084 1082 "no-cache" 1085 1083 / "no-store" … … 1148 1146 </ul> 1149 1147 <h3 id="rfc.section.3.2.2"><a href="#rfc.section.3.2.2">3.2.2</a> <a id="cache-response-directive" href="#cache-response-directive">Response Cache-Control Directives</a></h3> 1150 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g. 8"></span> <a href="#header.cache-control" class="smpl">cache-response-directive</a> =1148 <div id="rfc.figure.u.11"></div><pre class="inline"><span id="rfc.iref.g.6"></span> <a href="#header.cache-control" class="smpl">cache-response-directive</a> = 1151 1149 "public" 1152 1150 / "private" [ "=" <a href="#notation" class="smpl">DQUOTE</a> 1#<a href="#abnf.dependencies" class="smpl">field-name</a> <a href="#notation" class="smpl">DQUOTE</a> ] … … 1290 1288 <p id="rfc.section.3.3.p.3">The field-value is an absolute date and time as defined by HTTP-date in <a href="p1-messaging.html#date.time.formats.full.date" title="Date/Time Formats: Full Date">Section 6.1</a> of <a href="#Part1" id="rfc.xref.Part1.17"><cite title="HTTP/1.1, part 1: URIs, Connections, and Message Parsing">[Part1]</cite></a>; a sender <em class="bcp14">MUST</em> use the rfc1123-date format. 1291 1289 </p> 1292 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span> <a href="#header.expires" class="smpl">Expires</a> = "Expires" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.expires" class="smpl">Expires-v</a> 1293 <a href="#header.expires" class="smpl">Expires-v</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 1290 <div id="rfc.figure.u.13"></div><pre class="inline"><span id="rfc.iref.g.7"></span> <a href="#header.expires" class="smpl">Expires</a> = <a href="#abnf.dependencies" class="smpl">HTTP-date</a> 1294 1291 </pre><div id="rfc.figure.u.14"></div> 1295 1292 <p>For example</p> <pre class="text"> Expires: Thu, 01 Dec 1994 16:00:00 GMT … … 1309 1306 systems <em class="bcp14">MAY</em> require that behavior be consistent with the directives. 1310 1307 </p> 1311 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.11"></span><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span> <a href="#header.pragma" class="smpl">Pragma</a> = "Pragma" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.pragma" class="smpl">Pragma-v</a> 1312 <a href="#header.pragma" class="smpl">Pragma-v</a> = 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 1313 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 1314 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ] 1308 <div id="rfc.figure.u.15"></div><pre class="inline"><span id="rfc.iref.g.8"></span><span id="rfc.iref.g.9"></span><span id="rfc.iref.g.10"></span> <a href="#header.pragma" class="smpl">Pragma</a> = 1#<a href="#header.pragma" class="smpl">pragma-directive</a> 1309 <a href="#header.pragma" class="smpl">pragma-directive</a> = "no-cache" / <a href="#header.pragma" class="smpl">extension-pragma</a> 1310 <a href="#header.pragma" class="smpl">extension-pragma</a> = <a href="#core.rules" class="smpl">token</a> [ "=" ( <a href="#core.rules" class="smpl">token</a> / <a href="#core.rules" class="smpl">quoted-string</a> ) ] 1315 1311 </pre><p id="rfc.section.3.4.p.3">When the no-cache directive is present in a request message, a cache <em class="bcp14">SHOULD</em> forward the request toward the origin server even if it has a stored copy of what is being requested. This pragma directive 1316 1312 has the same semantics as the no-cache response directive (see <a href="#cache-response-directive" title="Response Cache-Control Directives">Section 3.2.2</a>) and is defined here for backward compatibility with HTTP/1.0. A client <em class="bcp14">SHOULD</em> include both header fields when a no-cache request is sent to a server not known to be HTTP/1.1 compliant. A cache <em class="bcp14">SHOULD</em> treat "Pragma: no-cache" as if the client had sent "Cache-Control: no-cache". … … 1332 1328 the representation. 1333 1329 </p> 1334 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span> <a href="#header.vary" class="smpl">Vary</a> = "Vary" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.vary" class="smpl">Vary-v</a> 1335 <a href="#header.vary" class="smpl">Vary-v</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> 1330 <div id="rfc.figure.u.16"></div><pre class="inline"><span id="rfc.iref.g.11"></span> <a href="#header.vary" class="smpl">Vary</a> = "*" / 1#<a href="#abnf.dependencies" class="smpl">field-name</a> 1336 1331 </pre><p id="rfc.section.3.5.p.5">The set of header fields named by the Vary field value is known as the selecting header fields.</p> 1337 1332 <p id="rfc.section.3.5.p.6">A server <em class="bcp14">SHOULD</em> include a Vary header field with any cacheable response that is subject to server-driven negotiation. Doing so allows a cache … … 1360 1355 be applied to response messages. 1361 1356 </p> 1362 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.17"></span><span id="rfc.iref.g.18"></span><span id="rfc.iref.g.19"></span><span id="rfc.iref.g.20"></span><span id="rfc.iref.g.21"></span><span id="rfc.iref.g.22"></span><span id="rfc.iref.g.23"></span> <a href="#header.warning" class="smpl">Warning</a> = "Warning" ":" <a href="#core.rules" class="smpl">OWS</a> <a href="#header.warning" class="smpl">Warning-v</a> 1363 <a href="#header.warning" class="smpl">Warning-v</a> = 1#<a href="#header.warning" class="smpl">warning-value</a> 1357 <div id="rfc.figure.u.17"></div><pre class="inline"><span id="rfc.iref.g.12"></span><span id="rfc.iref.g.13"></span><span id="rfc.iref.g.14"></span><span id="rfc.iref.g.15"></span><span id="rfc.iref.g.16"></span><span id="rfc.iref.g.17"></span> <a href="#header.warning" class="smpl">Warning</a> = 1#<a href="#header.warning" class="smpl">warning-value</a> 1364 1358 1365 1359 <a href="#header.warning" class="smpl">warning-value</a> = <a href="#header.warning" class="smpl">warn-code</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-agent</a> <a href="#notation" class="smpl">SP</a> <a href="#header.warning" class="smpl">warn-text</a> … … 1706 1700 <p id="rfc.section.A.p.3">Clarify denial of service attack avoidance requirement. (<a href="#invalidation.after.updates.or.deletions" title="Request Methods that Invalidate">Section 2.5</a>) 1707 1701 </p> 1708 <p id="rfc.section.A.p.4">Do not mention RFC 2047 encoding and multiple languages in Warning header fields anymore, as these aspects never were implemented. 1702 <p id="rfc.section.A.p.4">Change ABNF productions for header fields to only define the field value. (<a href="#header.fields" title="Header Field Definitions">Section 3</a>) 1703 </p> 1704 <p id="rfc.section.A.p.5">Do not mention RFC 2047 encoding and multiple languages in Warning header fields anymore, as these aspects never were implemented. 1709 1705 (<a href="#header.warning" id="rfc.xref.header.warning.4" title="Warning">Section 3.6</a>) 1710 1706 </p> 1711 1707 <h1 id="rfc.section.B"><a href="#rfc.section.B">B.</a> <a id="collected.abnf" href="#collected.abnf">Collected ABNF</a></h1> 1712 <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = "Age:" OWS Age-v 1713 <a href="#header.age" class="smpl">Age-v</a> = delta-seconds 1714 1715 <a href="#header.cache-control" class="smpl">Cache-Control</a> = "Cache-Control:" OWS Cache-Control-v 1716 <a href="#header.cache-control" class="smpl">Cache-Control-v</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS 1708 <div id="rfc.figure.u.18"></div> <pre class="inline"><a href="#header.age" class="smpl">Age</a> = delta-seconds 1709 1710 <a href="#header.cache-control" class="smpl">Cache-Control</a> = *( "," OWS ) cache-directive *( OWS "," [ OWS 1717 1711 cache-directive ] ) 1718 1712 1719 <a href="#header.expires" class="smpl">Expires</a> = "Expires:" OWS Expires-v 1720 <a href="#header.expires" class="smpl">Expires-v</a> = HTTP-date 1713 <a href="#header.expires" class="smpl">Expires</a> = HTTP-date 1721 1714 1722 1715 <a href="#abnf.dependencies" class="smpl">HTTP-date</a> = <HTTP-date, defined in [Part1], Section 6.1> … … 1724 1717 <a href="#core.rules" class="smpl">OWS</a> = <OWS, defined in [Part1], Section 1.2.2> 1725 1718 1726 <a href="#header.pragma" class="smpl">Pragma</a> = "Pragma:" OWS Pragma-v 1727 <a href="#header.pragma" class="smpl">Pragma-v</a> = *( "," OWS ) pragma-directive *( OWS "," [ OWS 1719 <a href="#header.pragma" class="smpl">Pragma</a> = *( "," OWS ) pragma-directive *( OWS "," [ OWS 1728 1720 pragma-directive ] ) 1729 1721 1730 <a href="#header.vary" class="smpl">Vary</a> = "Vary:" OWS Vary-v 1731 <a href="#header.vary" class="smpl">Vary-v</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name 1732 ] ) ) 1733 1734 <a href="#header.warning" class="smpl">Warning</a> = "Warning:" OWS Warning-v 1735 <a href="#header.warning" class="smpl">Warning-v</a> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value 1736 ] ) 1722 <a href="#header.vary" class="smpl">Vary</a> = "*" / ( *( "," OWS ) field-name *( OWS "," [ OWS field-name ] 1723 ) ) 1724 1725 <a href="#header.warning" class="smpl">Warning</a> = *( "," OWS ) warning-value *( OWS "," [ OWS warning-value ] 1726 ) 1737 1727 1738 1728 <a href="#header.cache-control" class="smpl">cache-directive</a> = cache-request-directive / cache-response-directive … … 1950 1940 </ul> 1951 1941 <h2 id="rfc.section.C.15"><a href="#rfc.section.C.15">C.15</a> <a id="changes.since.13" href="#changes.since.13">Since draft-ietf-httpbis-p6-cache-13</a></h2> 1952 <p id="rfc.section.C.15.p.1">None yet.</p> 1942 <p id="rfc.section.C.15.p.1">Closed issues: </p> 1943 <ul> 1944 <li> <<a href="http://tools.ietf.org/wg/httpbis/trac/ticket/276">http://tools.ietf.org/wg/httpbis/trac/ticket/276</a>>: "untangle ABNFs for header fields" 1945 </li> 1946 </ul> 1953 1947 <h1 id="rfc.index"><a href="#rfc.index">Index</a></h1> 1954 1948 <p class="noprint"><a href="#rfc.index.A">A</a> <a href="#rfc.index.C">C</a> <a href="#rfc.index.E">E</a> <a href="#rfc.index.F">F</a> <a href="#rfc.index.G">G</a> <a href="#rfc.index.H">H</a> <a href="#rfc.index.M">M</a> <a href="#rfc.index.N">N</a> <a href="#rfc.index.O">O</a> <a href="#rfc.index.P">P</a> <a href="#rfc.index.R">R</a> <a href="#rfc.index.S">S</a> <a href="#rfc.index.V">V</a> <a href="#rfc.index.W">W</a> … … 1998 1992 <ul> 1999 1993 <li><tt>Age</tt> <a href="#rfc.iref.g.1"><b>3.1</b></a></li> 2000 <li><tt>Age-v</tt> <a href="#rfc.iref.g.2"><b>3.1</b></a></li> 2001 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.4"><b>3.2</b></a></li> 2002 <li><tt>Cache-Control-v</tt> <a href="#rfc.iref.g.5"><b>3.2</b></a></li> 2003 <li><tt>cache-extension</tt> <a href="#rfc.iref.g.6"><b>3.2</b></a></li> 2004 <li><tt>cache-request-directive</tt> <a href="#rfc.iref.g.7"><b>3.2.1</b></a></li> 2005 <li><tt>cache-response-directive</tt> <a href="#rfc.iref.g.8"><b>3.2.2</b></a></li> 2006 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.3"><b>3.1</b></a></li> 2007 <li><tt>Expires</tt> <a href="#rfc.iref.g.9"><b>3.3</b></a></li> 2008 <li><tt>Expires-v</tt> <a href="#rfc.iref.g.10"><b>3.3</b></a></li> 2009 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.14"><b>3.4</b></a></li> 2010 <li><tt>Pragma</tt> <a href="#rfc.iref.g.11"><b>3.4</b></a></li> 2011 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.13"><b>3.4</b></a></li> 2012 <li><tt>Pragma-v</tt> <a href="#rfc.iref.g.12"><b>3.4</b></a></li> 2013 <li><tt>Vary</tt> <a href="#rfc.iref.g.15"><b>3.5</b></a></li> 2014 <li><tt>Vary-v</tt> <a href="#rfc.iref.g.16"><b>3.5</b></a></li> 2015 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.21"><b>3.6</b></a></li> 2016 <li><tt>warn-code</tt> <a href="#rfc.iref.g.20"><b>3.6</b></a></li> 2017 <li><tt>warn-date</tt> <a href="#rfc.iref.g.23"><b>3.6</b></a></li> 2018 <li><tt>warn-text</tt> <a href="#rfc.iref.g.22"><b>3.6</b></a></li> 2019 <li><tt>Warning</tt> <a href="#rfc.iref.g.17"><b>3.6</b></a></li> 2020 <li><tt>Warning-v</tt> <a href="#rfc.iref.g.18"><b>3.6</b></a></li> 2021 <li><tt>warning-value</tt> <a href="#rfc.iref.g.19"><b>3.6</b></a></li> 1994 <li><tt>Cache-Control</tt> <a href="#rfc.iref.g.3"><b>3.2</b></a></li> 1995 <li><tt>cache-extension</tt> <a href="#rfc.iref.g.4"><b>3.2</b></a></li> 1996 <li><tt>cache-request-directive</tt> <a href="#rfc.iref.g.5"><b>3.2.1</b></a></li> 1997 <li><tt>cache-response-directive</tt> <a href="#rfc.iref.g.6"><b>3.2.2</b></a></li> 1998 <li><tt>delta-seconds</tt> <a href="#rfc.iref.g.2"><b>3.1</b></a></li> 1999 <li><tt>Expires</tt> <a href="#rfc.iref.g.7"><b>3.3</b></a></li> 2000 <li><tt>extension-pragma</tt> <a href="#rfc.iref.g.10"><b>3.4</b></a></li> 2001 <li><tt>Pragma</tt> <a href="#rfc.iref.g.8"><b>3.4</b></a></li> 2002 <li><tt>pragma-directive</tt> <a href="#rfc.iref.g.9"><b>3.4</b></a></li> 2003 <li><tt>Vary</tt> <a href="#rfc.iref.g.11"><b>3.5</b></a></li> 2004 <li><tt>warn-agent</tt> <a href="#rfc.iref.g.15"><b>3.6</b></a></li> 2005 <li><tt>warn-code</tt> <a href="#rfc.iref.g.14"><b>3.6</b></a></li> 2006 <li><tt>warn-date</tt> <a href="#rfc.iref.g.17"><b>3.6</b></a></li> 2007 <li><tt>warn-text</tt> <a href="#rfc.iref.g.16"><b>3.6</b></a></li> 2008 <li><tt>Warning</tt> <a href="#rfc.iref.g.12"><b>3.6</b></a></li> 2009 <li><tt>warning-value</tt> <a href="#rfc.iref.g.13"><b>3.6</b></a></li> 2022 2010 </ul> 2023 2011 </li>
Note: See TracChangeset
for help on using the changeset viewer.