Caching issue with Internet Explorer

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Caching issue with Internet Explorer

Vancheri, Alessandro

I have an issue with IE related to the caching of xhtml pages in the browser cache. The issue can be easily replicated if the time on the xforms server is in front of the time on the client. In a such situation IE caches the xhtml pages until the time of the Expires HTTP header is reached. This browser behavior doesn’t change on modifying the caching policies on the browser. I tried to change the behavior on the server side with a filter. The filter forces the HTTP Cache-Control header to the value “private,no-cache,no-store”. But it seems ignored and nothing is added in the HTTP header of the responses. I added the filter in the web.xml:

 

<filter>

  <filter-name>ResponseHeaderFilter</filter-name>

  <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>

  <init-param>

    <param-name>Cache-Control</param-name>

    <param-value>private,no-cache,no-store</param-value>

   </init-param>

</filter>

 

Any idea?

 

Many thanks.

 

Alessandro

 



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Caching issue with Internet Explorer

Erik Bruchez
Administrator
Alessandro,

For dynamic pages, Orbeon Forms sets the Expires header to be the time  
of the request. So no caching is meant to take place.

In your case, are you talking about pages generated dynamically, or  
static XHTML pages?

You should probably use a tool like TCPMon to watch what's really  
going on:

   http://ws.apache.org/commons/tcpmon/

-Erik

On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:

> I have an issue with IE related to the caching of xhtml pages in the  
> browser cache. The issue can be easily replicated if the time on the  
> xforms server is in front of the time on the client. In a such  
> situation IE caches the xhtml pages until the time of the Expires  
> HTTP header is reached. This browser behavior doesn’t change on  
> modifying the caching policies on the browser. I tried to change the  
> behavior on the server side with a filter. The filter forces the  
> HTTP Cache-Control header to the value “private,no-cache,no-store”.  
> But it seems ignored and nothing is added in the HTTP header of the  
> responses. I added the filter in the web.xml:
>
> <filter>
>   <filter-name>ResponseHeaderFilter</filter-name>
>   <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>   <init-param>
>     <param-name>Cache-Control</param-name>
>     <param-value>private,no-cache,no-store</param-value>
>    </init-param>
> </filter>
>
> Any idea?
>
> Many thanks.
>
> Alessandro
>
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

R: Re: Caching issue with Internet Explorer

Vancheri, Alessandro
I'm talking about pages generated dynamically. I observed the behavior by tcpdump. Orbeon returns correctly an Expires header. But if the timestamp present in the header is after the local time of the client (and this happen if the rtc on the server is ahead of the rtc of the client) then IE caches the page, without requesting it anymore to the server, until the timestamp of the Expires header is reached.

A filter isn't able to modify the Cache-Control header. Tomcat/Apache set it to Public and ignore the setting of the filter.

Alessandro

-----Messaggio originale-----
Da: Erik Bruchez [mailto:[hidden email]]
Inviato: venerdì 29 febbraio 2008 0.11
A: [hidden email]
Oggetto: [ops-users] Re: Caching issue with Internet Explorer

Alessandro,

For dynamic pages, Orbeon Forms sets the Expires header to be the time of the request. So no caching is meant to take place.

In your case, are you talking about pages generated dynamically, or static XHTML pages?

You should probably use a tool like TCPMon to watch what's really going on:

   http://ws.apache.org/commons/tcpmon/

-Erik

On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:

> I have an issue with IE related to the caching of xhtml pages in the
> browser cache. The issue can be easily replicated if the time on the
> xforms server is in front of the time on the client. In a such
> situation IE caches the xhtml pages until the time of the Expires HTTP
> header is reached. This browser behavior doesn't change on modifying
> the caching policies on the browser. I tried to change the behavior on
> the server side with a filter. The filter forces the HTTP
> Cache-Control header to the value "private,no-cache,no-store".
> But it seems ignored and nothing is added in the HTTP header of the
> responses. I added the filter in the web.xml:
>
> <filter>
>   <filter-name>ResponseHeaderFilter</filter-name>
>   <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>   <init-param>
>     <param-name>Cache-Control</param-name>
>     <param-value>private,no-cache,no-store</param-value>
>    </init-param>
> </filter>
>
> Any idea?
>
> Many thanks.
>
> Alessandro
>
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: R: Re: Caching issue with Internet Explorer

