Thanks for the insight Ian and Bob, surely one downside of doing that at all times is that if you have a javacript:history.back() button for users who haven't filled out a form correctly, they then have to re-fill the form out again - can be frustrating. I would guess that one needs to be selective with which pages a time is included in the URL then. Garth
At 08:35 22/07/02 -0700, you wrote: >Hey Garth: > >We experienced great caching issues which would not all be solved using >the approach described below. Remember that cache involves multiple >versions and schemes of browsers, proxy servers, firewalls, network >routers and servers. > >In my experience, the only way to "beat them all" in one action is to >ensure that every URL is unique. > >For dynamically-generated pages, we append what we call a "no-cache" >argument to every URL. At NCOL, we have standardized on a hash of the >currenttimestamp, like so: > >&_nc=<@CIPHER action=hash str=<@CURRENTTIME>> > >For statically-generated pages, we add a large random number, generated in >JavaScript, to ensure that every browser display (even those presented by >the browser back button) has a unique URL. There are several ways to do >this. We usually use: > ><script language="javascript">document.write('<a href="whatever.taf?' + >Math.round(Math.random()*1000000000) + '">Your Link Here</a>')</script> >-----Original Message----- >From: Garth Penglase >Sent: Monday, July 22, 2002 6:15 PM >To: Multiple recipients of list witango-talk >Subject: Fwd: Witango-Talk: IE caching problem (was [OT] Outsourced DNS >Service) > >To reply to my own message, Scott, I guess what you wrote back on 6th of >June was absolutely correct - and I quote "I my opinion, for reliable >dynamic web-applications, all TAFs should expire >immediately." > >So I guess I'll ensure that the following is in my headers: > >Cache-Control: no-cache, max-age=0, must-revalidate, >proxy-revalidate<@CRLF>Pragma: no-cache > >as I understand that simply adding a meta tag to the header of the HTML >will not necessarily be read by proxy servers. >Garth > > >>Date: Tue, 23 Jul 2002 10:56:42 +1000 >>To: [EMAIL PROTECTED] >>From: Garth Penglase <[EMAIL PROTECTED]> >>Subject: Witango-Talk: IE caching problem (was [OT] Outsourced DNS Service) >> >>I'd be interested in anyone's opinion on how to ensure that all my site >>admin systems, most of which include file uploads facilities, do not >>suffer from this caching problem in the future. My first thought is to >>set a META tag telling the browser not to cache any page - but is that >>going to do the trick? >> >>MSIE is very aggressive in its approach to caching, particularly later >>versions and those on the Mac from 5.5 up. This I discovered because I >>did not code an admin site with this over-agressiveness of caching in >>mind and have experienced problems with IE on a a client's network >>recently. Though I have not changed any code, they weren't able to >>successfully upload files to the WiTango server, resulting in incomplete >>records, many retries and a lot of frustration. >> >>I can't agree with Scott when he says that some sites behave "oddly" in >>terms of caching (see below for transcript) - not being defensive, but >>since I have a had the same admin site running without a problem for >>users of IE and Navigator alike for two years only to experience this >>problem recently as my client upgraded to later versions of IE and moved >>to the Mac (Navigator nor any other browser has these problems), I must >>feel compelled to blame IE's more recent approach to caching, or their >>later versions on the Mac. >> >>While I solved my client's initial file upload problem (the file upload >>page was simply hanging and then timing out as the browser confused >>itself using a cached version) by telling them to do exactly what Scott >>advised Daniel to do - change the caching settings in the browser, they >>still suffered problems when they loaded some images and then modified >>records, since their browser would tell them that the image was correctly >>loading, even though it wasn't (long story as to what they were doing - >>suffice to say it was a secondary issue that I had to solve based on IE's >>method of caching). In their case, to solve their problem once and for >>all, I then simply told them to use Navigator, something I hate to do, as >>I believe that it is up to the developer to ensure that any site made for >>the masses should work no matter what the settings on the browser >>(caching/proxies/javascript on or off/etc.) - in this case I have a >>"captive" audience as the admin system is only used by one company but >>you get my point. Obviously, they haven't had a problem since. >> >>I agree with Ian that a site should work in the "dumbest" most standard >>mode possible (unless one is developing, as Scott often does, for a >>intranet or captive audience which is another kettle of fish giving one a >>greater latitude in development). >> >>Garth >> >> >>At 11:39 19/07/02 -0700, you wrote: >>>You are welcome Ian, >>> >>>That MSIE setting is useful for those rare sites you come across that does >>>behave oddly in terms of caching. >>> >>> > I prefer to leave my browser in "dumb mode," to imitate the worst setting >>> > that a user could have their browser set to. >>> > >>> > If I can make our sites work when the settings are not optimal, then we >>>are >>> > in good shape. As an aside, I always develop with cookies shut off, as >>> > well, to help ensure that I pick up any missed User Ref's. I know that >>>you >>> > develop for cookies, however ... no need to go there. >>> >>>Good strategy - I do the same during development, including sizing my forms >>>for all the default Toolbar settings which tend to take up alot of screen >>>real-estate. >>> >>>As for cookies - I don't use them either, except for 'session-cookies' >>>which are not the same thing as far as MSIE is concerned... enough said by >>>me:-) >>> >>>Cheers.... >>> >>>________________________________________________________________________ >>>TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] >>> with unsubscribe witango-talk in the message body >________________________________________________________________________ >TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] >with unsubscribe witango-talk in the message body ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body