I've just spent 5 hours fighting a bug in my application and outcome is:
<?php
ob_start("ob_gzhandler");
header('HTTP/1.1 304 Not Modified');
ob_end_clean();
?>
W3C Standart requires response body to be empty if 304 header set. With compression on it will at least contain a gzip stream header even if your output is completely empty!
This affects firefox (current ver.3.6.3) in a very subtle way: one of the requests after the one that gets 304 with not empty body gets it response prepended with contents of that body. In my case it was a css file and styles was not rendered at all, which made problem show up.