Erik Bruchez
Administrator
I am surprised that IE is so dumb. This is IE 6, right? This should  
not have anything to do with the client's local time, as the HTTP  
response has a Date header timestamping the response.

What if you yourself override the Expires header to be way in the past?

I have tried to Google a reference to this issue but I haven't found  
anything yet.

Does this work correctly with other browsers?

-Erik

On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:

> I'm talking about pages generated dynamically. I observed the  
> behavior by tcpdump. Orbeon returns correctly an Expires header. But  
> if the timestamp present in the header is after the local time of  
> the client (and this happen if the rtc on the server is ahead of the  
> rtc of the client) then IE caches the page, without requesting it  
> anymore to the server, until the timestamp of the Expires header is  
> reached.
>
> A filter isn't able to modify the Cache-Control header. Tomcat/
> Apache set it to Public and ignore the setting of the filter.
>
> Alessandro
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 0.11
> A: [hidden email]
> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>
> Alessandro,
>
> For dynamic pages, Orbeon Forms sets the Expires header to be the  
> time of the request. So no caching is meant to take place.
>
> In your case, are you talking about pages generated dynamically, or  
> static XHTML pages?
>
> You should probably use a tool like TCPMon to watch what's really  
> going on:
>
>   http://ws.apache.org/commons/tcpmon/
>
> -Erik
>
> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>
>> I have an issue with IE related to the caching of xhtml pages in the
>> browser cache. The issue can be easily replicated if the time on the
>> xforms server is in front of the time on the client. In a such
>> situation IE caches the xhtml pages until the time of the Expires  
>> HTTP
>> header is reached. This browser behavior doesn't change on modifying
>> the caching policies on the browser. I tried to change the behavior  
>> on
>> the server side with a filter. The filter forces the HTTP
>> Cache-Control header to the value "private,no-cache,no-store".
>> But it seems ignored and nothing is added in the HTTP header of the
>> responses. I added the filter in the web.xml:
>>
>> <filter>
>>  <filter-name>ResponseHeaderFilter</filter-name>
>>  <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>  <init-param>
>>    <param-name>Cache-Control</param-name>
>>    <param-value>private,no-cache,no-store</param-value>
>>   </init-param>
>> </filter>
>>
>> Any idea?
>>
>> Many thanks.
>>
>> Alessandro
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/
>
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

R: Re: R: Re: Caching issue with Internet Explorer

Vancheri, Alessandro
I'm using IE7. I tried with Safari and it works fine.

If the time received in the Expires header is before the localtime of the client then it works fine.

-----Messaggio originale-----
Da: Erik Bruchez [mailto:[hidden email]]
Inviato: venerdì 29 febbraio 2008 19.13
A: [hidden email]
Oggetto: [ops-users] Re: R: Re: Caching issue with Internet Explorer

I am surprised that IE is so dumb. This is IE 6, right? This should not have anything to do with the client's local time, as the HTTP response has a Date header timestamping the response.

What if you yourself override the Expires header to be way in the past?

I have tried to Google a reference to this issue but I haven't found anything yet.

Does this work correctly with other browsers?

-Erik

On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:

