First of all, caching should be implemented by the client (browser). If that does not listen
to the cache directive, you are out of luck.


Cache-Control is implemented by all http1.1 conform clients (otherwise it's not conform:).
I think every modern browser is such a client (IE6, Mozilla, Opera, Konqueror...)..


Older browsers often, but bot always, use Pragma. That's I think in Netscape 4.x and
such. If you need compatibilty with very old browsers you have to look up their docs.


Cache-Control also protects you from eager proxies, which can also cache data. And
so does Pragma:) Cache-Control is also good for "secret", or sensitive data, but i think
"private" is the more correct directive for that (it tells proxies not to cache).


For a news site which is updated once an hour you can add an expiration date.

That's what I know. I don't usually have a lot to do with that stuff. If you have special needs
just look up the http1 and http1.1 specs. Headers can be usefull.


Leon



[EMAIL PROTECTED] wrote:

hi leo

let me ask you something:

just adding this action in a map:match and set the parameter Cache-control to no-cache can you know serve pages that are not cached from client?

or is somenthing more that i'm missing?


thnx


--stavros


On Tue, 13 Apr 2004, Elvira Nieto Carretero wrote:




Hey, Leo

E U R E K A !

Rulez!

In my country it say "Eres un solete", in english it would be something so
"you are a sun" ;P

Best desires


----- Original Message ----- From: "Leon Widdershoven" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, April 13, 2004 5:14 PM
Subject: Re: Back button of my navigator





Though I'm quite sure the previous information is enough (provided I got
the question right), I think
the following link is usefull:

http://www.class.noaa.gov/cocoon/nsaa/sitemap.xmap


With special attention to the set-header action and the map:act part:


<map:action name="set-header"


src="org.apache.cocoon.acting.HttpHeaderAction"
logger="sitemap.action.set-header"/>


<!-- Lot's of code - see webpage -->

  <map:match pattern="listing">
   <map:act type="set-header">
       <map:parameter name="Pragma" value="expires"/>
       <map:parameter name="Expires" value="0"/>
       <map:parameter name="Cache-Control" value="no-cache"/>
     <map:generate  type="serverpages" src="docs/searchresults.xsp"/>
     <map:transform src="stylesheets/listing.xsl">
        <map:parameter name="use-request-parameters" value="true"/>
     </map:transform>
     <map:serialize type="html"/>
   </map:act>
  </map:match>


Leon


Leon Widdershoven wrote:



I'm no wizard but I think the problem is that browsers cache the page.
The browser should request the page again when Back is pressed.

There is a HTTP1.1 header "no-cache" which should be set on the page.
I don't really know how to do that - something like
response.setHeader( "Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache" );

a no-store, or must-revalidate header could also be an option but I'm
not at home with those headers.

If there's a wizard around to (s)he might tell you how to set those
headers
in the sitemap, xsp or flowscript (I don't know what you use - but the
sitemap
is a good option I think; maybe a configuarion of the html serializer?)

Hope this is at least a pointer in the right direction,
leon


Elvira Nieto Carretero wrote:




I use session variable to save the links navigation that the user
press during his permanence in my web site.

But, if the user press the back button of the navigator, my session
don't update and the next link that he press appear the step that it
had to undo when back button of the navigator was pressed.

do you understand me?... i hope yes.

best desires














Reply via email to