I am using Telstraclear internet connection, based in Wellis
I have a problem: when I request a given file on a server, while it appears the http headers are set properly, I find that when using telstra clear internet connection, a request that should return HTTP 304 (found in local cache) instead always returns HTTP 200, causing a new download of a file that hasn't changed since I downloaded it originally.
The particular request is: http://demo.piwik.org/index.php?module=Proxy&action=getCss&piwik=1.4
When I request this page, I see in firebug the following headers:
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept-Encoding: gzip, deflate
If-Modified-Since: Wed, 04 May 2011 21:31:29 GMT
Note the "If-Modified-Since"
The response headers are:
Date: Wed, 04 May 2011 23:37:12 GMT
Cache-Control: public, must-revalidate
Content-Disposition: inline; filename=asset_manager_global_css.css
Last-Modified: Wed, 04 May 2011 21:31:29 GMT
Via: 1.1 bc3
As you can see the Last-modified date is the same as the request, so the file hasn't changed. It should therefore return 304.
However, in all cases the browser will re-download the file.
For example this is a screenshot of Chrome Network panel showing the same thing:
I have found that using other internet connections the problem doesn't happen.
Note, that I control the code serving this file, so I could change the headers if the headers we set are indeed the problem (but they work fine for everybody else)
Notice the header "Via: 1.1 bc3" in the response. So, maybe the telstra clear proxy somehow invalidates the response and forces the browser to download the file?
I must admit that I don't understand how it happens. It would be great to learn how I could either fix this problem, or have a workaround to somehow not go through the telstraclear proxy, which maybe is causing this issue?
Many thanks for your help!