> I'm talking about pages generated dynamically. I observed the behavior
> by tcpdump. Orbeon returns correctly an Expires header. But if the
> timestamp present in the header is after the local time of the client
> (and this happen if the rtc on the server is ahead of the rtc of the
> client) then IE caches the page, without requesting it anymore to the
> server, until the timestamp of the Expires header is reached.
>
> A filter isn't able to modify the Cache-Control header. Tomcat/ Apache
> set it to Public and ignore the setting of the filter.
>
> Alessandro
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 0.11
> A: [hidden email]
> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>
> Alessandro,
>
> For dynamic pages, Orbeon Forms sets the Expires header to be the time
> of the request. So no caching is meant to take place.
>
> In your case, are you talking about pages generated dynamically, or
> static XHTML pages?
>
> You should probably use a tool like TCPMon to watch what's really
> going on:
>
>   http://ws.apache.org/commons/tcpmon/
>
> -Erik
>
> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>
>> I have an issue with IE related to the caching of xhtml pages in the
>> browser cache. The issue can be easily replicated if the time on the
>> xforms server is in front of the time on the client. In a such
>> situation IE caches the xhtml pages until the time of the Expires
>> HTTP header is reached. This browser behavior doesn't change on
>> modifying the caching policies on the browser. I tried to change the
>> behavior on the server side with a filter. The filter forces the HTTP
>> Cache-Control header to the value "private,no-cache,no-store".
>> But it seems ignored and nothing is added in the HTTP header of the
>> responses. I added the filter in the web.xml:
>>
>> <filter>
>>  <filter-name>ResponseHeaderFilter</filter-name>
>>  <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>  <init-param>
>>    <param-name>Cache-Control</param-name>
>>    <param-value>private,no-cache,no-store</param-value>
>>   </init-param>
>> </filter>
>>
>> Any idea?
>>
>> Many thanks.
>>
>> Alessandro
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> http://www.orbeon.com/
>
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: R: Re: R: Re: Caching issue with Internet Explorer

Erik Bruchez
Administrator
So can you try to force a very old Expires header?

-Erik

On Feb 29, 2008, at 11:33 AM, Vancheri, Alessandro wrote:

> I'm using IE7. I tried with Safari and it works fine.
>
> If the time received in the Expires header is before the localtime  
> of the client then it works fine.
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 19.13
> A: [hidden email]
> Oggetto: [ops-users] Re: R: Re: Caching issue with Internet Explorer
>
> I am surprised that IE is so dumb. This is IE 6, right? This should  
> not have anything to do with the client's local time, as the HTTP  
> response has a Date header timestamping the response.
>
> What if you yourself override the Expires header to be way in the  
> past?
>
> I have tried to Google a reference to this issue but I haven't found  
> anything yet.
>
> Does this work correctly with other browsers?
>
> -Erik
>
> On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:
>
>> I'm talking about pages generated dynamically. I observed the  
>> behavior
>> by tcpdump. Orbeon returns correctly an Expires header. But if the
>> timestamp present in the header is after the local time of the client
>> (and this happen if the rtc on the server is ahead of the rtc of the
>> client) then IE caches the page, without requesting it anymore to the
>> server, until the timestamp of the Expires header is reached.
>>
>> A filter isn't able to modify the Cache-Control header. Tomcat/  
>> Apache
>> set it to Public and ignore the setting of the filter.
>>
>> Alessandro
>>
>> -----Messaggio originale-----
>> Da: Erik Bruchez [mailto:[hidden email]]
>> Inviato: venerdì 29 febbraio 2008 0.11
>> A: [hidden email]
>> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>>
>> Alessandro,
>>
>> For dynamic pages, Orbeon Forms sets the Expires header to be the  
>> time
>> of the request. So no caching is meant to take place.
>>
>> In your case, are you talking about pages generated dynamically, or
>> static XHTML pages?
>>
>> You should probably use a tool like TCPMon to watch what's really
>> going on:
>>
>>  http://ws.apache.org/commons/tcpmon/
>>
>> -Erik
>>
>> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>>
>>> I have an issue with IE related to the caching of xhtml pages in the
>>> browser cache. The issue can be easily replicated if the time on the
>>> xforms server is in front of the time on the client. In a such
>>> situation IE caches the xhtml pages until the time of the Expires
>>> HTTP header is reached. This browser behavior doesn't change on
>>> modifying the caching policies on the browser. I tried to change the
>>> behavior on the server side with a filter. The filter forces the  
>>> HTTP
>>> Cache-Control header to the value "private,no-cache,no-store".
>>> But it seems ignored and nothing is added in the HTTP header of the
>>> responses. I added the filter in the web.xml:
>>>
>>> <filter>
>>> <filter-name>ResponseHeaderFilter</filter-name>
>>> <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>> <init-param>
>>>   <param-name>Cache-Control</param-name>
>>>   <param-value>private,no-cache,no-store</param-value>
>>>  </init-param>
>>> </filter>
>>>
>>> Any idea?
>>>
>>> Many thanks.
>>>
>>> Alessandro
>>>
>>
>> --
>> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
>> http://www.orbeon.com/
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/
>
>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

R: Re: R: Re: Caching issue with Internet Explorer

