[squid-users] Fail and empty response instead cached resource
squid3 at treenet.co.nz
Wed Jan 22 06:11:50 UTC 2020
On 22/01/20 1:08 am, Kuznetsov Sergei wrote:
> If I get you right, is this a problem with the web server.
Yes, exactly so.
> I tried to explain to them with about the same logic, but they could not
> reproduce the error and accordingly do not recognize the existence of
> the problem.
To reproduce, just deliver a valid If-None-Match header to their server.
GET /js/jquery-1.4.2.min.js HTTP/1.1
HTTP/1.1 304 Not Modified
Server: nginx/1.4.6 (Ubuntu)
Date: Wed, 22 Jan 2020 05:48:20 GMT
last-modified: Mon, 20 Aug 2018 15:30:18 GMT
Aaron's analysis in comment #11 of that bug report Alex linked to is
exactly correct. The Content-Length header should not be present at all
in these 304. The case where a Content-Length header would be valid here
is also the case where the ETag should have changed - meaning the status
should be 200 and the new content+ETag delivered (not a 304 at all).
IIRC we had a more recent proposal for some work towards identifying
these broken 304 cases and re-fetching the content. But no idea whether
that has made progress past the early brainstorming.
More information about the squid-users