Hi! First of all, thank you all for the answers!
Maybe I wasn't exact with the question... Of course the browsers are not required to cache pages (user can always turn caching off), but I'm looking for the headers that would make most of my visitors' browsers to cache my pages. Since then I played around with headers and discovered that IE6 does cache (and ask with If-Modified-Since) if you set Last-Modified and DON'T set Expires, no-cache and max-age (none of them must be set). You can however set must-revalidate. The big question is: why? Am I misreading rfc2616? These headers shouldn't make a difference (at least not for the worse). Why do I care? Because if I set headers so that IE6 works then Opera 6.12 for Linux stops working ('works' meaning that it does cache and yet still ask every time for new version of the page - at least if page is older than 100 seconds). From what I read in rfc2616 both of the browsers are, well, weird. Or (more likely) I am missing something... Any suggestions on a set of headers that would make most of the browsers to cache yet always ask for new versions of the pages would be nice... I want to make use of cache and yet I don't want the user to worry if the page he is visiting is really fresh... Thanks! Anze On Monday 05 January 2004 17:33, Mark Nottingham wrote: > Cache implementations are not *required* to cache things when they're > cacheable; they're only required to not cache them when they're > uncacheable. Some browser cache implementations (not just IE) are quite > simplistic and/or conservative, so they may not cache a lot of things > that other caches will. > > Cheers, > > On Jan 4, 2004, at 7:44 AM, Anews wrote: > > Now: other browsers (Opera, Konqueror and Mozilla for Linux) obey and > > check > > the server for newer versions, yet they allow me to issue 304 response > > - the > > way it should be. But IE6 just doesn't cache the response. The weird > > thing is > > that it works as expected on my production server (over LAN), but not > > over > > Internet. > > > > Am I missing something? I tried "Cache-Control: private" too, but to no > > avail...