Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re: CGI Caching question

by koolade (Pilgrim)
on Apr 22, 2001 at 06:51 UTC ( [id://74514]=note: print w/replies, xml ) Need Help??


in reply to CGI Caching question

In addition to using the correct HTTP headers, I've had some success in using unique IDs appended to the script URL as the path info. e.g.: http://domain/script.pl/UNIQUE_ID

Replies are listed 'Best First'.
Re: Re: CGI Caching question
by dvergin (Monsignor) on Apr 22, 2001 at 09:20 UTC
    koolade's suggestion echoes an approach that has worked well for me. Here's a bit of (slightly verbose) code to illustrate:
    sub make_rand_str { my $num_chars = shift; my @possible_chr_array = @_; my $num_possibles = @possible_chr_array; my $rnd_str = ""; for (my $i=$num_chars; $i--;) { $rnd_str .= $possible_chr_array[rand($num_possibles)]; } return $rnd_str; } my $rnd_str = make_rand_str(4, "A".."Z", "0".."9"); my $url = "http://my/host/cgi/script.pl/$rnd_str",
      Aside from the no-cache pragma, which I find works for 98%+ of folks out there, I find the simplest and easiest way to create a unique string is just a call to time(); e.g.,
      $url = '/cgi-bin/script.pl?time=' . time();
      
      Using both of these things in combination results in 99.9% effectiveness in preventing caching. (Estimates based on a scientific survey created by top scientists which was just recently pulled out of my *.)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-19 03:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found