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

Reply via email to