Implement conditional GETs for image scaling
Problem
We currently do not support conditional GETs when serving rescaled images in Workhorse.
For original images, this is already done by serving an etag provided by the object storage provider as well as a last-modified header (for block storage no etag is added).
There is strong evidence that our CDN cache hit ratio dropped sharply after introducing image scaling. Prior to deploying the scaler, requests that asked for a particular width saw an overall hit ratio of ~50%. This fell to ~8.5% after deployment. The reason seems to be that there are almost no REVALIDATE events anymore, which IIUC trigger in response to etags and/or last-modified headers being handed around.
Goal
We should allow clients to send conditional GETs for image scaling requests (GET requests for images that have a width parameter), and see if that results in better cache utilization. Ideally this should work for all customers, not just those who use object storage.
Etags
In case we want to attach etags, there is a suggestion for how to approach this in #249637 (comment 430729288)