The Impossibility of Perfectly Caching HTTP Range Requests

4 · Kevin Cox · June 4, 2021, 10:06 p.m.
I was just bitten by range request caching in NGINX. The default behaviour upon receiving a range request is to upgrade that to a full request (effectively stripping the Range header) and then return the requested subset to the client. This can certainly be suboptimal in some cases such as when the client tries to download the small table of contents at the end of a large video file and ends up waiting while NGINX downloads the entire video before answering the request.This issue can be mitigate...