Re: IE 5.0 stylesheet caching bug

Roy T. Fielding (fielding@kiwi.ICS.UCI.EDU)
Tue, 28 Dec 1999 11:58:15 -0800


>IE refetches the stylesheet. Now, choose File: Work Offline and hit back.
>Note that the page is displayed without the stylesheet because it's not
>cached.

That is because the URL being used for the stylesheet is negotiated,
which results in a Vary header field being returned by Apache, which
for some incredibly stupid reason MSIE refuses to cache even though
its user agent is based on a non-shared cache.

GET http://www.w3.org/StyleSheets/Core/Steely HTTP/1.0
Accept: */*
User-Agent: GET/0.6 libwww-perl/0.50
Host: www.w3.org

HTTP/1.1 200 OK
Date: Tue, 28 Dec 1999 18:47:00 GMT
Server: Apache/1.3.6 (Unix) PHP/3.0.11
Content-Location: Steely.css
Vary: negotiate
TCN: choice
Connection: close
Content-Type: text/css

The workaround is just to use the filename extension on the URL ".css"
and avoid the negotiation code altogether. Since the usage is unable
to handle anything but CSS, not using the extension doesn't improve
the longevity of this reference.

....Roy