struts-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "BONNET Francois-Xavier" <>
Subject Re: Browser's cache
Date Mon, 23 Sep 2002 16:06:34 GMT
Actually, when you set "nocache" parameter to "true" Struts sets 3 HTTP
headers :
            response.setHeader("Pragma", "No-cache");
            response.setHeader("Cache-Control", "no-cache");
            response.setDateHeader("Expires", 1);

With these 3 headers, you can be sure that your page is not stored on disk
cache, this works with every borwser even IE. When you say IE doesn't read
that tag properly, I suppose you mean IE reuses its memory cache when you
use "back" button. This is allowed by HTTP 1.0 specification (RFC 1945). If
you go to the page by clicking a link, it is going to be refreshed.

My goal is to help developpers optimizing browsers caches without having to
know perfectly HTTP 1.0 specification and without setting http headers in
their action classes.

----- Original Message -----
From: "David Graham" <>
To: <>
Sent: Monday, September 23, 2002 17:40
Subject: Re: Browser's cache

All browsers do not listen to the nocache meta tag, which is what I think
you're talking about.  Even IE doesn't read that tag properly.  So, it may
not be worth the effort to add this to struts.  Your struts actions classes
could add the nocache header to the response before sending which would
acheive what you want just not through struts-config.xml.


>From: "BONNET Francois-Xavier"
>Reply-To: "Struts Developers List" <>
>To: <>
>Subject: Browser's cache
>Date: Mon, 23 Sep 2002 16:55:26 +0200
>Hi everyone,
>A good way to improve applications performances is to use browsers caches,
>reusing a cached page makes you save a lot of CPU and network traffic.
>HTTP protocol is rich enough to let you decide when you want a page to be
>recalculated or retreived from cache but Struts does not take advantage of
>this : you can only set the parameter "nocache" of ActionServlet to "true"
>or "false". I think it would be usefull if Struts could do more.
>Has someone already worked on this ?
>If not I could work on it
>What I would like to add to Struts is being able to set each action's cache
>control parameters in struts-config file
>I can see 5 types of actions :
>1)    Actions that can be cached for a given amount of time -> using HTTP
>headers "Expires" and "Max-Age"
>2)    Actions than can be cached but need a conditional request, up to the
>action to decide if cached version can be reused -> using headers
>"Last-Modified" and "E-tag"
>3)    Actions that must be refreshed depending of the value of a token.
>could be obtained by extending <html:link> tag to add the token to the URL
>so that the URL of the action in calling pages changes.
>4)    Actions that must not be cached at all.
>5)    Actions that can be cached with no limit
>Someone interested ?
>Francois-Xavier Bonnet
>To unsubscribe, e-mail:
>For additional commands, e-mail:

Join the world's largest e-mail service with MSN Hotmail.

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message