Vancheri, Alessandro
In reply to this post by Erik Bruchez
I'm not able to override with a filter neither the Expires header neither the Cache-Control one. Probably a successive processing override any change from the filter.

-----Messaggio originale-----
Da: Erik Bruchez [mailto:[hidden email]]
Inviato: venerdì 29 febbraio 2008 19.13
A: [hidden email]
Oggetto: [ops-users] Re: R: Re: Caching issue with Internet Explorer

I am surprised that IE is so dumb. This is IE 6, right? This should not have anything to do with the client's local time, as the HTTP response has a Date header timestamping the response.

What if you yourself override the Expires header to be way in the past?

I have tried to Google a reference to this issue but I haven't found anything yet.

Does this work correctly with other browsers?

-Erik

On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:

> I'm talking about pages generated dynamically. I observed the behavior
> by tcpdump. Orbeon returns correctly an Expires header. But if the
> timestamp present in the header is after the local time of the client
> (and this happen if the rtc on the server is ahead of the rtc of the
> client) then IE caches the page, without requesting it anymore to the
> server, until the timestamp of the Expires header is reached.
>
> A filter isn't able to modify the Cache-Control header. Tomcat/ Apache
> set it to Public and ignore the setting of the filter.
>
> Alessandro
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 0.11
> A: [hidden email]
> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>
> Alessandro,
>
> For dynamic pages, Orbeon Forms sets the Expires header to be the time
> of the request. So no caching is meant to take place.
>
> In your case, are you talking about pages generated dynamically, or
> static XHTML pages?
>
> You should probably use a tool like TCPMon to watch what's really
> going on:
>
>   http://ws.apache.org/commons/tcpmon/
>
> -Erik
>
> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>
>> I have an issue with IE related to the caching of xhtml pages in the
>> browser cache. The issue can be easily replicated if the time on the
>> xforms server is in front of the time on the client. In a such
>> situation IE caches the xhtml pages until the time of the Expires
>> HTTP header is reached. This browser behavior doesn't change on
>> modifying the caching policies on the browser. I tried to change the
>> behavior on the server side with a filter. The filter forces the HTTP
>> Cache-Control header to the value "private,no-cache,no-store".
>> But it seems ignored and nothing is added in the HTTP header of the
>> responses. I added the filter in the web.xml:
>>
>> <filter>
>>  <filter-name>ResponseHeaderFilter</filter-name>
>>  <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>  <init-param>
>>    <param-name>Cache-Control</param-name>
>>    <param-value>private,no-cache,no-store</param-value>
>>   </init-param>
>> </filter>
>>
>> Any idea?
>>
>> Many thanks.
>>
>> Alessandro
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> http://www.orbeon.com/
>
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: R: Re: R: Re: Caching issue with Internet Explorer

Erik Bruchez
Administrator
Mmh... Surprising again. If the filter is running last, it should  
definitely be able to override the Expires header.

If you build Orbeon Forms from source, you could play with  
HttpSerializerBase.java and/or ServletExternalContext.java to see  
what's going on and force other headers.

-Erik

On Mar 2, 2008, at 12:30 PM, Vancheri, Alessandro wrote:

