Changeset 1419 for draft-ietf-httpbis/latest/p6-cache.xml
- Timestamp:
- 30/08/11 01:05:39 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p6-cache.xml
r1418 r1419 960 960 satisfied by that stored response. 961 961 </t> 962 <t> 963 A 304 (Not Modified) response status code indicates that the stored 964 response can be updated and reused; see <xref target="freshening.responses"/>. 965 </t> 966 <t> 967 A full response (i.e., one with a response body) indicates that none of the 968 stored responses nominated in the conditional request is suitable. Instead, 969 a cache &SHOULD; use the full response to satisfy the request and &MAY; 970 replace the stored response(s). 971 </t> 972 <t> 973 If a cache receives a 5xx response while attempting to validate a response, 974 it &MAY; either forward this response to the requesting client, or act as 975 if the server failed to respond. In the latter case, it &MAY; return a 976 previously stored response (see <xref target="serving.stale.responses" />). 977 </t> 962 963 <t>Cache handling of a response to a conditional request is dependent upon its status code:</t> 964 965 <t> 966 <list style="symbols"> 967 <t> 968 A 304 (Not Modified) response status code indicates that the stored 969 response can be updated and reused; see <xref 970 target="freshening.responses"/>. 971 </t> 972 <t> 973 A full response (i.e., one with a response body) indicates that none 974 of the stored responses nominated in the conditional request is 975 suitable. Instead, a cache &SHOULD; use the full response to satisfy 976 the request and &MAY; replace the stored response(s). 977 </t> 978 <t> 979 However, if a cache receives a 5xx response while attempting to 980 validate a response, it &MAY; either forward this response to the 981 requesting client, or act as if the server failed to respond. In the 982 latter case, it &MAY; return a previously stored response (see <xref 983 target="serving.stale.responses" />). 984 </t> 985 </list> 986 </t> 987 988 <section anchor="freshening.responses" title="Freshening Responses"> 989 <t> 990 When a cache receives a 304 (Not Modified) response and already has one 991 or more stored 200 (OK) responses for the same cache key, the cache needs 992 to identify which of the stored responses are updated by this new response 993 and then update the stored response(s) with the new information provided in 994 the 304 response. 995 <list style="symbols"> 996 <t> 997 If the new response contains a strong validator, then that strong 998 validator identifies the selected representation. All of the stored 999 responses with the same strong validator are selected. 1000 If none of the stored responses contain the same strong validator, then 1001 this new response corresponds to a new selected representation and 1002 &MUST-NOT; update the existing stored responses. 1003 </t> 1004 <t> 1005 If the new response contains a weak validator and that validator 1006 corresponds to one of the cache's stored responses, then the most 1007 recent of those matching stored responses is selected. 1008 </t> 1009 <t> 1010 If the new response does not include any form of validator, there is 1011 only one stored response, and that stored response also lacks a 1012 validator, then that stored response is selected. 1013 </t> 1014 </list> 1015 </t> 1016 <t> 1017 If a stored response is selected for update, the cache &MUST;: 1018 <list style="symbols"> 1019 <t>delete any Warning header fields in the stored response with 1020 warn-code 1xx (see <xref target="header.warning" />);</t> 1021 <t>retain any Warning header fields in the stored response with 1022 warn-code 2xx; and,</t> 1023 <t>use other header fields provided in the 304 response to replace 1024 all instances of the corresponding header fields in the stored 1025 response.</t> 1026 </list> 1027 </t> 1028 </section> 1029 978 1030 </section> 979 1031 … … 1122 1174 </section> 1123 1175 1124 <section anchor="freshening.responses" title="Freshening Responses">1125 <t>1126 When a cache receives a 304 (Not Modified) response and already has one1127 or more stored 200 (OK) responses for the same cache key, the cache needs1128 to identify which of the stored responses are updated by this new response1129 and then update the stored response(s) with the new information provided in1130 the 304 response.1131 <list style="symbols">1132 <t>1133 If the new response contains a strong validator, then that strong1134 validator identifies the selected representation. All of the stored1135 responses with the same strong validator are selected.1136 If none of the stored responses contain the same strong validator, then1137 this new response corresponds to a new selected representation and1138 &MUST-NOT; update the existing stored responses.1139 </t>1140 <t>1141 If the new response contains a weak validator and that validator1142 corresponds to one of the cache's stored responses, then the most1143 recent of those matching stored responses is selected.1144 </t>1145 <t>1146 If the new response does not include any form of validator, there is1147 only one stored response, and that stored response also lacks a1148 validator, then that stored response is selected.1149 </t>1150 </list>1151 </t>1152 <t>1153 If a stored response is selected for update, the cache &MUST;:1154 <list style="symbols">1155 <t>delete any Warning header fields in the stored response with1156 warn-code 1xx (see <xref target="header.warning" />);</t>1157 <t>retain any Warning header fields in the stored response with1158 warn-code 2xx; and,</t>1159 <t>use other header fields provided in the 304 response to replace1160 all instances of the corresponding header fields in the stored1161 response.</t>1162 </list>1163 </t>1164 </section>1165 1176 1166 1177 </section>
Note: See TracChangeset
for help on using the changeset viewer.