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