Changeset 1112 for draft-ietf-httpbis/latest/p6-cache.xml
- Timestamp:
- 10/02/11 05:52:29 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.xml
r1110 r1112 264 264 </t> 265 265 <t> 266 <iref item="cache" /> 267 <x:dfn>cache</x:dfn> 268 <list> 269 <t>A conformant implementation of a HTTP cache. Note that this implies 270 an HTTP/1.1 cache; this specification does not define conformance 271 for HTTP/1.0 caches.</t> 272 </list> 273 </t> 274 <t anchor="shared.and.non-shared.caches"> 275 <iref item="shared cache" /> 276 <x:dfn>shared cache</x:dfn> 277 <list> 278 <t>A cache that is accessible to more than one user; usually (but 279 not always) deployed as part of an intermediary.</t> 280 </list> 281 </t> 282 <t> 283 <iref item="private cache" /> 284 <x:dfn>private cache</x:dfn> 285 <list> 286 <t>A cache that is dedicated to a single user.</t> 287 </list> 288 </t> 289 <t> 266 290 <iref item="cacheable" /> 267 291 <x:dfn>cacheable</x:dfn> … … 270 294 response message for use in answering subsequent requests. Even when a 271 295 response is cacheable, there might be additional constraints on whether 272 a cache can use the cached copy to satisfy a particular request.</t>296 a cache can use the stored copy to satisfy a particular request.</t> 273 297 </list> 274 298 </t> … … 334 358 <list> 335 359 <t>A protocol element (e.g., an entity-tag or a Last-Modified time) that 336 is used to find out whether a stored response has an equivalent copy of360 is used to find out whether a stored response is an equivalent copy of 337 361 a representation.</t> 338 </list>339 </t>340 <t anchor="shared.and.non-shared.caches">341 <iref item="validator" />342 <x:dfn>shared cache</x:dfn>343 <list>344 <t>A cache that is accessible to more than one user. A non-shared cache345 is dedicated to a single user.</t>346 362 </list> 347 363 </t> … … 525 541 <t> 526 542 When a stored response is used to satisfy a request without validation, 527 caches&MUST; include a single Age header field (<xref target="header.age"543 a cache &MUST; include a single Age header field (<xref target="header.age" 528 544 />) in the response with a value equal to the stored response's 529 545 current_age; see <xref target="age.calculations" />. 530 546 </t> 531 547 <t> 532 Requests with methods that are unsafe (&safe-methods;) &MUST; be written533 through the cache to the origin server; i.e., a cache must not reply to534 such a request before having forwarded the request and having received a535 corresponding response.548 A cache &MUST; write through requests with methods that are unsafe 549 (&safe-methods;) to the origin server; i.e., a cache must not generate 550 a reply to such a request before having forwarded the request and having 551 received a corresponding response. 536 552 </t> 537 553 <t> … … 540 556 </t> 541 557 <t> 542 Caches&MUST; use the most recent response (as determined by the Date543 header field) when more than one suitable response is stored. Theycan also558 A cache &MUST; use the most recent response (as determined by the Date 559 header field) when more than one suitable response is stored. It can also 544 560 forward a request with "Cache-Control: max-age=0" or "Cache-Control: 545 561 no-cache" to disambiguate which response to use. 546 562 </t> 547 563 <t> 548 A n HTTP implementation without a clock&MUST-NOT; used stored responses549 without revalidating them on every use. A n HTTPcache, especially a shared564 A cache that does not have a clock available &MUST-NOT; used stored responses 565 without revalidating them on every use. A cache, especially a shared 550 566 cache, &SHOULD; use a mechanism, such as NTP <xref target="RFC1305"/>, to 551 567 synchronize its clock with a reliable external standard. … … 576 592 </t> 577 593 <t> 578 Since origin servers do not always provide explicit expiration times, HTTP579 caches &MAY; assign heuristic expiration times when explicit times arenot580 specified, employing algorithms that use other heade field values (such as the581 Last-Modified time) to estimate a plausible expiration time. Th e HTTP/1.1594 Since origin servers do not always provide explicit expiration times, 595 a cache &MAY; assign a heuristic expiration time when an explicit time is not 596 specified, employing algorithms that use other header field values (such as the 597 Last-Modified time) to estimate a plausible expiration time. This 582 598 specification does not provide specific algorithms, but does impose 583 599 worst-case constraints on their results. … … 642 658 status code whose definition allows heuristic freshness to be used 643 659 (including the following in &status-codes;: 200, 203, 206, 300, 301 and 644 410), a heuristic expiration time &MAY; be calculated. Heuristics645 &MUST-NOT; be used for response status codes that do not explicitly allow646 it.647 </t> 648 <t> 649 When a heuristic is used to calculate freshness lifetime, thecache660 410), a cache &MAY; calculate a heuristic expiration time. A cache &MUST-NOT; 661 use heuristics to determine freshness for responses with status codes that do 662 not explicitly allow it. 663 </t> 664 <t> 665 When a heuristic is used to calculate freshness lifetime, a cache 650 666 &SHOULD; attach a Warning header field with a 113 warn-code to the response if 651 667 its current_age is more than 24 hours and such a warning is not already … … 654 670 <t> 655 671 Also, if the response has a Last-Modified header field (&header-last-modified;), 656 the heuristic expiration value &SHOULD; be no more than some fraction of657 the interval since that time. A typical setting of this fraction might be658 10%.672 a cache &SHOULD-NOT; use a heuristic expiration value that is more than some 673 fraction of the interval since that time. A typical setting of this fraction 674 might be 10%. 659 675 </t> 660 676 <x:note> … … 712 728 <t> 713 729 The term "now" means "the current value of the clock at the host 714 performing the calculation". Hosts that use HTTP, but especially 715 hosts running origin servers and caches, &SHOULD; use NTP (<xref 716 target="RFC1305"/>) or some similar protocol to synchronize their 730 performing the calculation". A cache &SHOULD; use NTP (<xref 731 target="RFC1305"/>) or some similar protocol to synchronize its 717 732 clocks to a globally accurate time standard. 718 733 </t> … … 744 759 the result is negative, the result is replaced by zero.</t> 745 760 <t>the "corrected_age_value", if all of the caches along the response 746 path implement HTTP/1.1 ; note this value &MUST; be interpretedrelative761 path implement HTTP/1.1. A cache &MUST; interpret this value relative 747 762 to the time the request was initiated, not the time that the response 748 763 was received.</t> … … 780 795 </t> 781 796 <t> 782 Caches&MUST-NOT; return a stale response if it is prohibited by an797 A cache &MUST-NOT; return a stale response if it is prohibited by an 783 798 explicit in-protocol directive (e.g., by a "no-store" or "no-cache" cache 784 799 directive, a "must-revalidate" cache-response-directive, or an applicable … … 787 802 </t> 788 803 <t> 789 Caches &SHOULD-NOT; return stale responses unless they aredisconnected804 A cache &SHOULD-NOT; return stale responses unless it is disconnected 790 805 (i.e., it cannot contact the origin server or otherwise find a forward 791 806 path) or otherwise explicitly allowed (e.g., the max-stale request … … 793 808 </t> 794 809 <t> 795 Stale responses &SHOULD; have a Warning header field with the 110 warn-code (see 796 <xref target="header.warning" />). Likewise, the 112 warn-code &SHOULD; be 797 sent on stale responses if the cache is disconnected. 810 A cache &SHOULD; append a Warning header field with the 110 warn-code (see 811 <xref target="header.warning" />) to stale responses. Likewise, a cache 812 &SHOULD; add the 112 warn-code to stale responses if the cache is 813 disconnected. 798 814 </t> 799 815 <t> … … 820 836 </t> 821 837 <t> 822 When sending such a conditional request, thecache &SHOULD; add an838 When sending such a conditional request, a cache &SHOULD; add an 823 839 If-Modified-Since header field whose value is that of the Last-Modified header 824 840 field from the selected (see <xref target="caching.negotiated.responses"/>) … … 826 842 </t> 827 843 <t> 828 Additionally, thecache &SHOULD; add an If-None-Match header field whose value is844 Additionally, a cache &SHOULD; add an If-None-Match header field whose value is 829 845 that of the ETag header field(s) from all responses stored for the requested URI, 830 846 if present. However, if any of the stored responses contains only partial 831 content, its entity-tag &SHOULD-NOT; be includedin the If-None-Match847 content, the cache &SHOULD-NOT; include its entity-tag in the If-None-Match 832 848 header field unless the request is for a range that would be fully 833 849 satisfied by that stored response. … … 840 856 A full response (i.e., one with a response body) indicates that none of the 841 857 stored responses nominated in the conditional request is suitable. Instead, 842 the full response &SHOULD; be used to satisfy the request and &MAY; replace843 the stored response.858 a cache &SHOULD; use the full response to satisfy the request and &MAY; 859 replace the stored response. 844 860 </t> 845 861 <t> … … 854 870 title="Request Methods that Invalidate"> 855 871 <t> 856 Because unsafe methods (&safe-methods;) have the potential for changing872 Because unsafe request methods (&safe-methods;) have the potential for changing 857 873 state on the origin server, intervening caches can use them to keep their 858 874 contents up-to-date. 859 875 </t> 860 876 <t> 861 The following HTTP methods &MUST; cause a cache to invalidate the effective 862 Request URI (&effective-request-uri;) as well as the URI(s) in the Location 863 and Content-Location header fields (if present): 877 A cache &MUST; invalidate the effective Request URI 878 (&effective-request-uri;) as well as the URI(s) in the Location 879 and Content-Location header fields (if present) when the following 880 request methods are received: 864 881 <list style="symbols"> 865 882 <t>PUT</t> … … 869 886 </t> 870 887 <t> 871 An invalidation based on a URI from a Location or Content-Location header field872 &MUST-NOT; be performed if the host part of that URI differs from the host873 part in the effective request URI (&effective-request-uri;). This helps874 prevent denial of service attacks.875 </t> 876 <t> 877 A cache that passes through requests formethods it does not understand888 However, a cache &MUST-NOT; invalidate a URI from a 889 Location or Content-Location header field if the host part of that URI 890 differs from the host part in the effective request URI 891 (&effective-request-uri;). This helps prevent denial of service attacks. 892 </t> 893 <t> 894 A cache that passes through requests with methods it does not understand 878 895 &SHOULD; invalidate the effective request URI (&effective-request-uri;). 879 896 </t> … … 895 912 896 913 <t> 897 Shared caches&MUST-NOT; use a cached response to a request with an914 A shared cache &MUST-NOT; use a cached response to a request with an 898 915 Authorization header field (&header-authorization;) to satisfy any subsequent 899 916 request unless a cache directive that allows such responses to be stored is … … 983 1000 </t> 984 1001 <t> 985 If the new response's status code is 206 (partial content), both the stored 986 and new responses &MUST; have validators, and those validators &MUST; match 987 using the strong comparison function (see &weak-and-strong;). Otherwise, 988 the responses &MUST-NOT; be combined. 1002 When the new response's status code is 206 (partial content), a cache 1003 &MUST-NOT; combine it with the old response if either response does not 1004 have a validator, and &MUST-NOT; combine it with the old response when 1005 those validators do not match with the strong comparison function 1006 (see &weak-and-strong;). 989 1007 </t> 990 1008 <t> … … 992 1010 except that 993 1011 <list style="symbols"> 994 <t>a ny stored Warning header fields with warn-code 1xx (see <xref995 target="header.warning" />) &MUST; be deleted.</t>996 <t>a ny stored Warning header fields with warn-code 2xx &MUST; be retained.</t>997 <t>a ny other header fields provided in the new response &MUST;replace all1012 <t>a cache &MUST; delete any stored Warning header fields with warn-code 1xx (see <xref 1013 target="header.warning" />).</t> 1014 <t>a cache &MUST; retain any stored Warning header fields with warn-code 2xx.</t> 1015 <t>a cache &MUST; use other header fields provided in the new response to replace all 998 1016 instances of the corresponding header fields from the stored response.</t> 999 1017 </list> 1000 1018 </t> 1001 1019 <t> 1002 The updated response header fields &MUST; be usedto replace those of the stored1003 response in cache (unless the stored response is removed from cache). In1004 the case of a 206 response, the combined representation &MAY; be stored.1020 A cache &MUST; use the updated response header fields to replace those of the stored 1021 response (unless the stored response is removed). In 1022 the case of a 206 response, a cache &MAY; store the combined representation. 1005 1023 </t> 1006 1024 </section> … … 1040 1058 If a cache receives a value larger than the largest positive integer it can 1041 1059 represent, or if any of its age calculations overflows, it &MUST; transmit 1042 an Age header field with a field-value of 2147483648 (2<x:sup>31</x:sup>). Caches 1043 &SHOULD; use an arithmetic type of at least 31 bits of range. 1060 an Age header field with a field-value of 2147483648 (2<x:sup>31</x:sup>). 1061 Recipients parsing the Age header field-value &SHOULD; use an arithmetic type of 1062 at least 31 bits of range. 1044 1063 </t> 1045 1064 <t> … … 1067 1086 </t> 1068 1087 <t> 1069 HTTP/1.1 caches&MUST; obey the requirements of the Cache-Control1088 A cache &MUST; obey the requirements of the Cache-Control 1070 1089 directives defined in this section. See <xref 1071 1090 target="cache.control.extensions"/> for information about how Cache-Control … … 1080 1099 </x:note> 1081 1100 <t> 1082 Cache directives &MUST; be passed through by a proxy or gateway1083 a pplication, regardless of their significance to that application, since1084 the directives might be applicable to all recipients along the1085 request/response chain. It is not possible to target a directive to a1086 specific cache.1101 An intermediary (i.e., a proxy or gateway, whether or not it implements 1102 a cache) &MUST; pass cache directives through, regardless of their 1103 significance to that application, since the directives might be applicable 1104 to all recipients along the request/response chain. It is not possible to 1105 target a directive to a specific cache. 1087 1106 </t> 1088 1107 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Cache-Control"/><iref primary="true" item="Grammar" subitem="Cache-Control-v"/><iref primary="true" item="Grammar" subitem="cache-extension"/> … … 1118 1137 <iref item="no-cache" primary="true" subitem="Cache Directive" /> 1119 1138 <list> 1120 <t>The no-cache request directive indicates that a stored response1121 &MUST-NOT; be used to satisfy the request without successful validation1122 on the origin server.</t>1139 <t>The no-cache request directive indicates that a cache &MUST-NOT; 1140 use a stored response to satisfy the request without successful 1141 validation on the origin server.</t> 1123 1142 </list> 1124 1143 </t> … … 1130 1149 <t>The no-store request directive indicates that a cache &MUST-NOT; 1131 1150 store any part of either this request or any response to it. This 1132 directive applies to both non-sharedand shared caches. "&MUST-NOT;1151 directive applies to both private and shared caches. "&MUST-NOT; 1133 1152 store" in this context means that the cache &MUST-NOT; intentionally 1134 1153 store the information in non-volatile storage, and &MUST; make a … … 1185 1204 <iref item="no-transform" primary="true" subitem="Cache Directive" /> 1186 1205 <list> 1187 <t>The no-transform request directive indicates that an intermediate 1188 cache or proxy &MUST-NOT; change the Content-Encoding, Content-Range or 1189 Content-Type request header fields, nor the request representation.</t> 1206 <t>The no-transform request directive indicates that an intermediary 1207 (whether or not it implements a cache) &MUST-NOT; change the 1208 Content-Encoding, Content-Range or Content-Type request header fields, 1209 nor the request representation.</t> 1190 1210 </list> 1191 1211 </t> … … 1200 1220 with the other constraints of the request, or respond with a 504 1201 1221 (Gateway Timeout) status code. If a group of caches is being operated as 1202 a unified system with good internal connectivity, such a request&MAY;1203 be forwardedwithin that group of caches.</t>1222 a unified system with good internal connectivity, a member cache &MAY; 1223 forward such a request within that group of caches.</t> 1204 1224 </list> 1205 1225 </t> … … 1230 1250 <iref item="public" primary="true" subitem="Cache Directive" /> 1231 1251 <list> 1232 <t>The public response directive indicates that the response &MAY; be1233 cached, even if it would normally be non-cacheable or cacheable only1234 within a non-sharedcache. (See also Authorization,1252 <t>The public response directive indicates that a cache &MAY; store 1253 the response, even if it would normally be non-cacheable or cacheable only 1254 within a private cache. (See also Authorization, 1235 1255 &header-authorization;, for additional details.) </t> 1236 1256 </list> … … 1243 1263 <t>The private response directive indicates that the response message is 1244 1264 intended for a single user and &MUST-NOT; be stored by a shared cache. A 1245 private (non-shared)cache &MAY; store the response.</t>1265 private cache &MAY; store the response.</t> 1246 1266 <t>If the private response directive specifies one or more field-names, 1247 1267 this requirement is limited to the field-values associated with the 1248 listed response header fields. That is, the specified field-names(s)1249 &MUST-NOT; be stored by a shared cache, whereasthe remainder of the1250 response message &MAY; be.</t>1268 listed response header fields. That is, a shared cache &MUST-NOT; store 1269 the specified field-names(s), whereas it &MAY; store the remainder of the 1270 response message.</t> 1251 1271 <t> <x:h>Note:</x:h> This usage of the word private only controls where 1252 1272 the response can be stored; it cannot ensure the privacy of the message … … 1269 1289 <t>If the no-cache response directive specifies one or more field-names, 1270 1290 this requirement is limited to the field-values associated with the 1271 listed response header fields. That is, the specified field-name(s) &MUST-NOT;1272 be sentin the response to a subsequent request without successful1291 listed response header fields. That is, a cache &MUST-NOT; send the 1292 specified field-name(s) in the response to a subsequent request without successful 1273 1293 validation on the origin server. This allows an origin server to prevent 1274 1294 the re-use of certain header fields in a response, while still allowing … … 1288 1308 <t>The no-store response directive indicates that a cache &MUST-NOT; 1289 1309 store any part of either the immediate request or response. This 1290 directive applies to both non-sharedand shared caches. "&MUST-NOT;1310 directive applies to both private and shared caches. "&MUST-NOT; 1291 1311 store" in this context means that the cache &MUST-NOT; intentionally 1292 1312 store the information in non-volatile storage, and &MUST; make a … … 1305 1325 <list> 1306 1326 <t>The must-revalidate response directive indicates that once it has 1307 become stale, the response &MUST-NOT; be usedto satisfy subsequent1327 become stale, a cache &MUST-NOT; use the response to satisfy subsequent 1308 1328 requests without successful validation on the origin server.</t> 1309 1329 <t>The must-revalidate directive is necessary to support reliable 1310 operation for certain protocol features. In all circumstances a n1311 HTTP/1.1cache &MUST; obey the must-revalidate directive; in particular,1312 if thecache cannot reach the origin server for any reason, it &MUST;1330 operation for certain protocol features. In all circumstances a 1331 cache &MUST; obey the must-revalidate directive; in particular, 1332 if a cache cannot reach the origin server for any reason, it &MUST; 1313 1333 generate a 504 (Gateway Timeout) response.</t> 1314 <t> Servers&SHOULD; send the must-revalidate directive if and only if1334 <t>A server &SHOULD; send the must-revalidate directive if and only if 1315 1335 failure to validate a request on the representation could result in 1316 1336 incorrect operation, such as a silently unexecuted financial … … 1325 1345 <t>The proxy-revalidate response directive has the same meaning as the 1326 1346 must-revalidate response directive, except that it does not apply to 1327 non-sharedcaches.</t>1347 private caches.</t> 1328 1348 </list> 1329 1349 </t> … … 1355 1375 <iref item="no-transform" primary="true" subitem="Cache Directive" /> 1356 1376 <list> 1357 <t>The no-transform response directive indicates that an intermediate 1358 cache or proxy &MUST-NOT; change the Content-Encoding, Content-Range or 1359 Content-Type response header fields, nor the response representation.</t> 1377 <t>The no-transform response directive indicates that an intermediary 1378 (regardless of whether it implements a cache) &MUST-NOT; change the 1379 Content-Encoding, Content-Range or Content-Type response header fields, 1380 nor the response representation.</t> 1360 1381 </list> 1361 1382 </t> … … 1387 1408 For example, consider a hypothetical new response directive called 1388 1409 "community" that acts as a modifier to the private directive. We define 1389 this new directive to mean that, in addition to any non-sharedcache, any1410 this new directive to mean that, in addition to any private cache, any 1390 1411 cache that is shared only by members of the community named within its 1391 1412 value may cache the response. An origin server wishing to allow the UCI … … 1402 1423 </t> 1403 1424 <t> 1404 Unrecognized cache directives &MUST; be ignored; it is assumed that any1425 A cache &MUST; be ignore unrecognized cache directives; it is assumed that any 1405 1426 cache directive likely to be unrecognized by an HTTP/1.1 cache will be 1406 1427 combined with standard directives (or the response's default cacheability) … … 1413 1434 </t> 1414 1435 <t> 1415 Registrations&MUST; include the following fields:1436 A registration &MUST; include the following fields: 1416 1437 <list style="symbols"> 1417 1438 <t>Cache Directive Name</t> … … 1447 1468 <t> 1448 1469 The field-value is an absolute date and time as defined by HTTP-date in 1449 &full-date;; it &MUST; be sent inrfc1123-date format.1470 &full-date;; a sender &MUST; use the rfc1123-date format. 1450 1471 </t> 1451 1472 <figure><artwork type="abnf2616"><iref primary="true" item="Grammar" subitem="Expires"/><iref primary="true" item="Grammar" subitem="Expires-v"/> … … 1467 1488 </x:note> 1468 1489 <t> 1469 HTTP/1.1 servers&SHOULD-NOT; send Expires dates more than one year in the1490 A server &SHOULD-NOT; send Expires dates more than one year in the 1470 1491 future. 1471 1492 </t> 1472 1493 <t> 1473 HTTP/1.1 clients and caches&MUST; treat other invalid date formats,1494 A cache &MUST; treat other invalid date formats, 1474 1495 especially including the value "0", as in the past (i.e., "already 1475 1496 expired"). … … 1498 1519 </artwork></figure> 1499 1520 <t> 1500 When the no-cache directive is present in a request message, a n application1521 When the no-cache directive is present in a request message, a cache 1501 1522 &SHOULD; forward the request toward the origin server even if it has a 1502 cached copy of what is being requested. This pragma directive has the same1523 stored copy of what is being requested. This pragma directive has the same 1503 1524 semantics as the no-cache response directive (see <xref 1504 1525 target="cache-response-directive" />) and is defined here for backward 1505 compatibility with HTTP/1.0. Clients&SHOULD; include both header fields1526 compatibility with HTTP/1.0. A client &SHOULD; include both header fields 1506 1527 when a no-cache request is sent to a server not known to be HTTP/1.1 1507 compliant. HTTP/1.1 caches&SHOULD; treat "Pragma: no-cache" as if the1528 compliant. A cache &SHOULD; treat "Pragma: no-cache" as if the 1508 1529 client had sent "Cache-Control: no-cache". 1509 1530 </t> … … 1551 1572 </t> 1552 1573 <t> 1553 Servers&SHOULD; include a Vary header field with any cacheable response1574 A server &SHOULD; include a Vary header field with any cacheable response 1554 1575 that is subject to server-driven negotiation. Doing so allows a cache to 1555 1576 properly interpret future requests on that resource and informs the user … … 1564 1585 to the request-header fields (e.g., the network address of the client), play a 1565 1586 role in the selection of the response representation; therefore, a cache 1566 cannot determine whether this response is appropriate. The "*" value1567 &MUST-NOT; be generated by a proxy server.1587 cannot determine whether this response is appropriate. A proxy &MUST-NOT; 1588 generate the "*" value. 1568 1589 </t> 1569 1590 <t> … … 1634 1655 <list style="symbols"> 1635 1656 <t>1xx Warnings describe the freshness or validation status of the 1636 response, and so &MUST; be deleted by cachesafter validation. They can1657 response, and so &MUST; be deleted by a cache after validation. They can 1637 1658 only be generated by a cache when validating a cached entry, and 1638 1659 &MUST-NOT; be generated in any other situation.</t> 1639 1660 <t>2xx Warnings describe some aspect of the representation that is not 1640 1661 rectified by a validation (for example, a lossy compression of the 1641 representation) and &MUST-NOT; be deleted by cachesafter validation,1662 representation) and &MUST-NOT; be deleted by a cache after validation, 1642 1663 unless a full response is returned, in which case they &MUST; be.</t> 1643 1664 </list> … … 1650 1671 </t> 1651 1672 <t> 1652 If a n implementationreceives a message with a warning-value that includes1673 If a system receives a message with a warning-value that includes 1653 1674 a warn-date, and that warn-date is different from the Date value in the 1654 1675 response, then that warning-value &MUST; be deleted from the message before … … 1664 1685 110 Response is stale 1665 1686 <list> 1666 <t> &SHOULD; be includedwhenever the returned response is stale.</t>1687 <t>A cache &SHOULD; include this whenever the returned response is stale.</t> 1667 1688 </list> 1668 1689 </t> … … 1670 1691 111 Revalidation failed 1671 1692 <list> 1672 <t> &SHOULD; be included if a cache returnsa stale response because an1693 <t>A cache &SHOULD; include this when returning a stale response because an 1673 1694 attempt to validate the response failed, due to an inability to reach 1674 1695 the server.</t> … … 1678 1699 112 Disconnected operation 1679 1700 <list> 1680 <t> &SHOULD; be included if the cacheis intentionally disconnected from1701 <t>A cache &SHOULD; b include this if it is intentionally disconnected from 1681 1702 the rest of the network for a period of time.</t> 1682 1703 </list> … … 1685 1706 113 Heuristic expiration 1686 1707 <list> 1687 <t> &SHOULD; be included if the cacheheuristically chose a freshness1708 <t>A cache &SHOULD; include this if it heuristically chose a freshness 1688 1709 lifetime greater than 24 hours and the response's age is greater than 24 1689 1710 hours.</t> … … 1701 1722 214 Transformation applied 1702 1723 <list> 1703 <t>&MUST; be added by a n intermediateproxy if it applies any1724 <t>&MUST; be added by a proxy if it applies any 1704 1725 transformation to the representation, such as changing the 1705 1726 content-coding, media-type, or modifying the representation data, unless
Note: See TracChangeset
for help on using the changeset viewer.