Changeset 1695 for draft-ietf-httpbis/latest/p6-cache.xml
- Timestamp:
- 25/06/12 07:18:34 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.xml
r1692 r1695 1186 1186 <x:anchor-alias value="Cache-Control"/> 1187 1187 <x:anchor-alias value="cache-directive"/> 1188 <x:anchor-alias value="cache-extension"/>1189 <x:anchor-alias value="cache-request-directive"/>1190 <x:anchor-alias value="cache-response-directive"/>1191 1188 <t> 1192 1189 The "Cache-Control" header field is used to specify directives for … … 1215 1212 target a directive to a specific cache. 1216 1213 </t> 1217 <t>Cache directives are identified by a token, to be compared case-insensitively, and have an optional argument.</t> 1218 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Cache-Control"/><iref primary="true" item="Grammar" subitem="cache-extension"/> 1214 <t> 1215 Cache directives are identified by a token, to be compared case-insensitively, 1216 and have an optional argument, that can use both token and quoted-string 1217 syntax. For the directives defined below that define arguments, recipients 1218 ought to accept both forms, even if one is documented to be preferred. For 1219 any directive not defined by this specification, recipients &MUST; accept 1220 both forms. 1221 </t> 1222 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Cache-Control"/><iref primary="true" item="Grammar" subitem="cache-directive"/> 1219 1223 <x:ref>Cache-Control</x:ref> = 1#<x:ref>cache-directive</x:ref> 1220 1224 1221 <x:ref>cache-directive</x:ref> = <x:ref>cache-request-directive</x:ref> 1222 / <x:ref>cache-response-directive</x:ref> 1223 1224 <x:ref>cache-extension</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 1225 <x:ref>cache-directive</x:ref> = <x:ref>token</x:ref> [ "=" ( <x:ref>token</x:ref> / <x:ref>quoted-string</x:ref> ) ] 1225 1226 </artwork></figure> 1227 <t> 1228 For the cache directives defined below, no argument is defined (nor allowed) 1229 otherwise stated otherwise. 1230 </t> 1226 1231 1227 1232 <section anchor="cache-request-directive" 1228 1233 title="Request Cache-Control Directives"> 1229 <x:anchor-alias value="cache-request-directive" /> 1230 1231 <figure><artwork type="abnf2616"><iref item="Grammar" primary="true" 1232 subitem="cache-request-directive" /> 1233 <x:ref>cache-request-directive</x:ref> = 1234 "no-cache" 1235 / "no-store" 1236 / "max-age" "=" <x:ref>delta-seconds</x:ref> 1237 / "max-stale" [ "=" <x:ref>delta-seconds</x:ref> ] 1238 / "min-fresh" "=" <x:ref>delta-seconds</x:ref> 1239 / "no-transform" 1240 / "only-if-cached" 1241 / <x:ref>cache-extension</x:ref> 1242 </artwork></figure> 1243 1244 <t> 1245 <x:dfn>no-cache</x:dfn> 1234 1235 <section title="no-cache" anchor="cache-request-directive.no-cache"> 1246 1236 <iref item="Cache Directives" primary="true" subitem="no-cache" /> 1247 1237 <iref item="no-cache" primary="true" subitem="Cache Directive" /> 1248 <list>1249 <t>The no-cache request directive indicates that a cache &MUST-NOT;1250 1251 validation on the origin server.</t>1252 </list>1253 </ t>1254 <t> 1255 <x:dfn>no-store</x:dfn>1238 <t> 1239 The no-cache request directive indicates that a cache &MUST-NOT; 1240 use a stored response to satisfy the request without successful 1241 validation on the origin server. 1242 </t> 1243 </section> 1244 1245 <section title="no-store" anchor="cache-request-directive.no-store"> 1256 1246 <iref item="Cache Directives" primary="true" subitem="no-store" /> 1257 1247 <iref item="no-store" primary="true" subitem="Cache Directive" /> 1258 <list> 1259 <t>The no-store request directive indicates that a cache &MUST-NOT; 1260 store any part of either this request or any response to it. This 1261 directive applies to both private and shared caches. "&MUST-NOT; 1262 store" in this context means that the cache &MUST-NOT; intentionally 1263 store the information in non-volatile storage, and &MUST; make a 1264 best-effort attempt to remove the information from volatile storage as 1265 promptly as possible after forwarding it.</t> 1266 <t>This directive is NOT a reliable or sufficient mechanism for ensuring 1267 privacy. In particular, malicious or compromised caches might not 1268 recognize or obey this directive, and communications networks might be 1269 vulnerable to eavesdropping.</t> 1270 <t>Note that if a request containing this directive is satisfied from a 1271 cache, the no-store request directive does not apply to the already 1272 stored response.</t> 1273 </list> 1274 </t> 1275 <t> 1276 <x:dfn>max-age</x:dfn> 1248 <t> 1249 The no-store request directive indicates that a cache &MUST-NOT; 1250 store any part of either this request or any response to it. This 1251 directive applies to both private and shared caches. "&MUST-NOT; 1252 store" in this context means that the cache &MUST-NOT; intentionally 1253 store the information in non-volatile storage, and &MUST; make a 1254 best-effort attempt to remove the information from volatile storage as 1255 promptly as possible after forwarding it. 1256 </t> 1257 <t> 1258 This directive is NOT a reliable or sufficient mechanism for ensuring 1259 privacy. In particular, malicious or compromised caches might not 1260 recognize or obey this directive, and communications networks might be 1261 vulnerable to eavesdropping. 1262 </t> 1263 <t> 1264 Note that if a request containing this directive is satisfied from a 1265 cache, the no-store request directive does not apply to the already 1266 stored response. 1267 </t> 1268 </section> 1269 1270 <section title="max-age" anchor="cache-request-directive.max-age"> 1277 1271 <iref item="Cache Directives" primary="true" subitem="max-age" /> 1278 1272 <iref item="max-age" primary="true" subitem="Cache Directive" /> 1273 <t> 1274 Argument syntax: 1279 1275 <list> 1280 <t>The max-age request directive indicates that the client is unwilling to 1281 accept a response whose age is greater than the specified number of 1282 seconds. Unless the max-stale request directive is also present, the 1283 client is not willing to accept a stale response.</t> 1284 </list> 1285 </t> 1286 <t> 1287 <x:dfn>max-stale</x:dfn> 1276 <t> 1277 <x:ref>delta-seconds</x:ref> (see <xref target="delta-seconds"/>) 1278 </t> 1279 </list> 1280 </t> 1281 <t> 1282 The max-age request directive indicates that the client is unwilling to 1283 accept a response whose age is greater than the specified number of 1284 seconds. Unless the max-stale request directive is also present, the 1285 client is not willing to accept a stale response. 1286 </t> 1287 <t> 1288 &Note; This directive uses the token form of the argument syntax; 1289 e.g., 'max-age=5', not 'max-age="5"'. Senders &SHOULD-NOT; use the 1290 quoted-string form. 1291 </t> 1292 </section> 1293 1294 <section title="max-stale" anchor="cache-request-directive.max-stale"> 1288 1295 <iref item="Cache Directives" primary="true" subitem="max-stale" /> 1289 1296 <iref item="max-stale" primary="true" subitem="Cache Directive" /> 1297 <t> 1298 Argument syntax: 1290 1299 <list> 1291 <t>The max-stale request directive indicates that the client is willing 1292 to accept a response that has exceeded its expiration time. If max-stale 1293 is assigned a value, then the client is willing to accept a response 1294 that has exceeded its expiration time by no more than the specified 1295 number of seconds. If no value is assigned to max-stale, then the client 1296 is willing to accept a stale response of any age.</t> 1297 </list> 1298 </t> 1299 <t> 1300 <x:dfn>min-fresh</x:dfn> 1300 <t> 1301 <x:ref>delta-seconds</x:ref> (see <xref target="delta-seconds"/>) 1302 </t> 1303 </list> 1304 </t> 1305 <t> 1306 The max-stale request directive indicates that the client is willing 1307 to accept a response that has exceeded its expiration time. If max-stale 1308 is assigned a value, then the client is willing to accept a response 1309 that has exceeded its expiration time by no more than the specified 1310 number of seconds. If no value is assigned to max-stale, then the client 1311 is willing to accept a stale response of any age. 1312 </t> 1313 <t> 1314 &Note; This directive uses the token form of the argument syntax; 1315 e.g., 'max-stale=10', not 'max-stale="10"'. Senders &SHOULD-NOT; use the 1316 quoted-string form. 1317 </t> 1318 </section> 1319 1320 <section title="min-fresh" anchor="cache-request-directive.min-fresh"> 1301 1321 <iref item="Cache Directives" primary="true" subitem="min-fresh" /> 1302 1322 <iref item="min-fresh" primary="true" subitem="Cache Directive" /> 1323 <t> 1324 Argument syntax: 1303 1325 <list> 1304 <t>The min-fresh request directive indicates that the client is willing 1305 to accept a response whose freshness lifetime is no less than its 1306 current age plus the specified time in seconds. That is, the client 1307 wants a response that will still be fresh for at least the specified 1308 number of seconds.</t> 1309 </list> 1310 </t> 1311 <t> 1312 <x:dfn>no-transform</x:dfn> 1326 <t> 1327 <x:ref>delta-seconds</x:ref> (see <xref target="delta-seconds"/>) 1328 </t> 1329 </list> 1330 </t> 1331 <t> 1332 The min-fresh request directive indicates that the client is willing 1333 to accept a response whose freshness lifetime is no less than its 1334 current age plus the specified time in seconds. That is, the client 1335 wants a response that will still be fresh for at least the specified 1336 number of seconds. 1337 </t> 1338 <t> 1339 &Note; This directive uses the token form of the argument syntax; 1340 e.g., 'min-fresh=20', not 'min-fresh="20"'. Senders &SHOULD-NOT; use the 1341 quoted-string form. 1342 </t> 1343 </section> 1344 1345 <section title="no-transform" anchor="cache-request-directive.no-transform"> 1313 1346 <iref item="Cache Directives" primary="true" subitem="no-transform" /> 1314 1347 <iref item="no-transform" primary="true" subitem="Cache Directive" /> 1315 <list>1316 <t>The no-transform request directive indicates that an intermediary1317 1318 1319 nor the request representation.</t>1320 </list>1321 </ t>1322 <t> 1323 <x:dfn>only-if-cached</x:dfn>1348 <t> 1349 The no-transform request directive indicates that an intermediary 1350 (whether or not it implements a cache) &MUST-NOT; change the 1351 Content-Encoding, Content-Range or Content-Type request header fields, 1352 nor the request representation. 1353 </t> 1354 </section> 1355 1356 <section title="only-if-cached" anchor="cache-request-directive.only-if-cached"> 1324 1357 <iref item="Cache Directives" primary="true" subitem="only-if-cached" /> 1325 1358 <iref item="only-if-cached" primary="true" subitem="Cache Directive" /> 1326 <list>1327 <t>The only-if-cached request directive indicates that the client only1328 wishes to obtain a stored response. If it receives this directive, a1329 1330 1331 1332 1333 forward such a request within that group of caches.</t>1334 </list>1335 </ t>1359 <t> 1360 The only-if-cached request directive indicates that the client only 1361 wishes to obtain a stored response. If it receives 3ive, a 1362 cache &SHOULD; either respond using a stored response that is consistent 1363 with the other constraints of the request, or respond with a 504 1364 (Gateway Timeout) status code. If a group of caches is being operated as 1365 a unified system with good internal connectivity, a member cache &MAY; 1366 forward such a request within that group of caches. 1367 </t> 1368 </section> 1336 1369 </section> 1337 1370 … … 1340 1373 <x:anchor-alias value="cache-response-directive" /> 1341 1374 1342 <figure><artwork type="abnf2616"><iref item="Grammar" primary="true" 1343 subitem="cache-response-directive" /> 1344 <x:ref>cache-response-directive</x:ref> = 1345 "public" 1346 / "private" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] 1347 / "no-cache" [ "=" <x:ref>DQUOTE</x:ref> 1#<x:ref>field-name</x:ref> <x:ref>DQUOTE</x:ref> ] 1348 / "no-store" 1349 / "no-transform" 1350 / "must-revalidate" 1351 / "proxy-revalidate" 1352 / "max-age" "=" <x:ref>delta-seconds</x:ref> 1353 / "s-maxage" "=" <x:ref>delta-seconds</x:ref> 1354 / <x:ref>cache-extension</x:ref> 1355 </artwork></figure> 1356 1357 <t> 1358 <x:dfn>public</x:dfn> 1375 <section title="public" anchor="cache-response-directive.only-if-cached"> 1359 1376 <iref item="Cache Directives" primary="true" subitem="public" /> 1360 1377 <iref item="public" primary="true" subitem="Cache Directive" /> 1361 <list>1362 <t>The public response directive indicates that a response whose1363 1364 stored (see <xref target="caching.authenticated.responses" />).</t>1365 </list>1366 </ t>1367 <t> 1368 <x:dfn>private</x:dfn>1378 <t> 1379 The public response directive indicates that a response whose 1380 associated request contains an 'Authentication' header &MAY; be 1381 stored (see <xref target="caching.authenticated.responses" />). 1382 </t> 1383 </section> 1384 1385 <section title="private" anchor="cache-response-directive.private"> 1369 1386 <iref item="Cache Directives" primary="true" subitem="private" /> 1370 1387 <iref item="private" primary="true" subitem="Cache Directive" /> 1388 <t> 1389 Argument syntax: 1371 1390 <list> 1372 <t>The private response directive indicates that the response message is 1373 intended for a single user and &MUST-NOT; be stored by a shared cache. A 1374 private cache &MAY; store the response.</t> 1375 <t>If the private response directive specifies one or more field-names, 1376 this requirement is limited to the field-values associated with the 1377 listed response header fields. That is, a shared cache &MUST-NOT; store 1378 the specified field-names(s), whereas it &MAY; store the remainder of the 1379 response message.</t> 1380 <t>The field-names given are not limited to the set of standard header 1381 fields defined by this specification. Field names are case-insensitive. 1391 <t> 1392 #<x:ref>field-name</x:ref> 1382 1393 </t> 1383 <t>&Note; This usage of the word "private" only controls 1384 where the response can be stored; it cannot ensure the privacy of the 1385 message content. Also, private response directives with field-names are 1386 often handled by implementations as if an unqualified private directive 1387 was received; i.e., the special handling for the qualified form is not 1388 widely implemented.</t> 1389 </list> 1390 </t> 1391 <t> 1392 <x:dfn>no-cache</x:dfn> 1394 </list> 1395 </t> 1396 <t> 1397 The private response directive indicates that the response message is 1398 intended for a single user and &MUST-NOT; be stored by a shared cache. A 1399 private cache &MAY; store the response. 1400 </t> 1401 <t> 1402 If the private response directive specifies one or more field-names, 1403 this requirement is limited to the field-values associated with the 1404 listed response header fields. That is, a shared cache &MUST-NOT; store 1405 the specified field-names(s), whereas it &MAY; store the remainder of the 1406 response message. 1407 </t> 1408 <t> 1409 The field-names given are not limited to the set of standard header 1410 fields defined by this specification. Field names are case-insensitive. 1411 </t> 1412 <t> 1413 &Note; This usage of the word "private" only controls 1414 where the response can be stored; it cannot ensure the privacy of the 1415 message content. Also, private response directives with field-names are 1416 often handled by implementations as if an unqualified private directive 1417 was received; i.e., the special handling for the qualified form is not 1418 widely implemented. 1419 </t> 1420 <t> 1421 &Note; This directive uses the quoted-string form of the argument 1422 syntax. Senders &SHOULD-NOT; use the token form (even if quoting appears not 1423 to be needed for single-entry lists). 1424 </t> 1425 </section> 1426 1427 <section title="no-cache" anchor="cache-response-directive.no-cache"> 1393 1428 <iref item="Cache Directives" primary="true" subitem="no-cache" /> 1394 1429 <iref item="no-cache" primary="true" subitem="Cache Directive" /> 1430 <t> 1431 Argument syntax: 1395 1432 <list> 1396 <t>The no-cache response directive indicates that the response &MUST-NOT; 1397 be used to satisfy a subsequent request without successful validation on 1398 the origin server. This allows an origin server to prevent a cache from 1399 using it to satisfy a request without contacting it, even by caches that 1400 have been configured to return stale responses.</t> 1401 <t>If the no-cache response directive specifies one or more field-names, 1402 then a cache &MAY; use the response to satisfy a subsequent request, 1403 subject to any other restrictions on caching. However, any header fields 1404 in the response that have the field-name(s) listed &MUST-NOT; be sent 1405 in the response to a subsequent request without successful revalidation 1406 with the origin server. This allows an origin server to prevent the 1407 re-use of certain header fields in a response, while still allowing 1408 caching of the rest of the response.</t> 1409 <t>The field-names given are not limited to the set of standard header 1410 fields defined by this specification. Field names are case-insensitive. 1433 <t> 1434 #<x:ref>field-name</x:ref> 1411 1435 </t> 1412 <t>&Note; Most HTTP/1.0 caches will not recognize or obey 1413 this directive. Also, no-cache response directives with field-names are 1414 often handled by implementations as if an unqualified no-cache directive 1415 was received; i.e., the special handling for the qualified form is not 1416 widely implemented.</t> 1417 </list> 1418 </t> 1419 <t> 1420 <x:dfn>no-store</x:dfn> 1436 </list> 1437 </t> 1438 <t> 1439 The no-cache response directive indicates that the response &MUST-NOT; 1440 be used to satisfy a subsequent request without successful validation on 1441 the origin server. This allows an origin server to prevent a cache from 1442 using it to satisfy a request without contacting it, even by caches that 1443 have been configured to return stale responses. 1444 </t> 1445 <t> 1446 If the no-cache response directive specifies one or more field-names, 1447 then a cache &MAY; use the response to satisfy a subsequent request, 1448 subject to any other restrictions on caching. However, any header fields 1449 in the response that have the field-name(s) listed &MUST-NOT; be sent 1450 in the response to a subsequent request without successful revalidation 1451 with the origin server. This allows an origin server to prevent the 1452 re-use of certain header fields in a response, while still allowing 1453 caching of the rest of the response. 1454 </t> 1455 <t> 1456 The field-names given are not limited to the set of standard header 1457 fields defined by this specification. Field names are case-insensitive. 1458 </t> 1459 <t> 1460 &Note; Most HTTP/1.0 caches will not recognize or obey 1461 this directive. Also, no-cache response directives with field-names are 1462 often handled by implementations as if an unqualified no-cache directive 1463 was received; i.e., the special handling for the qualified form is not 1464 widely implemented. 1465 </t> 1466 <t> 1467 &Note; This directive uses the quoted-string form of the argument 1468 syntax. Senders &SHOULD-NOT; use the token form (even if quoting appears not 1469 to be needed for single-entry lists). 1470 </t> 1471 </section> 1472 1473 <section title="no-store" anchor="cache-response-directive.no-store"> 1421 1474 <iref item="Cache Directives" primary="true" subitem="no-store" /> 1422 1475 <iref item="no-store" primary="true" subitem="Cache Directive" /> 1423 <list> 1424 <t>The no-store response directive indicates that a cache &MUST-NOT; 1425 store any part of either the immediate request or response. This 1426 directive applies to both private and shared caches. "&MUST-NOT; 1427 store" in this context means that the cache &MUST-NOT; intentionally 1428 store the information in non-volatile storage, and &MUST; make a 1429 best-effort attempt to remove the information from volatile storage as 1430 promptly as possible after forwarding it.</t> 1431 <t>This directive is NOT a reliable or sufficient mechanism for ensuring 1432 privacy. In particular, malicious or compromised caches might not 1433 recognize or obey this directive, and communications networks might be 1434 vulnerable to eavesdropping.</t> 1435 </list> 1436 </t> 1437 <t> 1438 <x:dfn>must-revalidate</x:dfn> 1476 <t> 1477 The no-store response directive indicates that a cache &MUST-NOT; 1478 store any part of either the immediate request or response. This 1479 directive applies to both private and shared caches. "&MUST-NOT; 1480 store" in this context means that the cache &MUST-NOT; intentionally 1481 store the information in non-volatile storage, and &MUST; make a 1482 best-effort attempt to remove the information from volatile storage as 1483 promptly as possible after forwarding it. 1484 </t> 1485 <t> 1486 This directive is NOT a reliable or sufficient mechanism for ensuring 1487 privacy. In particular, malicious or compromised caches might not 1488 recognize or obey this directive, and communications networks might be 1489 vulnerable to eavesdropping. 1490 </t> 1491 </section> 1492 1493 <section title="must-revalidate" anchor="cache-response-directive.must-revalidate"> 1439 1494 <iref item="Cache Directives" primary="true" subitem="must-revalidate" /> 1440 1495 <iref item="must-revalidate" primary="true" subitem="Cache Directive" /> 1441 <list> 1442 <t>The must-revalidate response directive indicates that once it has 1443 become stale, a cache &MUST-NOT; use the response to satisfy subsequent 1444 requests without successful validation on the origin server.</t> 1445 <t>The must-revalidate directive is necessary to support reliable 1446 operation for certain protocol features. In all circumstances a 1447 cache &MUST; obey the must-revalidate directive; in particular, 1448 if a cache cannot reach the origin server for any reason, it &MUST; 1449 generate a 504 (Gateway Timeout) response.</t> 1450 <t>The must-revalidate directive ought to be used by servers if and only 1451 if failure to validate a request on the representation could result in 1452 incorrect operation, such as a silently unexecuted financial 1453 transaction.</t> 1454 </list> 1455 </t> 1456 <t> 1457 <x:dfn>proxy-revalidate</x:dfn> 1496 <t> 1497 The must-revalidate response directive indicates that once it has 1498 become stale, a cache &MUST-NOT; use the response to satisfy subsequent 1499 requests without successful validation on the origin server. 1500 </t> 1501 <t> 1502 The must-revalidate directive is necessary to support reliable 1503 operation for certain protocol features. In all circumstances a 1504 cache &MUST; obey the must-revalidate directive; in particular, 1505 if a cache cannot reach the origin server for any reason, it &MUST; 1506 generate a 504 (Gateway Timeout) response. 1507 </t> 1508 <t> 1509 The must-revalidate directive ought to be used by servers if and only 1510 if failure to validate a request on the representation could result in 1511 incorrect operation, such as a silently unexecuted financial 1512 transaction. 1513 </t> 1514 </section> 1515 1516 <section title="proxy-revalidate" anchor="cache-response-directive.proxy-revalidate"> 1458 1517 <iref item="Cache Directives" primary="true" subitem="proxy-revalidate" /> 1459 1518 <iref item="proxy-revalidate" primary="true" subitem="Cache Directive" /> 1460 <list>1461 <t>The proxy-revalidate response directive has the same meaning as the1462 1463 private caches.</t>1464 </list>1465 </ t>1466 <t> 1467 <x:dfn>max-age</x:dfn>1519 <t> 1520 The proxy-revalidate response directive has the same meaning as the 1521 must-revalidate response directive, except that it does not apply to 1522 private caches. 1523 </t> 1524 </section> 1525 1526 <section title="max-age" anchor="cache-response-directive.max-age"> 1468 1527 <iref item="Cache Directives" primary="true" subitem="max-age" /> 1469 1528 <iref item="max-age" primary="true" subitem="Cache Directive" /> 1529 <t> 1530 Argument syntax: 1470 1531 <list> 1471 <t>The max-age response directive indicates that the response is to be 1472 considered stale after its age is greater than the specified number of 1473 seconds.</t> 1474 </list> 1475 </t> 1476 <t> 1477 <x:dfn>s-maxage</x:dfn> 1532 <t> 1533 <x:ref>delta-seconds</x:ref> (see <xref target="delta-seconds"/>) 1534 </t> 1535 </list> 1536 </t> 1537 <t> 1538 The max-age response directive indicates that the response is to be 1539 considered stale after its age is greater than the specified number of 1540 seconds. 1541 </t> 1542 <t> 1543 &Note; This directive uses the token form of the argument syntax; 1544 e.g., 'max-age=5', not 'max-age="5"'. Senders &SHOULD-NOT; use the 1545 quoted-string form. 1546 </t> 1547 </section> 1548 1549 <section title="s-maxage" anchor="cache-response-directive.s-maxage"> 1478 1550 <iref item="Cache Directives" primary="true" subitem="s-maxage" /> 1479 1551 <iref item="s-maxage" primary="true" subitem="Cache Directive" /> 1552 <t> 1553 Argument syntax: 1480 1554 <list> 1481 <t>The s-maxage response directive indicates that, in shared caches, the 1482 maximum age specified by this directive overrides the maximum age 1483 specified by either the max-age directive or the Expires header field. The 1484 s-maxage directive also implies the semantics of the proxy-revalidate 1485 response directive.</t> 1486 </list> 1487 </t> 1488 <t> 1489 <x:dfn>no-transform</x:dfn> 1555 <t> 1556 <x:ref>delta-seconds</x:ref> (see <xref target="delta-seconds"/>) 1557 </t> 1558 </list> 1559 </t> 1560 <t> 1561 The s-maxage response directive indicates that, in shared caches, the 1562 maximum age specified by this directive overrides the maximum age 1563 specified by either the max-age directive or the Expires header field. The 1564 s-maxage directive also implies the semantics of the proxy-revalidate 1565 response directive. 1566 </t> 1567 <t> 1568 &Note; This directive uses the token form of the argument syntax; 1569 e.g., 's-maxage=10', not 's-maxage="10"'. Senders &SHOULD-NOT; use the 1570 quoted-string form. 1571 </t> 1572 </section> 1573 1574 <section title="no-transform" anchor="cache-response-directive.no-transform"> 1490 1575 <iref item="Cache Directives" primary="true" subitem="no-transform" /> 1491 1576 <iref item="no-transform" primary="true" subitem="Cache Directive" /> 1492 <list>1493 <t>The no-transform response directive indicates that an intermediary1494 1495 1496 nor the response representation.</t>1497 </list>1498 </ t>1577 <t> 1578 The no-transform response directive indicates that an intermediary 1579 (regardless of whether it implements a cache) &MUST-NOT; change the 1580 Content-Encoding, Content-Range or Content-Type response header fields, 1581 nor the response representation. 1582 </t> 1583 </section> 1499 1584 1500 1585 </section> … … 1953 2038 <c>max-age</c> 1954 2039 <c> 1955 <xref target="cache-request-directive "/>, <xref target="cache-response-directive"/>2040 <xref target="cache-request-directive.max-age"/>, <xref target="cache-response-directive.max-age"/> 1956 2041 </c> 1957 2042 <c>max-stale</c> 1958 2043 <c> 1959 <xref target="cache-request-directive "/>2044 <xref target="cache-request-directive.max-stale"/> 1960 2045 </c> 1961 2046 <c>min-fresh</c> 1962 2047 <c> 1963 <xref target="cache-request-directive "/>2048 <xref target="cache-request-directive.min-fresh"/> 1964 2049 </c> 1965 2050 <c>must-revalidate</c> 1966 2051 <c> 1967 <xref target="cache-response-directive "/>2052 <xref target="cache-response-directive.must-revalidate"/> 1968 2053 </c> 1969 2054 <c>no-cache</c> 1970 2055 <c> 1971 <xref target="cache-request-directive "/>, <xref target="cache-response-directive"/>2056 <xref target="cache-request-directive.no-cache"/>, <xref target="cache-response-directive.no-cache"/> 1972 2057 </c> 1973 2058 <c>no-store</c> 1974 2059 <c> 1975 <xref target="cache-request-directive "/>, <xref target="cache-response-directive"/>2060 <xref target="cache-request-directive.no-store"/>, <xref target="cache-response-directive.no-store"/> 1976 2061 </c> 1977 2062 <c>no-transform</c> 1978 2063 <c> 1979 <xref target="cache-request-directive "/>, <xref target="cache-response-directive"/>2064 <xref target="cache-request-directive.no-transform"/>, <xref target="cache-response-directive.no-transform"/> 1980 2065 </c> 1981 2066 <c>only-if-cached</c> 1982 2067 <c> 1983 <xref target="cache-request-directive "/>2068 <xref target="cache-request-directive.only-if-cached"/> 1984 2069 </c> 1985 2070 <c>private</c> 1986 2071 <c> 1987 <xref target="cache-response-directive "/>2072 <xref target="cache-response-directive.private"/> 1988 2073 </c> 1989 2074 <c>proxy-revalidate</c> 1990 2075 <c> 1991 <xref target="cache-response-directive "/>2076 <xref target="cache-response-directive.proxy-revalidate"/> 1992 2077 </c> 1993 2078 <c>public</c> 1994 2079 <c> 1995 <xref target="cache-response-directive "/>2080 <xref target="cache-response-directive.only-if-cached"/> 1996 2081 </c> 1997 2082 <c>s-maxage</c> 1998 2083 <c> 1999 <xref target="cache-response-directive "/>2084 <xref target="cache-response-directive.s-maxage"/> 2000 2085 </c> 2001 2086 <c>stale-if-error</c> … … 2443 2528 ) 2444 2529 2445 <x:ref>cache-directive</x:ref> = cache-request-directive / cache-response-directive 2446 <x:ref>cache-extension</x:ref> = token [ "=" ( token / quoted-string ) ] 2447 <x:ref>cache-request-directive</x:ref> = "no-cache" / "no-store" / ( "max-age=" 2448 delta-seconds ) / ( "max-stale" [ "=" delta-seconds ] ) / ( 2449 "min-fresh=" delta-seconds ) / "no-transform" / "only-if-cached" / 2450 cache-extension 2451 <x:ref>cache-response-directive</x:ref> = "public" / ( "private" [ "=" DQUOTE *( "," 2452 OWS ) field-name *( OWS "," [ OWS field-name ] ) DQUOTE ] ) / ( 2453 "no-cache" [ "=" DQUOTE *( "," OWS ) field-name *( OWS "," [ OWS 2454 field-name ] ) DQUOTE ] ) / "no-store" / "no-transform" / 2455 "must-revalidate" / "proxy-revalidate" / ( "max-age=" delta-seconds 2456 ) / ( "s-maxage=" delta-seconds ) / cache-extension 2530 <x:ref>cache-directive</x:ref> = token [ "=" ( token / quoted-string ) ] 2457 2531 2458 2532 <x:ref>delta-seconds</x:ref> = 1*DIGIT … … 2501 2575 <list style="symbols"> 2502 2576 <t> 2577 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/307"/>: 2578 "untangle Cache-Control ABNF" 2579 </t> 2580 <t> 2503 2581 <eref target="http://tools.ietf.org/wg/httpbis/trac/ticket/355"/>: 2504 2582 "Case sensitivity of header fields in CC values"
Note: See TracChangeset
for help on using the changeset viewer.