Re: session cookies

From: Date: Fri, 02 Sep 2005 18:26:13 +0000
Subject: Re: session cookies
References: 1 2 3 4 5 6 7 8 9 10  Groups: php.general 
Request: Send a blank email to php-general+get-221775@lists.php.net to get a copy of this message
Rasmus Lerdorf wrote:
Then you have configured your server to always turn on output buffering or your test script is bad.
I don't think it's either, but I'll let you decide. I tried a new test with your code and some slight modifications: <?php header('Location: http://www.php.net/'); $fp = fopen('/tmp/log.txt', 'w'); for ($i = 0; $i < 30; $i++) {
    $str = "Count $i\n";
    echo $str;
    fputs($fp, $str);
    sleep(1);
    flush();
} ?> Basically, I'm only looping 30 times, but I'm sleeping for a second and flushing the buffer each time. The result is a response that looks something like this: HTTP/1.1 302 Found Date: Fri, 02 Sep 2005 18:12:02 GMT Server: Apache/1.3.33 (Debian GNU/Linux) Location: http://www.php.net/ Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-1 8 Count 0 8 Count 1 8 Count 2 ... 9 Count 27 9 Count 28 9 Count 29 0 This result is not buffered on the server by PHP or Apache - each of these chunks are received about one second apart, and the headers are received barely more than one second after the request is sent (only because I didn't flush before the first sleep): [2005-09-02 14:12:07] [+0.004467 seconds] HTTP Server: socket_read() ... [2005-09-02 14:12:08] [+1.131124 seconds] > Headers Received [2005-09-02 14:12:08] [+0.002197 seconds] > Transfer-Encoding [chunked] [2005-09-02 14:12:08] [+0.004580 seconds] > chunk_length [8] [2005-09-02 14:12:09] [+1.013278 seconds] > chunk_length [8] [2005-09-02 14:12:10] [+0.972697 seconds] > chunk_length [8] Of the three browsers I tested, none sent a request for http://www.php.net/ until they had received the very last byte of the response - the 0 indicating no more content. This happens a little more than 30 seconds after the request is sent and a little more than 29 seconds after the HTTP response line and headers (including Location) are received. Chris -- Chris Shiflett Brain Bulb, The PHP Consultancy http://brainbulb.com/

« previous php.general (#221775) next »