I can't get output compression and ETags to work at the same time on most
Internet Explorer browsers.
Is it at all possible to combine etags and output compression?

I've tested it using this very small php script:

-------------------------------- CUT HERE: etag.php
<?
error_log('got etag: '.(!empty($_SERVER['HTTP_IF_NONE_MATCH']) ?
$_SERVER['HTTP_IF_NONE_MATCH'] : null),0);
header('ETag: test');
?>
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
AAAAAAAAAA
-------------------------------- CUT HERE

I've tested the following cases:

1. global enable zlib.output_compression

The access_log indicated compression, since only 46 bytes get sent, but
repeatedly pressing the refresh button and watching the error_log shows that
no ETag gets through.

2. global disable zlib.output_compression

No compression of course, but repeatedly pressing refresh shows ETags are
properly sent.

3. global disable zlib.output_compression, local enable
zlib.output_compression

Ehm, doesn't seem to turn compression on, and ETags keep working.

4. global disable zlib.output_compression, using ob_start("ob_gzhandler")

Does compress, but again, no ETags ..

I'm probably overlooking something, or it just isn't possible. I've tried to
find answers and solution for quite some time (a couple of days) and am at a
loss at the moment. I can only choose between smaller output files (faster
for the user) or etags (allow caching, also faster for users), but would
like best of both worlds of course ..

Thomas
-- 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to