It passes "Range: bytes=X-Y" and if the server returns HTTP 206,
we know it complied with the request.
For servers that don't understand range and return HTTP 200 instead we
discard some bytes and limit the result to emulate this behavior.
This will greatly help https://github.com/kopia/kopia which relies on
partial reads from pack blobs.