macPerl has asked for the wisdom of the Perl Monks concerning the following question:

Apology: This is not a perl q., however, desparation and fruitless trawling for help elsewhere has led me back here. If this is breaking the rules of the site I respectfully withdraw this plea!

I have developed a simple site which has <a href>'s which set a cookie and the server should serve a page appropriate to the cookie value.

In one environment I have tested it, it doesn't. It returns a cached copy of the page. A manual refresh will bring up the page (I have cleared the client cache). This environment has winGate (proxy/cache gateway server) installed.

I have inserted

But to no avail.

I do not have access to the cache server config. to do further testing, but I think at this stage that it is the culprit.

Is this a "doh" moment ?

Is my choice of logic (using cookies like this) flawed ?

If I modify the logic so that instead of cookies, I use post/get to pass the users choice to the server, will this improve the reliability of the site to load the pages correctly ?

Why would a gateway not support http header cache directives ?

Anyway, any and all help is greatly appreciated.

Replies are listed 'Best First'.
Re: Clash with cache
by fglock (Vicar) on Dec 19, 2004 at 00:34 UTC

    Adding a random value to the links in the pages may fix this. You will have to use a new random value for each page you generate:

    <a href="/cgi-bin/program.cgi?rand=803948309">...

      Thanks for your help fglock. As it happened I had started to change persistent data to forms and this resolved the issue. You're way would have been a lot easier!

      Still pretty pissed that I don't have any further idea of why the cache server (assuming it was the culprit) was caching CGI scripts ... seems bizarre in the extreme.

      Also, would love to find one-stop-doc on caching outlining concepts and realities. Some good sites around but v. high on verbiage.

      Rgds & thnks again.