Changeset 2236 for draft-ietf-httpbis/latest/p6-cache.html
- Timestamp:
- 07/05/13 06:21:36 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.html
r2235 r2236 614 614 <li><a href="#rfc.section.7.2">7.2</a> <a href="#header.cache-control">Cache-Control</a><ul> 615 615 <li><a href="#rfc.section.7.2.1">7.2.1</a> <a href="#cache-request-directive">Request Cache-Control Directives</a><ul> 616 <li><a href="#rfc.section.7.2.1.1">7.2.1.1</a> <a href="#cache-request-directive. no-cache">no-cache</a></li>617 <li><a href="#rfc.section.7.2.1.2">7.2.1.2</a> <a href="#cache-request-directive. no-store">no-store</a></li>618 <li><a href="#rfc.section.7.2.1.3">7.2.1.3</a> <a href="#cache-request-directive.m ax-age">max-age</a></li>619 <li><a href="#rfc.section.7.2.1.4">7.2.1.4</a> <a href="#cache-request-directive. max-stale">max-stale</a></li>620 <li><a href="#rfc.section.7.2.1.5">7.2.1.5</a> <a href="#cache-request-directive. min-fresh">min-fresh</a></li>616 <li><a href="#rfc.section.7.2.1.1">7.2.1.1</a> <a href="#cache-request-directive.max-age">max-age</a></li> 617 <li><a href="#rfc.section.7.2.1.2">7.2.1.2</a> <a href="#cache-request-directive.max-stale">max-stale</a></li> 618 <li><a href="#rfc.section.7.2.1.3">7.2.1.3</a> <a href="#cache-request-directive.min-fresh">min-fresh</a></li> 619 <li><a href="#rfc.section.7.2.1.4">7.2.1.4</a> <a href="#cache-request-directive.no-cache">no-cache</a></li> 620 <li><a href="#rfc.section.7.2.1.5">7.2.1.5</a> <a href="#cache-request-directive.no-store">no-store</a></li> 621 621 <li><a href="#rfc.section.7.2.1.6">7.2.1.6</a> <a href="#cache-request-directive.no-transform">no-transform</a></li> 622 622 <li><a href="#rfc.section.7.2.1.7">7.2.1.7</a> <a href="#cache-request-directive.only-if-cached">only-if-cached</a></li> … … 624 624 </li> 625 625 <li><a href="#rfc.section.7.2.2">7.2.2</a> <a href="#cache-response-directive">Response Cache-Control Directives</a><ul> 626 <li><a href="#rfc.section.7.2.2.1">7.2.2.1</a> <a href="#cache-response-directive. public">public</a></li>627 <li><a href="#rfc.section.7.2.2.2">7.2.2.2</a> <a href="#cache-response-directive. private">private</a></li>628 <li><a href="#rfc.section.7.2.2.3">7.2.2.3</a> <a href="#cache-response-directive.no- cache">no-cache</a></li>629 <li><a href="#rfc.section.7.2.2.4">7.2.2.4</a> <a href="#cache-response-directive.no- store">no-store</a></li>630 <li><a href="#rfc.section.7.2.2.5">7.2.2.5</a> <a href="#cache-response-directive. must-revalidate">must-revalidate</a></li>631 <li><a href="#rfc.section.7.2.2.6">7.2.2.6</a> <a href="#cache-response-directive.pr oxy-revalidate">proxy-revalidate</a></li>632 <li><a href="#rfc.section.7.2.2.7">7.2.2.7</a> <a href="#cache-response-directive. max-age">max-age</a></li>633 <li><a href="#rfc.section.7.2.2.8">7.2.2.8</a> <a href="#cache-response-directive. s-maxage">s-maxage</a></li>634 <li><a href="#rfc.section.7.2.2.9">7.2.2.9</a> <a href="#cache-response-directive. no-transform">no-transform</a></li>626 <li><a href="#rfc.section.7.2.2.1">7.2.2.1</a> <a href="#cache-response-directive.must-revalidate">must-revalidate</a></li> 627 <li><a href="#rfc.section.7.2.2.2">7.2.2.2</a> <a href="#cache-response-directive.no-cache">no-cache</a></li> 628 <li><a href="#rfc.section.7.2.2.3">7.2.2.3</a> <a href="#cache-response-directive.no-store">no-store</a></li> 629 <li><a href="#rfc.section.7.2.2.4">7.2.2.4</a> <a href="#cache-response-directive.no-transform">no-transform</a></li> 630 <li><a href="#rfc.section.7.2.2.5">7.2.2.5</a> <a href="#cache-response-directive.public">public</a></li> 631 <li><a href="#rfc.section.7.2.2.6">7.2.2.6</a> <a href="#cache-response-directive.private">private</a></li> 632 <li><a href="#rfc.section.7.2.2.7">7.2.2.7</a> <a href="#cache-response-directive.proxy-revalidate">proxy-revalidate</a></li> 633 <li><a href="#rfc.section.7.2.2.8">7.2.2.8</a> <a href="#cache-response-directive.max-age">max-age</a></li> 634 <li><a href="#rfc.section.7.2.2.9">7.2.2.9</a> <a href="#cache-response-directive.s-maxage">s-maxage</a></li> 635 635 </ul> 636 636 </li> … … 811 811 <li>the "no-store" cache directive (see <a href="#header.cache-control" id="rfc.xref.header.cache-control.1" title="Cache-Control">Section 7.2</a>) does not appear in request or response header fields, and 812 812 </li> 813 <li>the "private" cache response directive (see <a href="#cache-response-directive.private" title="private">Section 7.2.2. 2</a>) does not appear in the response, if the cache is shared, and813 <li>the "private" cache response directive (see <a href="#cache-response-directive.private" title="private">Section 7.2.2.6</a>) does not appear in the response, if the cache is shared, and 814 814 </li> 815 815 <li>the <a href="p7-auth.html#header.authorization" class="smpl">Authorization</a> header field (see <a href="p7-auth.html#header.authorization" title="Authorization">Section 4.1</a> of <a href="#Part7" id="rfc.xref.Part7.1"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Authentication">[Part7]</cite></a>) does not appear in the request, if the cache is shared, unless the response explicitly allows it (see <a href="#caching.authenticated.responses" title="Storing Responses to Authenticated Requests">Section 3.2</a>), and … … 819 819 <li>contains an <a href="#header.expires" class="smpl">Expires</a> header field (see <a href="#header.expires" id="rfc.xref.header.expires.1" title="Expires">Section 7.3</a>), or 820 820 </li> 821 <li>contains a max-age response cache directive (see <a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2. 7</a>), or821 <li>contains a max-age response cache directive (see <a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.8</a>), or 822 822 </li> 823 <li>contains a s-maxage response cache directive (see <a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2. 8</a>) and the cache is shared, or823 <li>contains a s-maxage response cache directive (see <a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2.9</a>) and the cache is shared, or 824 824 </li> 825 825 <li>contains a Cache Control Extension (see <a href="#cache.control.extensions" title="Cache Control Extensions">Section 7.2.3</a>) that allows it to be cached, or … … 827 827 <li>has a status code that is defined as cacheable (see <a href="#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a>), or 828 828 </li> 829 <li>contains a public response cache directive (see <a href="#cache-response-directive.public" title="public">Section 7.2.2. 1</a>).829 <li>contains a public response cache directive (see <a href="#cache-response-directive.public" title="public">Section 7.2.2.5</a>). 830 830 </li> 831 831 </ul> … … 868 868 <li>the presented request does not contain the no-cache pragma (<a href="#header.pragma" id="rfc.xref.header.pragma.1" title="Pragma">Section 7.4</a>), nor the no-cache cache directive (<a href="#cache-request-directive" title="Request Cache-Control Directives">Section 7.2.1</a>), unless the stored response is successfully validated (<a href="#validation.model" title="Validation">Section 4.2</a>), and 869 869 </li> 870 <li>the stored response does not contain the no-cache cache directive (<a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2. 3</a>), unless it is successfully validated (<a href="#validation.model" title="Validation">Section 4.2</a>), and870 <li>the stored response does not contain the no-cache cache directive (<a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2.2</a>), unless it is successfully validated (<a href="#validation.model" title="Validation">Section 4.2</a>), and 871 871 </li> 872 872 <li>the stored response is either: … … 900 900 </p> 901 901 <p id="rfc.section.4.1.p.2">The primary mechanism for determining freshness is for an origin server to provide an explicit expiration time in the future, 902 using either the <a href="#header.expires" class="smpl">Expires</a> header field (<a href="#header.expires" id="rfc.xref.header.expires.2" title="Expires">Section 7.3</a>) or the max-age response cache directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2. 7</a>). Generally, origin servers will assign future explicit expiration times to responses in the belief that the representation902 using either the <a href="#header.expires" class="smpl">Expires</a> header field (<a href="#header.expires" id="rfc.xref.header.expires.2" title="Expires">Section 7.3</a>) or the max-age response cache directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.8</a>). Generally, origin servers will assign future explicit expiration times to responses in the belief that the representation 903 903 is not likely to change in a semantically significant way before the expiration time is reached. 904 904 </p> … … 935 935 <p id="rfc.section.4.1.1.p.1">A cache can calculate the freshness lifetime (denoted as freshness_lifetime) of a response by using the first match of: </p> 936 936 <ul> 937 <li>If the cache is shared and the s-maxage response cache directive (<a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2. 8</a>) is present, use its value, or938 </li> 939 <li>If the max-age response cache directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2. 7</a>) is present, use its value, or937 <li>If the cache is shared and the s-maxage response cache directive (<a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2.9</a>) is present, use its value, or 938 </li> 939 <li>If the max-age response cache directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.8</a>) is present, use its value, or 940 940 </li> 941 941 <li>If the <a href="#header.expires" class="smpl">Expires</a> response header field (<a href="#header.expires" id="rfc.xref.header.expires.3" title="Expires">Section 7.3</a>) is present, use its value minus the value of the <a href="p2-semantics.html#header.date" class="smpl">Date</a> response header field, or … … 1210 1210 </pre><p id="rfc.section.7.2.p.7">For the cache directives defined below, no argument is defined (nor allowed) unless stated otherwise.</p> 1211 1211 <h3 id="rfc.section.7.2.1"><a href="#rfc.section.7.2.1">7.2.1</a> <a id="cache-request-directive" href="#cache-request-directive">Request Cache-Control Directives</a></h3> 1212 <div id="rfc.iref.n.1"></div>1213 <h4 id="rfc.section.7.2.1.1"><a href="#rfc.section.7.2.1.1">7.2.1.1</a> <a id="cache-request-directive.no-cache" href="#cache-request-directive.no-cache">no-cache</a></h4>1214 <p id="rfc.section.7.2.1.1.p.1">The "no-cache" request directive indicates that a cache <em class="bcp14">MUST NOT</em> use a stored response to satisfy the request without successful validation on the origin server.1215 </p>1216 <div id="rfc.iref.n.2"></div>1217 <h4 id="rfc.section.7.2.1.2"><a href="#rfc.section.7.2.1.2">7.2.1.2</a> <a id="cache-request-directive.no-store" href="#cache-request-directive.no-store">no-store</a></h4>1218 <p id="rfc.section.7.2.1.2.p.1">The "no-store" request directive indicates that a cache <em class="bcp14">MUST NOT</em> store any part of either this request or any response to it. This directive applies to both private and shared caches. "<em class="bcp14">MUST NOT</em> store" in this context means that the cache <em class="bcp14">MUST NOT</em> intentionally store the information in non-volatile storage, and <em class="bcp14">MUST</em> make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it.1219 </p>1220 <p id="rfc.section.7.2.1.2.p.2">This directive is NOT a reliable or sufficient mechanism for ensuring privacy. In particular, malicious or compromised caches1221 might not recognize or obey this directive, and communications networks might be vulnerable to eavesdropping.1222 </p>1223 <p id="rfc.section.7.2.1.2.p.3">Note that if a request containing this directive is satisfied from a cache, the no-store request directive does not apply1224 to the already stored response.1225 </p>1226 1212 <div id="rfc.iref.m.1"></div> 1227 <h4 id="rfc.section.7.2.1. 3"><a href="#rfc.section.7.2.1.3">7.2.1.3</a> <a id="cache-request-directive.max-age" href="#cache-request-directive.max-age">max-age</a></h4>1228 <p id="rfc.section.7.2.1. 3.p.1">Argument syntax: </p>1213 <h4 id="rfc.section.7.2.1.1"><a href="#rfc.section.7.2.1.1">7.2.1.1</a> <a id="cache-request-directive.max-age" href="#cache-request-directive.max-age">max-age</a></h4> 1214 <p id="rfc.section.7.2.1.1.p.1">Argument syntax: </p> 1229 1215 <ul class="empty"> 1230 1216 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.3.1</a>) 1231 1217 </li> 1232 1218 </ul> 1233 <p id="rfc.section.7.2.1. 3.p.2">The "max-age" request directive indicates that the client is unwilling to accept a response whose age is greater than the1219 <p id="rfc.section.7.2.1.1.p.2">The "max-age" request directive indicates that the client is unwilling to accept a response whose age is greater than the 1234 1220 specified number of seconds. Unless the max-stale request directive is also present, the client is not willing to accept a 1235 1221 stale response. 1236 1222 </p> 1237 <p id="rfc.section.7.2.1. 3.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form.1223 <p id="rfc.section.7.2.1.1.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1238 1224 </p> 1239 1225 <div id="rfc.iref.m.2"></div> 1240 <h4 id="rfc.section.7.2.1. 4"><a href="#rfc.section.7.2.1.4">7.2.1.4</a> <a id="cache-request-directive.max-stale" href="#cache-request-directive.max-stale">max-stale</a></h4>1241 <p id="rfc.section.7.2.1. 4.p.1">Argument syntax: </p>1226 <h4 id="rfc.section.7.2.1.2"><a href="#rfc.section.7.2.1.2">7.2.1.2</a> <a id="cache-request-directive.max-stale" href="#cache-request-directive.max-stale">max-stale</a></h4> 1227 <p id="rfc.section.7.2.1.2.p.1">Argument syntax: </p> 1242 1228 <ul class="empty"> 1243 1229 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.3.1</a>) 1244 1230 </li> 1245 1231 </ul> 1246 <p id="rfc.section.7.2.1. 4.p.2">The "max-stale" request directive indicates that the client is willing to accept a response that has exceeded its freshness1232 <p id="rfc.section.7.2.1.2.p.2">The "max-stale" request directive indicates that the client is willing to accept a response that has exceeded its freshness 1247 1233 lifetime. If max-stale is assigned a value, then the client is willing to accept a response that has exceeded its freshness 1248 1234 lifetime by no more than the specified number of seconds. If no value is assigned to max-stale, then the client is willing 1249 1235 to accept a stale response of any age. 1250 1236 </p> 1251 <p id="rfc.section.7.2.1. 4.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-stale=10', not 'max-stale="10"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form.1237 <p id="rfc.section.7.2.1.2.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-stale=10', not 'max-stale="10"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1252 1238 </p> 1253 1239 <div id="rfc.iref.m.3"></div> 1254 <h4 id="rfc.section.7.2.1. 5"><a href="#rfc.section.7.2.1.5">7.2.1.5</a> <a id="cache-request-directive.min-fresh" href="#cache-request-directive.min-fresh">min-fresh</a></h4>1255 <p id="rfc.section.7.2.1. 5.p.1">Argument syntax: </p>1240 <h4 id="rfc.section.7.2.1.3"><a href="#rfc.section.7.2.1.3">7.2.1.3</a> <a id="cache-request-directive.min-fresh" href="#cache-request-directive.min-fresh">min-fresh</a></h4> 1241 <p id="rfc.section.7.2.1.3.p.1">Argument syntax: </p> 1256 1242 <ul class="empty"> 1257 1243 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.3.1</a>) 1258 1244 </li> 1259 1245 </ul> 1260 <p id="rfc.section.7.2.1. 5.p.2">The "min-fresh" request directive indicates that the client is willing to accept a response whose freshness lifetime is no1246 <p id="rfc.section.7.2.1.3.p.2">The "min-fresh" request directive indicates that the client is willing to accept a response whose freshness lifetime is no 1261 1247 less than its current age plus the specified time in seconds. That is, the client wants a response that will still be fresh 1262 1248 for at least the specified number of seconds. 1263 1249 </p> 1264 <p id="rfc.section.7.2.1.5.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'min-fresh=20', not 'min-fresh="20"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1250 <p id="rfc.section.7.2.1.3.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'min-fresh=20', not 'min-fresh="20"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1251 </p> 1252 <div id="rfc.iref.n.1"></div> 1253 <h4 id="rfc.section.7.2.1.4"><a href="#rfc.section.7.2.1.4">7.2.1.4</a> <a id="cache-request-directive.no-cache" href="#cache-request-directive.no-cache">no-cache</a></h4> 1254 <p id="rfc.section.7.2.1.4.p.1">The "no-cache" request directive indicates that a cache <em class="bcp14">MUST NOT</em> use a stored response to satisfy the request without successful validation on the origin server. 1255 </p> 1256 <div id="rfc.iref.n.2"></div> 1257 <h4 id="rfc.section.7.2.1.5"><a href="#rfc.section.7.2.1.5">7.2.1.5</a> <a id="cache-request-directive.no-store" href="#cache-request-directive.no-store">no-store</a></h4> 1258 <p id="rfc.section.7.2.1.5.p.1">The "no-store" request directive indicates that a cache <em class="bcp14">MUST NOT</em> store any part of either this request or any response to it. This directive applies to both private and shared caches. "<em class="bcp14">MUST NOT</em> store" in this context means that the cache <em class="bcp14">MUST NOT</em> intentionally store the information in non-volatile storage, and <em class="bcp14">MUST</em> make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it. 1259 </p> 1260 <p id="rfc.section.7.2.1.5.p.2">This directive is NOT a reliable or sufficient mechanism for ensuring privacy. In particular, malicious or compromised caches 1261 might not recognize or obey this directive, and communications networks might be vulnerable to eavesdropping. 1262 </p> 1263 <p id="rfc.section.7.2.1.5.p.3">Note that if a request containing this directive is satisfied from a cache, the no-store request directive does not apply 1264 to the already stored response. 1265 1265 </p> 1266 1266 <div id="rfc.iref.n.3"></div> … … 1275 1275 </p> 1276 1276 <h3 id="rfc.section.7.2.2"><a href="#rfc.section.7.2.2">7.2.2</a> <a id="cache-response-directive" href="#cache-response-directive">Response Cache-Control Directives</a></h3> 1277 <div id="rfc.iref.m.4"></div> 1278 <h4 id="rfc.section.7.2.2.1"><a href="#rfc.section.7.2.2.1">7.2.2.1</a> <a id="cache-response-directive.must-revalidate" href="#cache-response-directive.must-revalidate">must-revalidate</a></h4> 1279 <p id="rfc.section.7.2.2.1.p.1">The "must-revalidate" response directive indicates that once it has become stale, a cache <em class="bcp14">MUST NOT</em> use the response to satisfy subsequent requests without successful validation on the origin server. 1280 </p> 1281 <p id="rfc.section.7.2.2.1.p.2">The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances 1282 a cache <em class="bcp14">MUST</em> obey the must-revalidate directive; in particular, if a cache cannot reach the origin server for any reason, it <em class="bcp14">MUST</em> generate a <a href="p2-semantics.html#status.504" class="smpl">504 (Gateway Timeout)</a> response. 1283 </p> 1284 <p id="rfc.section.7.2.2.1.p.3">The must-revalidate directive ought to be used by servers if and only if failure to validate a request on the representation 1285 could result in incorrect operation, such as a silently unexecuted financial transaction. 1286 </p> 1287 <div id="rfc.iref.n.4"></div> 1288 <h4 id="rfc.section.7.2.2.2"><a href="#rfc.section.7.2.2.2">7.2.2.2</a> <a id="cache-response-directive.no-cache" href="#cache-response-directive.no-cache">no-cache</a></h4> 1289 <p id="rfc.section.7.2.2.2.p.1">Argument syntax: </p> 1290 <ul class="empty"> 1291 <li>#<a href="#imported.abnf" class="smpl">field-name</a> 1292 </li> 1293 </ul> 1294 <p id="rfc.section.7.2.2.2.p.2">The "no-cache" response directive indicates that the response <em class="bcp14">MUST NOT</em> be used to satisfy a subsequent request without successful validation on the origin server. This allows an origin server to 1295 prevent a cache from using it to satisfy a request without contacting it, even by caches that have been configured to send 1296 stale responses. 1297 </p> 1298 <p id="rfc.section.7.2.2.2.p.3">If the no-cache response directive specifies one or more field-names, then a cache <em class="bcp14">MAY</em> use the response to satisfy a subsequent request, subject to any other restrictions on caching. However, any header fields 1299 in the response that have the field-name(s) listed <em class="bcp14">MUST NOT</em> be sent in the response to a subsequent request without successful revalidation with the origin server. This allows an origin 1300 server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. 1301 </p> 1302 <p id="rfc.section.7.2.2.2.p.4">The field-names given are not limited to the set of header fields defined by this specification. Field names are case-insensitive.</p> 1303 <p id="rfc.section.7.2.2.2.p.5"> <b>Note:</b> Although it has been back-ported to many implementations, some HTTP/1.0 caches will not recognize or obey this directive. 1304 Also, no-cache response directives with field-names are often handled by implementations as if an unqualified no-cache directive 1305 was received; i.e., the special handling for the qualified form is not widely implemented. 1306 </p> 1307 <p id="rfc.section.7.2.2.2.p.6"> <b>Note:</b> This directive uses the quoted-string form of the argument syntax. Senders <em class="bcp14">SHOULD NOT</em> use the token form (even if quoting appears not to be needed for single-entry lists). 1308 </p> 1309 <div id="rfc.iref.n.5"></div> 1310 <h4 id="rfc.section.7.2.2.3"><a href="#rfc.section.7.2.2.3">7.2.2.3</a> <a id="cache-response-directive.no-store" href="#cache-response-directive.no-store">no-store</a></h4> 1311 <p id="rfc.section.7.2.2.3.p.1">The "no-store" response directive indicates that a cache <em class="bcp14">MUST NOT</em> store any part of either the immediate request or response. This directive applies to both private and shared caches. "<em class="bcp14">MUST NOT</em> store" in this context means that the cache <em class="bcp14">MUST NOT</em> intentionally store the information in non-volatile storage, and <em class="bcp14">MUST</em> make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it. 1312 </p> 1313 <p id="rfc.section.7.2.2.3.p.2">This directive is NOT a reliable or sufficient mechanism for ensuring privacy. In particular, malicious or compromised caches 1314 might not recognize or obey this directive, and communications networks might be vulnerable to eavesdropping. 1315 </p> 1316 <div id="rfc.iref.n.6"></div> 1317 <h4 id="rfc.section.7.2.2.4"><a href="#rfc.section.7.2.2.4">7.2.2.4</a> <a id="cache-response-directive.no-transform" href="#cache-response-directive.no-transform">no-transform</a></h4> 1318 <p id="rfc.section.7.2.2.4.p.1">The "no-transform" response directive indicates that an intermediary (regardless of whether it implements a cache) <em class="bcp14">MUST NOT</em> transform the payload, as defined in <a href="p1-messaging.html#message.transformations" title="Transformations">Section 5.7.2</a> of <a href="#Part1" id="rfc.xref.Part1.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. 1319 </p> 1277 1320 <div id="rfc.iref.p.2"></div> 1278 <h4 id="rfc.section.7.2.2. 1"><a href="#rfc.section.7.2.2.1">7.2.2.1</a> <a id="cache-response-directive.public" href="#cache-response-directive.public">public</a></h4>1279 <p id="rfc.section.7.2.2. 1.p.1">The "public" response directive indicates that any cache <em class="bcp14">MAY</em> store the response, even if the response would normally be non-cacheable or cacheable only within a non-shared cache. (See <a href="#caching.authenticated.responses" title="Storing Responses to Authenticated Requests">Section 3.2</a> for additional details related to the use of public in response to a request containing <a href="p7-auth.html#header.authorization" class="smpl">Authorization</a>, and <a href="#response.cacheability" title="Storing Responses in Caches">Section 3</a> for details of how public affects responses that would normally not be stored, due to their status codes not being defined1321 <h4 id="rfc.section.7.2.2.5"><a href="#rfc.section.7.2.2.5">7.2.2.5</a> <a id="cache-response-directive.public" href="#cache-response-directive.public">public</a></h4> 1322 <p id="rfc.section.7.2.2.5.p.1">The "public" response directive indicates that any cache <em class="bcp14">MAY</em> store the response, even if the response would normally be non-cacheable or cacheable only within a non-shared cache. (See <a href="#caching.authenticated.responses" title="Storing Responses to Authenticated Requests">Section 3.2</a> for additional details related to the use of public in response to a request containing <a href="p7-auth.html#header.authorization" class="smpl">Authorization</a>, and <a href="#response.cacheability" title="Storing Responses in Caches">Section 3</a> for details of how public affects responses that would normally not be stored, due to their status codes not being defined 1280 1323 as cacheable.) 1281 1324 </p> 1282 1325 <div id="rfc.iref.p.3"></div> 1283 <h4 id="rfc.section.7.2.2. 2"><a href="#rfc.section.7.2.2.2">7.2.2.2</a> <a id="cache-response-directive.private" href="#cache-response-directive.private">private</a></h4>1284 <p id="rfc.section.7.2.2. 2.p.1">Argument syntax: </p>1326 <h4 id="rfc.section.7.2.2.6"><a href="#rfc.section.7.2.2.6">7.2.2.6</a> <a id="cache-response-directive.private" href="#cache-response-directive.private">private</a></h4> 1327 <p id="rfc.section.7.2.2.6.p.1">Argument syntax: </p> 1285 1328 <ul class="empty"> 1286 1329 <li>#<a href="#imported.abnf" class="smpl">field-name</a> 1287 1330 </li> 1288 1331 </ul> 1289 <p id="rfc.section.7.2.2. 2.p.2">The "private" response directive indicates that the response message is intended for a single user and <em class="bcp14">MUST NOT</em> be stored by a shared cache. A private cache <em class="bcp14">MAY</em> store the response and reuse it for later requests, even if the response would normally be non-cacheable.1290 </p> 1291 <p id="rfc.section.7.2.2. 2.p.3">If the private response directive specifies one or more field-names, this requirement is limited to the field-values associated1332 <p id="rfc.section.7.2.2.6.p.2">The "private" response directive indicates that the response message is intended for a single user and <em class="bcp14">MUST NOT</em> be stored by a shared cache. A private cache <em class="bcp14">MAY</em> store the response and reuse it for later requests, even if the response would normally be non-cacheable. 1333 </p> 1334 <p id="rfc.section.7.2.2.6.p.3">If the private response directive specifies one or more field-names, this requirement is limited to the field-values associated 1292 1335 with the listed response header fields. That is, a shared cache <em class="bcp14">MUST NOT</em> store the specified field-names(s), whereas it <em class="bcp14">MAY</em> store the remainder of the response message. 1293 1336 </p> 1294 <p id="rfc.section.7.2.2. 2.p.4">The field-names given are not limited to the set of header fields defined by this specification. Field names are case-insensitive.</p>1295 <p id="rfc.section.7.2.2. 2.p.5"> <b>Note:</b> This usage of the word "private" only controls where the response can be stored; it cannot ensure the privacy of the message1337 <p id="rfc.section.7.2.2.6.p.4">The field-names given are not limited to the set of header fields defined by this specification. Field names are case-insensitive.</p> 1338 <p id="rfc.section.7.2.2.6.p.5"> <b>Note:</b> This usage of the word "private" only controls where the response can be stored; it cannot ensure the privacy of the message 1296 1339 content. Also, private response directives with field-names are often handled by implementations as if an unqualified private 1297 1340 directive was received; i.e., the special handling for the qualified form is not widely implemented. 1298 1341 </p> 1299 <p id="rfc.section.7.2.2.2.p.6"> <b>Note:</b> This directive uses the quoted-string form of the argument syntax. Senders <em class="bcp14">SHOULD NOT</em> use the token form (even if quoting appears not to be needed for single-entry lists). 1300 </p> 1301 <div id="rfc.iref.n.4"></div> 1302 <h4 id="rfc.section.7.2.2.3"><a href="#rfc.section.7.2.2.3">7.2.2.3</a> <a id="cache-response-directive.no-cache" href="#cache-response-directive.no-cache">no-cache</a></h4> 1303 <p id="rfc.section.7.2.2.3.p.1">Argument syntax: </p> 1304 <ul class="empty"> 1305 <li>#<a href="#imported.abnf" class="smpl">field-name</a> 1306 </li> 1307 </ul> 1308 <p id="rfc.section.7.2.2.3.p.2">The "no-cache" response directive indicates that the response <em class="bcp14">MUST NOT</em> be used to satisfy a subsequent request without successful validation on the origin server. This allows an origin server to 1309 prevent a cache from using it to satisfy a request without contacting it, even by caches that have been configured to send 1310 stale responses. 1311 </p> 1312 <p id="rfc.section.7.2.2.3.p.3">If the no-cache response directive specifies one or more field-names, then a cache <em class="bcp14">MAY</em> use the response to satisfy a subsequent request, subject to any other restrictions on caching. However, any header fields 1313 in the response that have the field-name(s) listed <em class="bcp14">MUST NOT</em> be sent in the response to a subsequent request without successful revalidation with the origin server. This allows an origin 1314 server to prevent the re-use of certain header fields in a response, while still allowing caching of the rest of the response. 1315 </p> 1316 <p id="rfc.section.7.2.2.3.p.4">The field-names given are not limited to the set of header fields defined by this specification. Field names are case-insensitive.</p> 1317 <p id="rfc.section.7.2.2.3.p.5"> <b>Note:</b> Although it has been back-ported to many implementations, some HTTP/1.0 caches will not recognize or obey this directive. 1318 Also, no-cache response directives with field-names are often handled by implementations as if an unqualified no-cache directive 1319 was received; i.e., the special handling for the qualified form is not widely implemented. 1320 </p> 1321 <p id="rfc.section.7.2.2.3.p.6"> <b>Note:</b> This directive uses the quoted-string form of the argument syntax. Senders <em class="bcp14">SHOULD NOT</em> use the token form (even if quoting appears not to be needed for single-entry lists). 1322 </p> 1323 <div id="rfc.iref.n.5"></div> 1324 <h4 id="rfc.section.7.2.2.4"><a href="#rfc.section.7.2.2.4">7.2.2.4</a> <a id="cache-response-directive.no-store" href="#cache-response-directive.no-store">no-store</a></h4> 1325 <p id="rfc.section.7.2.2.4.p.1">The "no-store" response directive indicates that a cache <em class="bcp14">MUST NOT</em> store any part of either the immediate request or response. This directive applies to both private and shared caches. "<em class="bcp14">MUST NOT</em> store" in this context means that the cache <em class="bcp14">MUST NOT</em> intentionally store the information in non-volatile storage, and <em class="bcp14">MUST</em> make a best-effort attempt to remove the information from volatile storage as promptly as possible after forwarding it. 1326 </p> 1327 <p id="rfc.section.7.2.2.4.p.2">This directive is NOT a reliable or sufficient mechanism for ensuring privacy. In particular, malicious or compromised caches 1328 might not recognize or obey this directive, and communications networks might be vulnerable to eavesdropping. 1329 </p> 1330 <div id="rfc.iref.m.4"></div> 1331 <h4 id="rfc.section.7.2.2.5"><a href="#rfc.section.7.2.2.5">7.2.2.5</a> <a id="cache-response-directive.must-revalidate" href="#cache-response-directive.must-revalidate">must-revalidate</a></h4> 1332 <p id="rfc.section.7.2.2.5.p.1">The "must-revalidate" response directive indicates that once it has become stale, a cache <em class="bcp14">MUST NOT</em> use the response to satisfy subsequent requests without successful validation on the origin server. 1333 </p> 1334 <p id="rfc.section.7.2.2.5.p.2">The must-revalidate directive is necessary to support reliable operation for certain protocol features. In all circumstances 1335 a cache <em class="bcp14">MUST</em> obey the must-revalidate directive; in particular, if a cache cannot reach the origin server for any reason, it <em class="bcp14">MUST</em> generate a <a href="p2-semantics.html#status.504" class="smpl">504 (Gateway Timeout)</a> response. 1336 </p> 1337 <p id="rfc.section.7.2.2.5.p.3">The must-revalidate directive ought to be used by servers if and only if failure to validate a request on the representation 1338 could result in incorrect operation, such as a silently unexecuted financial transaction. 1342 <p id="rfc.section.7.2.2.6.p.6"> <b>Note:</b> This directive uses the quoted-string form of the argument syntax. Senders <em class="bcp14">SHOULD NOT</em> use the token form (even if quoting appears not to be needed for single-entry lists). 1339 1343 </p> 1340 1344 <div id="rfc.iref.p.4"></div> 1341 <h4 id="rfc.section.7.2.2. 6"><a href="#rfc.section.7.2.2.6">7.2.2.6</a> <a id="cache-response-directive.proxy-revalidate" href="#cache-response-directive.proxy-revalidate">proxy-revalidate</a></h4>1342 <p id="rfc.section.7.2.2. 6.p.1">The "proxy-revalidate" response directive has the same meaning as the must-revalidate response directive, except that it does1345 <h4 id="rfc.section.7.2.2.7"><a href="#rfc.section.7.2.2.7">7.2.2.7</a> <a id="cache-response-directive.proxy-revalidate" href="#cache-response-directive.proxy-revalidate">proxy-revalidate</a></h4> 1346 <p id="rfc.section.7.2.2.7.p.1">The "proxy-revalidate" response directive has the same meaning as the must-revalidate response directive, except that it does 1343 1347 not apply to private caches. 1344 1348 </p> 1345 1349 <div id="rfc.iref.m.5"></div> 1346 <h4 id="rfc.section.7.2.2. 7"><a href="#rfc.section.7.2.2.7">7.2.2.7</a> <a id="cache-response-directive.max-age" href="#cache-response-directive.max-age">max-age</a></h4>1347 <p id="rfc.section.7.2.2. 7.p.1">Argument syntax: </p>1350 <h4 id="rfc.section.7.2.2.8"><a href="#rfc.section.7.2.2.8">7.2.2.8</a> <a id="cache-response-directive.max-age" href="#cache-response-directive.max-age">max-age</a></h4> 1351 <p id="rfc.section.7.2.2.8.p.1">Argument syntax: </p> 1348 1352 <ul class="empty"> 1349 1353 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.3.1</a>) 1350 1354 </li> 1351 1355 </ul> 1352 <p id="rfc.section.7.2.2. 7.p.2">The "max-age" response directive indicates that the response is to be considered stale after its age is greater than the specified1356 <p id="rfc.section.7.2.2.8.p.2">The "max-age" response directive indicates that the response is to be considered stale after its age is greater than the specified 1353 1357 number of seconds. 1354 1358 </p> 1355 <p id="rfc.section.7.2.2. 7.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form.1359 <p id="rfc.section.7.2.2.8.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 'max-age=5', not 'max-age="5"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1356 1360 </p> 1357 1361 <div id="rfc.iref.s.4"></div> 1358 <h4 id="rfc.section.7.2.2. 8"><a href="#rfc.section.7.2.2.8">7.2.2.8</a> <a id="cache-response-directive.s-maxage" href="#cache-response-directive.s-maxage">s-maxage</a></h4>1359 <p id="rfc.section.7.2.2. 8.p.1">Argument syntax: </p>1362 <h4 id="rfc.section.7.2.2.9"><a href="#rfc.section.7.2.2.9">7.2.2.9</a> <a id="cache-response-directive.s-maxage" href="#cache-response-directive.s-maxage">s-maxage</a></h4> 1363 <p id="rfc.section.7.2.2.9.p.1">Argument syntax: </p> 1360 1364 <ul class="empty"> 1361 1365 <li> <a href="#delta-seconds" class="smpl">delta-seconds</a> (see <a href="#delta-seconds" title="Delta Seconds">Section 1.3.1</a>) 1362 1366 </li> 1363 1367 </ul> 1364 <p id="rfc.section.7.2.2. 8.p.2">The "s-maxage" response directive indicates that, in shared caches, the maximum age specified by this directive overrides1368 <p id="rfc.section.7.2.2.9.p.2">The "s-maxage" response directive indicates that, in shared caches, the maximum age specified by this directive overrides 1365 1369 the maximum age specified by either the max-age directive or the <a href="#header.expires" class="smpl">Expires</a> header field. The s-maxage directive also implies the semantics of the proxy-revalidate response directive. 1366 1370 </p> 1367 <p id="rfc.section.7.2.2.8.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 's-maxage=10', not 's-maxage="10"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1368 </p> 1369 <div id="rfc.iref.n.6"></div> 1370 <h4 id="rfc.section.7.2.2.9"><a href="#rfc.section.7.2.2.9">7.2.2.9</a> <a id="cache-response-directive.no-transform" href="#cache-response-directive.no-transform">no-transform</a></h4> 1371 <p id="rfc.section.7.2.2.9.p.1">The "no-transform" response directive indicates that an intermediary (regardless of whether it implements a cache) <em class="bcp14">MUST NOT</em> transform the payload, as defined in <a href="p1-messaging.html#message.transformations" title="Transformations">Section 5.7.2</a> of <a href="#Part1" id="rfc.xref.Part1.10"><cite title="Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing">[Part1]</cite></a>. 1371 <p id="rfc.section.7.2.2.9.p.3"> <b>Note:</b> This directive uses the token form of the argument syntax; e.g., 's-maxage=10', not 's-maxage="10"'. Senders <em class="bcp14">SHOULD NOT</em> use the quoted-string form. 1372 1372 </p> 1373 1373 <h3 id="rfc.section.7.2.3"><a href="#rfc.section.7.2.3">7.2.3</a> <a id="cache.control.extensions" href="#cache.control.extensions">Cache Control Extensions</a></h3> … … 1432 1432 </pre><p id="rfc.section.7.3.p.6">A cache recipient <em class="bcp14">MUST</em> interpret invalid date formats, especially the value "0", as representing a time in the past (i.e., "already expired"). 1433 1433 </p> 1434 <p id="rfc.section.7.3.p.7">If a response includes a <a href="#header.cache-control" class="smpl">Cache-Control</a> field with the max-age directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2. 7</a>), a recipient <em class="bcp14">MUST</em> ignore the Expires field. Likewise, if a response includes the s-maxage directive (<a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2.8</a>), a shared cache recipient <em class="bcp14">MUST</em> ignore the Expires field. In both these cases, the value in Expires is only intended for recipients that have not yet implemented1434 <p id="rfc.section.7.3.p.7">If a response includes a <a href="#header.cache-control" class="smpl">Cache-Control</a> field with the max-age directive (<a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.8</a>), a recipient <em class="bcp14">MUST</em> ignore the Expires field. Likewise, if a response includes the s-maxage directive (<a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2.9</a>), a shared cache recipient <em class="bcp14">MUST</em> ignore the Expires field. In both these cases, the value in Expires is only intended for recipients that have not yet implemented 1435 1435 the Cache-Control field. 1436 1436 </p> … … 1594 1594 <tr> 1595 1595 <td class="left">max-age</td> 1596 <td class="left"> <a href="#cache-request-directive.max-age" title="max-age">Section 7.2.1. 3</a>, <a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.7</a>1596 <td class="left"> <a href="#cache-request-directive.max-age" title="max-age">Section 7.2.1.1</a>, <a href="#cache-response-directive.max-age" title="max-age">Section 7.2.2.8</a> 1597 1597 </td> 1598 1598 </tr> 1599 1599 <tr> 1600 1600 <td class="left">max-stale</td> 1601 <td class="left"> <a href="#cache-request-directive.max-stale" title="max-stale">Section 7.2.1. 4</a>1601 <td class="left"> <a href="#cache-request-directive.max-stale" title="max-stale">Section 7.2.1.2</a> 1602 1602 </td> 1603 1603 </tr> 1604 1604 <tr> 1605 1605 <td class="left">min-fresh</td> 1606 <td class="left"> <a href="#cache-request-directive.min-fresh" title="min-fresh">Section 7.2.1. 5</a>1606 <td class="left"> <a href="#cache-request-directive.min-fresh" title="min-fresh">Section 7.2.1.3</a> 1607 1607 </td> 1608 1608 </tr> 1609 1609 <tr> 1610 1610 <td class="left">must-revalidate</td> 1611 <td class="left"> <a href="#cache-response-directive.must-revalidate" title="must-revalidate">Section 7.2.2. 5</a>1611 <td class="left"> <a href="#cache-response-directive.must-revalidate" title="must-revalidate">Section 7.2.2.1</a> 1612 1612 </td> 1613 1613 </tr> 1614 1614 <tr> 1615 1615 <td class="left">no-cache</td> 1616 <td class="left"> <a href="#cache-request-directive.no-cache" title="no-cache">Section 7.2.1. 1</a>, <a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2.3</a>1616 <td class="left"> <a href="#cache-request-directive.no-cache" title="no-cache">Section 7.2.1.4</a>, <a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2.2</a> 1617 1617 </td> 1618 1618 </tr> 1619 1619 <tr> 1620 1620 <td class="left">no-store</td> 1621 <td class="left"> <a href="#cache-request-directive.no-store" title="no-store">Section 7.2.1. 2</a>, <a href="#cache-response-directive.no-store" title="no-store">Section 7.2.2.4</a>1621 <td class="left"> <a href="#cache-request-directive.no-store" title="no-store">Section 7.2.1.5</a>, <a href="#cache-response-directive.no-store" title="no-store">Section 7.2.2.3</a> 1622 1622 </td> 1623 1623 </tr> 1624 1624 <tr> 1625 1625 <td class="left">no-transform</td> 1626 <td class="left"> <a href="#cache-request-directive.no-transform" title="no-transform">Section 7.2.1.6</a>, <a href="#cache-response-directive.no-transform" title="no-transform">Section 7.2.2. 9</a>1626 <td class="left"> <a href="#cache-request-directive.no-transform" title="no-transform">Section 7.2.1.6</a>, <a href="#cache-response-directive.no-transform" title="no-transform">Section 7.2.2.4</a> 1627 1627 </td> 1628 1628 </tr> … … 1634 1634 <tr> 1635 1635 <td class="left">private</td> 1636 <td class="left"> <a href="#cache-response-directive.private" title="private">Section 7.2.2. 2</a>1636 <td class="left"> <a href="#cache-response-directive.private" title="private">Section 7.2.2.6</a> 1637 1637 </td> 1638 1638 </tr> 1639 1639 <tr> 1640 1640 <td class="left">proxy-revalidate</td> 1641 <td class="left"> <a href="#cache-response-directive.proxy-revalidate" title="proxy-revalidate">Section 7.2.2. 6</a>1641 <td class="left"> <a href="#cache-response-directive.proxy-revalidate" title="proxy-revalidate">Section 7.2.2.7</a> 1642 1642 </td> 1643 1643 </tr> 1644 1644 <tr> 1645 1645 <td class="left">public</td> 1646 <td class="left"> <a href="#cache-response-directive.public" title="public">Section 7.2.2. 1</a>1646 <td class="left"> <a href="#cache-response-directive.public" title="public">Section 7.2.2.5</a> 1647 1647 </td> 1648 1648 </tr> 1649 1649 <tr> 1650 1650 <td class="left">s-maxage</td> 1651 <td class="left"> <a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2. 8</a>1651 <td class="left"> <a href="#cache-response-directive.s-maxage" title="s-maxage">Section 7.2.2.9</a> 1652 1652 </td> 1653 1653 </tr> … … 1925 1925 </p> 1926 1926 <p id="rfc.section.A.p.14">The "no-store" cache request directive doesn't apply to responses; i.e., a cache can satisfy a request with no-store on it, 1927 and does not invalidate it. (<a href="#cache-request-directive.no-store" title="no-store">Section 7.2.1. 2</a>)1928 </p> 1929 <p id="rfc.section.A.p.15">The "no-cache" response cache directive's meaning has been clarified. (<a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2. 3</a>)1927 and does not invalidate it. (<a href="#cache-request-directive.no-store" title="no-store">Section 7.2.1.5</a>) 1928 </p> 1929 <p id="rfc.section.A.p.15">The "no-cache" response cache directive's meaning has been clarified. (<a href="#cache-response-directive.no-cache" title="no-cache">Section 7.2.2.2</a>) 1930 1930 </p> 1931 1931 <p id="rfc.section.A.p.16">New status codes can now define that caches are allowed to use heuristic freshness with them. (<a href="#heuristic.freshness" title="Calculating Heuristic Freshness">Section 4.1.2</a>) … … 2126 2126 </li> 2127 2127 <li><a id="rfc.index.M" href="#rfc.index.M"><b>M</b></a><ul> 2128 <li>max-age (cache directive) <a href="#rfc.iref.m.1"><b>7.2.1. 3</b></a>, <a href="#rfc.iref.m.5"><b>7.2.2.7</b></a></li>2129 <li>max-stale (cache directive) <a href="#rfc.iref.m.2"><b>7.2.1. 4</b></a></li>2130 <li>min-fresh (cache directive) <a href="#rfc.iref.m.3"><b>7.2.1. 5</b></a></li>2131 <li>must-revalidate (cache directive) <a href="#rfc.iref.m.4"><b>7.2.2. 5</b></a></li>2128 <li>max-age (cache directive) <a href="#rfc.iref.m.1"><b>7.2.1.1</b></a>, <a href="#rfc.iref.m.5"><b>7.2.2.8</b></a></li> 2129 <li>max-stale (cache directive) <a href="#rfc.iref.m.2"><b>7.2.1.2</b></a></li> 2130 <li>min-fresh (cache directive) <a href="#rfc.iref.m.3"><b>7.2.1.3</b></a></li> 2131 <li>must-revalidate (cache directive) <a href="#rfc.iref.m.4"><b>7.2.2.1</b></a></li> 2132 2132 </ul> 2133 2133 </li> 2134 2134 <li><a id="rfc.index.N" href="#rfc.index.N"><b>N</b></a><ul> 2135 <li>no-cache (cache directive) <a href="#rfc.iref.n.1"><b>7.2.1. 1</b></a>, <a href="#rfc.iref.n.4"><b>7.2.2.3</b></a></li>2136 <li>no-store (cache directive) <a href="#rfc.iref.n.2"><b>7.2.1. 2</b></a>, <a href="#rfc.iref.n.5"><b>7.2.2.4</b></a></li>2137 <li>no-transform (cache directive) <a href="#rfc.iref.n.3"><b>7.2.1.6</b></a>, <a href="#rfc.iref.n.6"><b>7.2.2. 9</b></a></li>2135 <li>no-cache (cache directive) <a href="#rfc.iref.n.1"><b>7.2.1.4</b></a>, <a href="#rfc.iref.n.4"><b>7.2.2.2</b></a></li> 2136 <li>no-store (cache directive) <a href="#rfc.iref.n.2"><b>7.2.1.5</b></a>, <a href="#rfc.iref.n.5"><b>7.2.2.3</b></a></li> 2137 <li>no-transform (cache directive) <a href="#rfc.iref.n.3"><b>7.2.1.6</b></a>, <a href="#rfc.iref.n.6"><b>7.2.2.4</b></a></li> 2138 2138 </ul> 2139 2139 </li> … … 2143 2143 </li> 2144 2144 <li><a id="rfc.index.P" href="#rfc.index.P"><b>P</b></a><ul> 2145 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.2</a>, <a href="#rfc.xref.Part1.2">1.3</a>, <a href="#rfc.xref.Part1.3">3.1</a>, <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2. 9</a>, <a href="#rfc.xref.Part1.11">10</a>, <a href="#rfc.xref.Part1.12">11</a>, <a href="#Part1"><b>12.1</b></a>, <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a>, <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.16">B</a>, <a href="#rfc.xref.Part1.17">B</a>, <a href="#rfc.xref.Part1.18">B</a>, <a href="#rfc.xref.Part1.19">B</a>, <a href="#rfc.xref.Part1.20">B</a>, <a href="#rfc.xref.Part1.21">C</a><ul>2145 <li><em>Part1</em> <a href="#rfc.xref.Part1.1">1.2</a>, <a href="#rfc.xref.Part1.2">1.3</a>, <a href="#rfc.xref.Part1.3">3.1</a>, <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.5">4.3</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a>, <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2.4</a>, <a href="#rfc.xref.Part1.11">10</a>, <a href="#rfc.xref.Part1.12">11</a>, <a href="#Part1"><b>12.1</b></a>, <a href="#rfc.xref.Part1.13">B</a>, <a href="#rfc.xref.Part1.14">B</a>, <a href="#rfc.xref.Part1.15">B</a>, <a href="#rfc.xref.Part1.16">B</a>, <a href="#rfc.xref.Part1.17">B</a>, <a href="#rfc.xref.Part1.18">B</a>, <a href="#rfc.xref.Part1.19">B</a>, <a href="#rfc.xref.Part1.20">B</a>, <a href="#rfc.xref.Part1.21">C</a><ul> 2146 2146 <li><em>Section 1.2</em> <a href="#rfc.xref.Part1.2">1.3</a>, <a href="#rfc.xref.Part1.21">C</a></li> 2147 2147 <li><em>Section 2.5</em> <a href="#rfc.xref.Part1.1">1.2</a></li> … … 2152 2152 <li><em>Section 5.5</em> <a href="#rfc.xref.Part1.4">4</a>, <a href="#rfc.xref.Part1.6">6</a>, <a href="#rfc.xref.Part1.7">6</a>, <a href="#rfc.xref.Part1.8">6</a></li> 2153 2153 <li><em>Section 5.7.1</em> <a href="#rfc.xref.Part1.19">B</a></li> 2154 <li><em>Section 5.7.2</em> <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2. 9</a></li>2154 <li><em>Section 5.7.2</em> <a href="#rfc.xref.Part1.9">7.2.1.6</a>, <a href="#rfc.xref.Part1.10">7.2.2.4</a></li> 2155 2155 <li><em>Section 9</em> <a href="#rfc.xref.Part1.12">11</a></li> 2156 2156 </ul> … … 2178 2178 </li> 2179 2179 <li>Pragma header field <a href="#rfc.xref.header.pragma.1">4</a>, <a href="#rfc.iref.p.5"><b>7.4</b></a>, <a href="#rfc.xref.header.pragma.2">9.3</a>, <a href="#rfc.xref.header.pragma.3">A</a></li> 2180 <li>private (cache directive) <a href="#rfc.iref.p.3"><b>7.2.2. 2</b></a></li>2180 <li>private (cache directive) <a href="#rfc.iref.p.3"><b>7.2.2.6</b></a></li> 2181 2181 <li>private cache <a href="#rfc.iref.p.1">1.1</a></li> 2182 <li>proxy-revalidate (cache directive) <a href="#rfc.iref.p.4"><b>7.2.2. 6</b></a></li>2183 <li>public (cache directive) <a href="#rfc.iref.p.2"><b>7.2.2. 1</b></a></li>2182 <li>proxy-revalidate (cache directive) <a href="#rfc.iref.p.4"><b>7.2.2.7</b></a></li> 2183 <li>public (cache directive) <a href="#rfc.iref.p.2"><b>7.2.2.5</b></a></li> 2184 2184 </ul> 2185 2185 </li> … … 2208 2208 </li> 2209 2209 <li><a id="rfc.index.S" href="#rfc.index.S"><b>S</b></a><ul> 2210 <li>s-maxage (cache directive) <a href="#rfc.iref.s.4"><b>7.2.2. 8</b></a></li>2210 <li>s-maxage (cache directive) <a href="#rfc.iref.s.4"><b>7.2.2.9</b></a></li> 2211 2211 <li>shared cache <a href="#rfc.iref.s.1">1.1</a></li> 2212 2212 <li>stale <a href="#rfc.iref.s.2">1.1</a></li>
Note: See TracChangeset
for help on using the changeset viewer.