ID: 40325 User updated by: nicolas dot grekas+php at gmail dot com Reported By: nicolas dot grekas+php at gmail dot com -Status: Bogus +Status: Open Bug Type: Output Control Operating System: All PHP Version: 5.2.0 Assigned To: mike New Comment:
I knew this pb for IE, and the link of php_lists is worth reading. BUT it is NOT related to the bug I was submitting. IE's bug with Vary header is : IF (non-compressed-content + Vary-header) THEN IE-dont-cache-entity Here is my bug : IF a resource is negotiated for compression THEN we MUST send a Vary header. In fact, for IE, the negotiation made by ob_gzhandler DOES ALREADY send a Vary header. Because negotiation ends to : browser (IE) accepts gzipped content. So fixing this issue WONT CHANGE ANYTHING FOR IE, but will fix corrupted caches. Should I explain more deeply the issue ? Regards, Nicolas Previous Comments: ------------------------------------------------------------------------ [2007-02-02 17:02:44] [EMAIL PROTECTED] Thanks, awesome read. ------------------------------------------------------------------------ [2007-02-02 15:38:48] php_lists at realplain dot com Just thought I'd add this comment that IE doesn't handle these Vary: headers correctly (breaks caching that would usually be used). :-( See http://lists.over.net/pipermail/mod_gzip/2002-December/006826.html It's been awhile since I read the details, but maybe you'd want to use "Cache-Control: private" instead or in addition to Vary:? ------------------------------------------------------------------------ [2007-02-02 13:11:50] nicolas dot grekas+php at gmail dot com Oops : I've switched Expected and Actual results, sorry ------------------------------------------------------------------------ [2007-02-02 13:10:28] nicolas dot grekas+php at gmail dot com Description: ------------ At least ob_gzhandler, maybe gzip.outputcompress don't send a "Vary: Accept-Encoding" header when browser don't support compression. The result is that intermediate caches may get corrupted. Reproduce code: --------------- execute the code bellow with php-cgi : <?php ob_start('ob_gzhander'); Expected result: ---------------- X-Powered-By: PHP/5.2.0 Content-Type: text/html Actual result: -------------- X-Powered-By: PHP/5.2.0 Content-Type: text/html Vary: Accept-Encoding ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=40325&edit=1