> I'm not able to override with a filter neither the Expires header  
> neither the Cache-Control one. Probably a successive processing  
> override any change from the filter.
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 19.13
> A: [hidden email]
> Oggetto: [ops-users] Re: R: Re: Caching issue with Internet Explorer
>
> I am surprised that IE is so dumb. This is IE 6, right? This should  
> not have anything to do with the client's local time, as the HTTP  
> response has a Date header timestamping the response.
>
> What if you yourself override the Expires header to be way in the  
> past?
>
> I have tried to Google a reference to this issue but I haven't found  
> anything yet.
>
> Does this work correctly with other browsers?
>
> -Erik
>
> On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:
>
>> I'm talking about pages generated dynamically. I observed the  
>> behavior
>> by tcpdump. Orbeon returns correctly an Expires header. But if the
>> timestamp present in the header is after the local time of the client
>> (and this happen if the rtc on the server is ahead of the rtc of the
>> client) then IE caches the page, without requesting it anymore to the
>> server, until the timestamp of the Expires header is reached.
>>
>> A filter isn't able to modify the Cache-Control header. Tomcat/  
>> Apache
>> set it to Public and ignore the setting of the filter.
>>
>> Alessandro
>>
>> -----Messaggio originale-----
>> Da: Erik Bruchez [mailto:[hidden email]]
>> Inviato: venerdì 29 febbraio 2008 0.11
>> A: [hidden email]
>> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>>
>> Alessandro,
>>
>> For dynamic pages, Orbeon Forms sets the Expires header to be the  
>> time
>> of the request. So no caching is meant to take place.
>>
>> In your case, are you talking about pages generated dynamically, or
>> static XHTML pages?
>>
>> You should probably use a tool like TCPMon to watch what's really
>> going on:
>>
>>  http://ws.apache.org/commons/tcpmon/
>>
>> -Erik
>>
>> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>>
>>> I have an issue with IE related to the caching of xhtml pages in the
>>> browser cache. The issue can be easily replicated if the time on the
>>> xforms server is in front of the time on the client. In a such
>>> situation IE caches the xhtml pages until the time of the Expires
>>> HTTP header is reached. This browser behavior doesn't change on
>>> modifying the caching policies on the browser. I tried to change the
>>> behavior on the server side with a filter. The filter forces the  
>>> HTTP
>>> Cache-Control header to the value "private,no-cache,no-store".
>>> But it seems ignored and nothing is added in the HTTP header of the
>>> responses. I added the filter in the web.xml:
>>>
>>> <filter>
>>> <filter-name>ResponseHeaderFilter</filter-name>
>>> <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>> <init-param>
>>>   <param-name>Cache-Control</param-name>
>>>   <param-value>private,no-cache,no-store</param-value>
>>>  </init-param>
>>> </filter>
>>>
>>> Any idea?
>>>
>>> Many thanks.
>>>
>>> Alessandro
>>>
>>
>> --
>> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
>> http://www.orbeon.com/
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/
>
>
> --
> You receive this message as a subscriber of the [hidden email]  
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

R: Re: R: Re: R: Re: Caching issue with Internet Explorer

Vancheri, Alessandro
I configured Apache in reverse proxy mode and forced the Cache-Control header to "private,no-cache,no-store". And it works fine. So the problem with IE seems related to the Cache-Control header. But Tomcat seems ignoring any attempt to force this header with a filter.

-----Messaggio originale-----
Da: Erik Bruchez [mailto:[hidden email]]
Inviato: lunedì 3 marzo 2008 0.01
A: [hidden email]
Oggetto: [ops-users] Re: R: Re: R: Re: Caching issue with Internet Explorer

Mmh... Surprising again. If the filter is running last, it should definitely be able to override the Expires header.

If you build Orbeon Forms from source, you could play with HttpSerializerBase.java and/or ServletExternalContext.java to see what's going on and force other headers.

-Erik

On Mar 2, 2008, at 12:30 PM, Vancheri, Alessandro wrote:

