On 23/02/2013 2:53 a.m., FredB wrote:
Hello,
With latest version squid 3.2.7, pragma: no-cache seem doesn't work like before, it's very annoying with some admin page ...
Sites with this values are in cache, with previous version no.
Hypertext Transfer Protocol
HTTP/1.1 200 OK
Server: nginx/0.7.6
Date: Fri, 22 Feb 2013 08:58:12 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Expires: Sat, 23 Feb 2013 08:58:12 GMT
Cache-Control: max-age=86400
Pragma: no-cache
Last-Modified: Fri, 22 Feb 2013 08:58:12
Content-Encoding: gzip
Content-Length: 2799
X-Varnish: 1263601159
Age: 0
Via: 1.1 varnish
X-Cache: Miss from Varnish
It's a bug ? Or a voluntary change in behaviour ?
This is an intentional change in behaviour which comes from upgrading
Squid to perform the HTTP/1.1 protocol properly.
http://squidproxy.wordpress.com/2012/10/16/squid-3-2-pragma-cache-control-no-cache-versus-storage/
Please note the detail:
"
When sent on a server response:
* /Pragma/ in all its forms *has no meaning whatsoever.* It must be
ignored.
"
Looking at the above header with my HTTP/1.1 glasses on...
* it contains HTTP/1.1 tag indicating that the sender supports HTTP/1.1
properly.
* it contains Cache-Control: indicating that an HTTP/1.1 recipient (ie
Squid 3.2+) MAY store the response for up to 86400 seconds.
* it contains Date:, Expires: and Last-Modified: headers confirming what
Cache-Control has just indicated.
eg. Last-Modified + 86400 sec == Date -Age + 86400 sec == Expires.
... so all three HTTP/1.0 and HTTP/1.1 methods of calculating storage
time come up with the 24hr caching permission for Squid.
* Pragma is not defined by any of the HTTP RFCs and therefore must be
considered to be a Entity header relating to how the end-user agent (ie
browser) is supposed to display or manage that entity. It is not
supposed to be related to Squid or other HTTP/1.1 proxies.
Amos