Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #10475

Re: Please evaluate my cache-control & pragma etc. code

From The Natural Philosopher <tnp@invalid.invalid>
Newsgroups comp.lang.php
Subject Re: Please evaluate my cache-control & pragma etc. code
Date 2013-08-10 09:49 +0100
Organization albasani.net
Message-ID <ku4uro$e53$1@news.albasani.net> (permalink)
References <ku3c1n$vc7$1@speranza.aioe.org>

Show all headers | View raw


On 09/08/13 19:22, Twayne wrote:
> Mainly I'm interested in whether it's considered workable/usable.
>    It doesn't seem to be working on my win 7 XAMPP PHP5.3 Local 
> Server. The data still seems to exist if/when I "go back" to the 
> preceding page of an e-mail form.
>
> <?php
> session_start();
> header('Cache-Control: no-cache, no-store, must-revalidate'); //HTTP/1.1
> header('Expires: Sun, 01 Jul 2005 00:00:00 GMT');
> header('Pragma: no-cache'); //HTTP/1.0
>
> TIA,
>
> Twayne`
>
my limited experience suggests that browser caching is more affected by 
the etag.
I have been writing a framework that serves all pages /objects from a 
database ( for reasons of security and control), and found that in 
general browsers don't really honor cache control, but they do honor etags.
I think proxies tend to honor cxahche control more.

The browsers tend to say 'ive got a copy, do I need a new one?' and 
actually ask, using the etag.

I found that out looking at my log files  on pages with multiple images 
under constant  rerfreshing. The logs were full of 304 responses, but 
there were always as many of those as the page had images for a given 
page load.

The code that checks the etag is here - it really does reduce server 
load if you want to not resend data that's already been sent

// check if etag matches if none match request headers
function check_etag($etag)
     {
     if(isset($_SERVER['HTTP_IF_NONE_MATCH']) && 
strstr($_SERVER['HTTP_IF_NONE_MATCH'],$etag))
         {
         header('HTTP/1.0 304 Not Modified');
         exit();
         }
     }
This is a handy way to encourage browsers not to re-download static pages.

-- 
Ineptocracy

(in-ep-toc’-ra-cy) – a system of government where the least capable to lead are elected by the least capable of producing, and where the members of society least likely to sustain themselves or succeed, are rewarded with goods and services paid for by the confiscated wealth of a diminishing number of producers.

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Please evaluate my cache-control & pragma etc. code Twayne <nobody@spamcop.net> - 2013-08-09 14:22 -0400
  Re: Please evaluate my cache-control & pragma etc. code "J.O. Aho" <user@example.net> - 2013-08-09 22:57 +0200
    Re: Please evaluate my cache-control & pragma etc. code Twayne <nobody@spamcop.net> - 2013-08-09 19:12 -0400
  Re: Please evaluate my cache-control & pragma etc. code The Natural Philosopher <tnp@invalid.invalid> - 2013-08-10 09:49 +0100
    Re: Please evaluate my cache-control & pragma etc. code Twayne <nobody@spamcop.net> - 2013-08-10 13:21 -0400
  Re: Please evaluate my cache-control & pragma etc. code Fiver <numeralfive@gmail.com> - 2013-08-10 17:19 +0200
    Re: Please evaluate my cache-control & pragma etc. code Twayne <nobody@spamcop.net> - 2013-08-10 13:17 -0400

csiph-web