> I'm not able to override with a filter neither the Expires header
> neither the Cache-Control one. Probably a successive processing
> override any change from the filter.
>
> -----Messaggio originale-----
> Da: Erik Bruchez [mailto:[hidden email]]
> Inviato: venerdì 29 febbraio 2008 19.13
> A: [hidden email]
> Oggetto: [ops-users] Re: R: Re: Caching issue with Internet Explorer
>
> I am surprised that IE is so dumb. This is IE 6, right? This should
> not have anything to do with the client's local time, as the HTTP
> response has a Date header timestamping the response.
>
> What if you yourself override the Expires header to be way in the
> past?
>
> I have tried to Google a reference to this issue but I haven't found
> anything yet.
>
> Does this work correctly with other browsers?
>
> -Erik
>
> On Feb 28, 2008, at 10:18 PM, Vancheri, Alessandro wrote:
>
>> I'm talking about pages generated dynamically. I observed the
>> behavior by tcpdump. Orbeon returns correctly an Expires header. But
>> if the timestamp present in the header is after the local time of the
>> client (and this happen if the rtc on the server is ahead of the rtc
>> of the
>> client) then IE caches the page, without requesting it anymore to the
>> server, until the timestamp of the Expires header is reached.
>>
>> A filter isn't able to modify the Cache-Control header. Tomcat/
>> Apache set it to Public and ignore the setting of the filter.
>>
>> Alessandro
>>
>> -----Messaggio originale-----
>> Da: Erik Bruchez [mailto:[hidden email]]
>> Inviato: venerdì 29 febbraio 2008 0.11
>> A: [hidden email]
>> Oggetto: [ops-users] Re: Caching issue with Internet Explorer
>>
>> Alessandro,
>>
>> For dynamic pages, Orbeon Forms sets the Expires header to be the
>> time of the request. So no caching is meant to take place.
>>
>> In your case, are you talking about pages generated dynamically, or
>> static XHTML pages?
>>
>> You should probably use a tool like TCPMon to watch what's really
>> going on:
>>
>>  http://ws.apache.org/commons/tcpmon/
>>
>> -Erik
>>
>> On Feb 28, 2008, at 1:13 PM, Vancheri, Alessandro wrote:
>>
>>> I have an issue with IE related to the caching of xhtml pages in the
>>> browser cache. The issue can be easily replicated if the time on the
>>> xforms server is in front of the time on the client. In a such
>>> situation IE caches the xhtml pages until the time of the Expires
>>> HTTP header is reached. This browser behavior doesn't change on
>>> modifying the caching policies on the browser. I tried to change the
>>> behavior on the server side with a filter. The filter forces the
>>> HTTP Cache-Control header to the value "private,no-cache,no-store".
>>> But it seems ignored and nothing is added in the HTTP header of the
>>> responses. I added the filter in the web.xml:
>>>
>>> <filter>
>>> <filter-name>ResponseHeaderFilter</filter-name>
>>> <filter-class>com.orbeon.rpswf.ResponseHeaderFilter</filter-class>
>>> <init-param>
>>>   <param-name>Cache-Control</param-name>
>>>   <param-value>private,no-cache,no-store</param-value>
>>>  </init-param>
>>> </filter>
>>>
>>> Any idea?
>>>
>>> Many thanks.
>>>
>>> Alessandro
>>>
>>
>> --
>> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
>> http://www.orbeon.com/
>>
>
> --
> Orbeon Forms - Web Forms for the Enterprise Done the Right Way
> http://www.orbeon.com/
>
>
> --
> You receive this message as a subscriber of the [hidden email]
> mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
gmr
Reply | Threaded
Open this post in threaded view
|

Re: R: Re: R: Re: R: Re: Caching issue with Internet Explorer

gmr
Hi,

We are using orbeon-3.7.0beta1.200808260135 with the servlet filter to render our XForms. We suspect we are running into the IE caching problem described above.

Is the best option here still to a) try a Tomcat filter that runs after the Orbeon one, then b) investigate the Apache configuration? Do newer versions of Orbeon allow the cache behavior to be configured in the Orbeon filter itself? I've tried searching around but can't find anything obvious. I don't know if anyone can recommend a better way?

Incidentally (out of curiosity) why does Orbeon do the 'instant expiry' thing and not just specify that the cache should be disabled? Backward compatibility? I'm sure it's more complicated than it looks...
Reply | Threaded
Open this post in threaded view
|

Re: Caching issue with Internet Explorer

Erik Bruchez
Administrator
Alessandro,

> We are using orbeon-3.7.0beta1.200808260135 with the servlet filter to
> render our XForms. We suspect we are running into the IE caching  
> problem
> described above.
>
> Is the best option here still to a) try a Tomcat filter that runs  
> after the
> Orbeon one, then b) investigate the Apache configuration? Do newer  
> versions
> of Orbeon allow the cache behavior to be configured in the Orbeon  
> filter
> itself? I've tried searching around but can't find anything obvious.  
> I don't
> know if anyone can recommend a better way?
My guess is that a filter should do the trick. The Orbeon filter does  
not have a particular configuration for this.

> Incidentally (out of curiosity) why does Orbeon do the 'instant  
> expiry'
> thing and not just specify that the cache should be disabled? Backward
> compatibility? I'm sure it's more complicated than it looks...

We probably thought that setting an instant expiration date was  
working properly ;)

-Erik

--
Orbeon Forms - Web Forms for the Enterprise Done the Right Way
http://www.orbeon.com/



--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws