- From: Henrik Nordstrom <henrik@henriknordstrom.net>
- Date: Fri, 24 Jul 2009 02:23:57 +0200
- To: HTTP Working Group <ietf-http-wg@w3.org>
The requirements regarding combining partial responses have changed and
is stricter than 2616. 2616 only required a strong cache validator which
MAY mean Last-Modified in certain conditions (p4 4) not that there
necessarily is an ETag. Is this change really intended? Please note that
If-Range do allow for Last-Modified based validators.
Additionally p5 5.3 does allow for Last-Modified to be used in If-Range,
but does not really allow the server to respond with 206 in such case...
2616 13.5.4:
- Both the incoming response and the cache entry have a cache
validator.
- The two cache validators match using the strong comparison
function (see section 13.3.3).
p6 2.7:
If the status code is 206 (partial content), both the stored and
new responses MUST have ETags, and those ETags MUST match using
the strong comparison function (see Section 4 of [Part4]).
Otherwise, the responses MUST NOT be combined.
p5 5.3:
If the client has no entity tag for an entity, but does have a
Last-Modified date, it MAY use that date in an If-Range header.
[...]
If the entity tag given in the If-Range header matches the
current entity tag for the entity, then the server SHOULD
provide the specified sub-range of the entity using a 206
(Partial Content) response. If the entity tag does not match,
then the server SHOULD return the entire entity using a 200 (OK)
response.
Suggested changes:
p6 2.7:
If the status code is 206 (partial content), both the stored and
new responses MUST have cache validators, and those cache
validators MUST match using the strong comparison function (see
Section 4 of [Part4]). Otherwise, the responses MUST NOT be
combined.
p5 5.3:
If the cache validator given in the If-Range header matches the
current cache validator for the entity, then the server SHOULD
provide the specified sub-range of the entity using a 206
(Partial Content) response. If the cache validator does not
match, then the server SHOULD return the entire entity using a
200 (OK) response.
(only suggesting changing that paragraph, not removing the other one
partially quoted above)
Regards
Henrik
Received on Friday, 24 July 2009 00:24:33 UTC