We're using squid (3.0.STABLE19-1ubuntu0.1) as an application cache and we're trying to cache everything, for a long time, but max-age=0 is throwing off squid. I have this refresh_pattern in squid.conf: $ grep ^refresh_pattern /etc/squid3/squid.conf refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 525600 100% 525600 override-expire ignore-private ignore-no-cache ignore-no-store I have the following response prepared to be sent from a dummy web server: $ cat response HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Expires: 0 Pragma: no-cache Cache-Control: no-cache, must-revalidate, max-age=0 Content-Type: text/html;charset=UTF-8 Date: Mon, 18 Apr 2011 10:06:26 GMT Connection: close <!DOCTYPE html> <html lang="en"> </html> $ while true; do nc -l 8765 < response; done This response prevents anything from being cached; all requests for http://localhost:8765 result in TCP_MISS. I believe it's because of the max-age=0 - once I remove that, this request is cached fine. Yet I had set override-expire in the refresh_pattern. (Note that I don't think it's a must-revalidate/ignore-revalidate (new in v3.1) problem - I can leave that in fine.) Any hints on how to make squid ignore the max-age=0? I've pored over the refresh_pattern documentation a bunch of times but still can't see what's wrong. Thanks in advance for any help. -- Yang Zhang http://yz.mit.edu/