A follow-up on this issue. This problem came to light in a php system I'm working on, but does affect my 4D systems too. FWIW, php was mandated for this particular project, plus 4D wasn't a good database option as it is served by Apache running on Solaris. The pages in the php system are _very_ dynamic, so it was very apparent to the MSIE users when pages weren't properly displaying updated information.

The caching problems had never been reported as a problem in my 4D systems because of the way they are used, i.e., workflow. That doesn't mean that I don't need to fix it in the 4D systems. Aparajita's advice below should make it very easy for my A4D pages.

However, applying a similar strategy in the PHP system doesn't appear be as straightforward, so I continued to wrestle with why sending various 'no-cache' headers doesn't work. What I've found is that the order in which you set the headers is important. On almost every page, I'm sending cookie headers for session stuff (A4D's session management implementation is much easier to use than PHP's) and caching prevention. I originally was setting the caching prevention headers first, but after making changes so that they are always set last, MSIE is no longer caching the pages.

I'm passing this along here, because it could apply to A4D development too. If you need to send no-cache headers do it after all other headers are sent.

best,

Brad

At 07:53 04/02/2004, Brad Perkins wrote:
At 01:51 04/02/2004, you wrote:
The best way to prevent caching in dynamic web systems (a4d, asp, php, jsp, cgi, etc) is to append a random query parameter to every url. Using meta tags and sending special "no cache" headers sometimes works, but is mostly unreliable when users are using IE, which is unfortunately so popular.

Correct. Once again Microsoft breaks a standard...


My existing systems don't have these random query parameters, but need them. Modifying all my code to append them is a possibility, but will take a long time, plus I'll probably miss some places. Is there a better way to do this? Something generic that can be easily applied to every page?

See the documentation for the "set response buffer" command, which outlines the approach necessary.

Thanks!

-- Brad
_______________________________________________
Active4d-dev mailing list
[EMAIL PROTECTED]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev




Reply via email to