If I understood correctly, the first time start_session is used, the server will send both a cookie AND rewrite the links in the page with the sessionid appended to it. This seems logical since at the first call for a session the server can not know whether the browser will accept cookies or not. However, if I enclose the start_session in ob_start() and ob_end_flush() even on the first page there is no link rewrite (ie no ?phpsessid=... is added to the links). How can this be explained? With the output buffering the server will send the cookie right after the flush and perhaps the browser sends back a kind of acknowledgement before the page can be rewritten by the server? However I checked the HTTP communication between server and browser and did not find a significant difference between the case with and without output buffering. The only thing I saw was a different port being used for some initial TCP/IP communication. However, I'm not an expert but would like to know the explanation of this behaviour anyway,
MPL -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php