Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Clash with cache

by macPerl (Beadle)
on Dec 18, 2004 at 22:05 UTC ( [id://415912]=perlquestion: print w/replies, xml ) Need Help??

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

  • http headers
    Expires: Fri, 15 Dec 2000 12:27:49 GMT Pragma: no-cache Cache-control: no-store,no-cache,must-revalidate,post-check=0,pre-chec +k=0 Content-Type: text/html; charset=ISO-8859-1
  • and

  • html META tags
    <META Http-Equiv="Cache-Control" Content="no-cache"> <META Http-Equiv="Pragma" Content="no-cache"> <META Http-Equiv="Expires" Content="0">
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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://415912]
Approved by BrowserUk
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (5)
As of 2024-04-25 10:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found