What does “subrange” mean in the HTTP spec?
Question
See, for example, §13.3.3 and §13.3.4.
It doesn't seem to me that this could be related to "media range" (§14.1, e.g. Accept: text/*
), nor "language range" (§14.4, e.g. Accept-Language: da, en-gb;q=0.8, en;q=0.7
).
Maybe it's the "accept range" (§14.5), which puts byte limitations on a response? If that's true, how do ETag
s relate?
Solution
I'm pretty sure it's for range retrieval requests, i.e. requesting part of a document (resuming a file download, for example).
14.35.2 Range Retrieval Requests
HTTP retrieval requests using conditional or unconditional GET
methods MAY request one or more sub-ranges of the entity, instead of
the entire entity, using the Range request header, which applies to
the entity returned as the result of the request:
If the ETag
is weak (starts with W/
) then it can't be used for a range retrieval - only strong validators can be used for that or the client may end up with an inconsistent file.