Name

ie_refresh

Synopsis

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.

Syntax

ie_refresh on|off

Default

ie_refresh off

Example

ie_refresh on

Get Squid: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.