|
Edited & Last Updated
9/27/2001 by
jow
How To Avoid Caching of Web Pages
As a Web Page Author
Problem: Browsers cache Web pages in a local workstation
cache to avoid having to fetch another copy when the user returns to the
page. If the page has been updated since the user last looked, the user
will miss the new information because they're viewing the page from their local
cache. Providing users with instructions on how to refresh pages is a poor
solution; we all forget to do things like that.
I believe that the relevant MS Internet Explorer configuration
parameters are located in <Tools/Internet Options ...>,
<General/Temporary Internet Files/Settings/Check for newer versions of stored
pages:> but have not yet had time to confirm that and test the options.
In any case, this is also a poor solution for frequently changed pages since one
cannot know or control how users have configured their browsers.
Peter
Jörgensen contributed the following HTML solution that I was passing
along to our friend Bob Dixon in the following post:
Bob - I had been having the same problem that I've seen you allude to
with Web pages being frequently updated and users often not seeing the
most up-to-date page versions because of page caching in browsers.
My
friend and colleague Peter Jorgensen passed along a fix that seems to
work, at least over time or if you start out with it when you build the
site. I've tested it with MS IE5.5 SP2 but cannot speak to
earlier
releases or other browsers. Peter may be able to comment.
I've
included our exchange below but the necessary line is:
<meta http-equiv="expires" content="Fri,
5 Apr 1996 23:59:59 GMT">
NOTE: The <META...> tag MUST be in the <HEAD>
... </HEAD> section.
The only problem is that the user will still see cached pages until the
ones with that tag line are in the cache -- then no more cached displays
of *those* pages. Luck & Regards -- Jim
----- Original Message -----
From: "James O. Whitlock" <whitlock@buffalo.edu>
To: "Peter Jörgensen" <pjorgens@buffalo.edu>
Sent: Thursday, September 27, 2001 1:46 AM
Subject: Re: Reminder/Ping re Auto-Refresh HTML Tag/Code
> Thanks so much, Peter. Bingo with a caveat on the
auto-reload. I tested
> it tonight and while it works, it does not work until a user has
the new
> page in their cache; that, is, they first have to either
<refresh> the
> page or wait until their cache-time-limit expires before they'll
get
> the page that will not be cached. Once you have *that* page,
though, it
> works fine on IE55SP2. The tag I used was right from your
link:
> <meta http-equiv="expires" content="Fri, 5 Apr
1996 23:59:59 GMT">
>
> I'll try the redirect too ATP and let you know.
>
> Thanks & Regards -- Jim
>
> ----- Original Message -----
> From: "Peter Jörgensen" <pjorgens@buffalo.edu>
> To: "James O. Whitlock" <whitlock@buffalo.edu>
> Sent: Wednesday, September 26, 2001 3:43 PM
> Subject: Re: Reminder/Ping re Auto-Refresh HTML Tag/Code
>
>
> > For forcing reload from server see:
> >
> > http://members.aol.com/htmlguru/qanda/q26.html
> >
> > But also, after following a long thread in some discussion
group I found:
> >
> > http://hplbwww.hpl.hp.com/people/ange/archives/archives-95/http-wg-
> > archive/1073.html
> >
> > >John Franks:
> > >>
> > >>According to Larry Masinter:
> > >>
> > >>> * A proxy or cache shouldn't save a document with
a future
> > >>> last-modified.
> > >>
> > >>
> > >>In the absence of another (cleaner) way to prevent
caching this will
> > >>become the de facto way for a server to tell a client
(or proxy) not to
> > >cache.
> > >
> > >Such another way is not absent. Expires:
<yesterday> is another way, and it
> > >isn't a de facto way either. It is in the draft
standard, and has been in
> > >the draft standard for some time. From
draft-ietf-http-v10-spec-02.html:
> > >
> > >|8.7 Expires
> > >|
> > >|The Expires field gives the date/time after which the
entity should be
> > >|considered stale. This allows information providers to
suggest the
> > >|volatility of the resource. Caching clients, including
proxies, must not
> > >|cache this copy of the resource beyond the date given,
unless its status has
> > >|been updated by a later check of the origin server
> > >
> >
> >
> > About redirection:
> > From http://www.mikodocs.com/tags/document/index_tagsupp_4.html
> >
> >
> > Suppose, however, that you want the page to refresh itself by
going
> > automatically to another page. This is common, for example,
when someone
> > has moved their home page to a new location, but want someone
who goes to
> > the old location to still find a pointer. You could put this
<META ...>
> > tag in the page at the old location:
> >
> > <META HTTP-EQUIV="Refresh" CONTENT="5; URL=autoforward_target.html">
> >
> > In this case the <META ...> tag works is like the first
refresh example,
> > only with a little added information. The first part is the
same:
> > CONTENT="5; URL=autoforward_target.html" tells the
browser that the page
> > should be refreshed. CONTENT="5; URL=autoforward_target.html"
gives two
> > pieces of information: that the page should refresh after five
seconds,
> > and that the new URL should be autoforward_target.html .
> >
> > In a situation like this, you should also provide a regular
link to the
> > new page.
> >
> > NOTE: The <META...> tag MUST be in the <HEAD> ...
</HEAD> section.
> >
> > Peter Jorgensen
> > Manager - CIT Advanced Technology Skunkworks
> > 716-645-3879
> > peter@jorg2.cit.buffalo.edu
> >
|
|