In Section 9.2, I explained that Internet Explorer versions prior to 5.5 SP1 have a bug that make it unable to force a validation of cached responses when using HTTP interception. This directive provides a partial workaround for the bug. When enabled, Squid pretends that the request contains a no-cache directive. Thus, Squid always forwards these requests on to the origin server or a neighbor.

Note this affects only requests that meet the following requirements:

  • The User-Agent header indicates Internet Explorer Version 3, 4, 5.0, or 5.01.

  • The If-Modified-Since header is present.

  • The request contains a partial URI because it was intercepted (see Chapter 9) or Squid is a surrogate (see Chapter 15).

Squid versions prior to 2.5.STABLE3 contain a bug related to this feature. Although Squid behaves as though the client's request contains a no-cache directive, it doesn't add that directive to the outgoing request. This is a problem if you have one or more neighbor caches. Because the request received by the neighbor doesn't contain a no-cache directive, it may decide to return a cache hit, rather than forward it on to the origin server.

Later versions include the no-cache directive so that such requests should always reach the origin server.


ie_refresh on|off


ie_refresh off


ie_refresh on

    Appendix A. Config File Reference