A range request comes from a client that wants only some subset of an HTTP response.
They are sometimes used to resume a failed transfer of a large file.
Squid isn’t yet able to cache partial responses and thus must make a
decision when forwarding a range request: either remove the
Range header or leave it in.
If Squid leaves the
header in, the origin server sends only the subset that the client
wants, and the client receives the response immediately. However, this
partial response isn’t cached.
On the other hand, if Squid removes the header before forwarding, it receives the entire response, which may be cached. Squid is then responsible for ensuring that the client receives only the subset it needs. The origin server may send a lot of data the client doesn’t want. Depending on the speed of your connection, the client may be forced to wait a long time until its range is available.
If the beginning of the requested range is larger than the
range_offset_limit value, Squid forwards the
Range header and doesn’t cache the
response. Setting range_offset_limit to
0 causes Squid to always forward the
Range header (the default). Setting
-1 causes Squid to never
forward the header.
range_offset_limit 0 KB
range_offset_limit 100 KB