must a partial response range be exact?

If a client requests partial range(s) using the Range header, is it 
legal for the server to return a partial result which is larger than the 
requested range(s) but fully contains it? This would allow a server to 
satisfy a request for multiple ranges by returning a Content-Range 
response with a single range that contains all of the requested data, 
thus allowing a light-weight server to be able to support partial 
content retrieval without having to implement the added complexity of 
multipart/byteranges handling and range-skipping.


It is not apparent from the spec whether this is allowed or not - 
perhaps it should be stated explicitly to avoid confusion (by both the 
sender and recipient of the response).


If it is not allowed, the alternative for such a server would be to 
support single-range requests using Content-Range partial responses, and 
ignore any multiple-range requests by always responding to them with 
full content (200) - this is implied to be legal according to the spec 
since range support is optional in the first place - but would be much 
less efficient.


So - must a partial response range be exact or not?


Thanks,


Amichai

Received on Thursday, 25 September 2008 08:34:58 UTC