I've seen a number of references to gzipping a javascript to save download time. But I also see a number of warnings that certain browsers do not support this.
I have two different methods at my disposal:
- use mod_deflate to make Apache compress JS/CSS files in a given directory through htaccess
- use ob_start('gzhandler') to compress a file and return it to the browser with the correct headers.
The problems with method 1 are that not all browsers support mod_deflate, and I have no clue how to write the htaccess file to be smart enough to adjust for this.
The problem with method 2 is that there is no definitive answer about how to tell if a browser supports a gzipped script, or stylesheet, and that if it does what mime-type must be given as the content type in the header.
I need some advice. First, which method is more universally accepted by browsers? Second, how do I decay using either method to provide the uncompressed backup script? Third, would <script src="js/lib.js.gz" type="text/javascript"></script>
work by itself? (It obviously wouldn't decay.)
For the record, I'm using PHP5 with mod_deflate and full gzip creation capabilities, and my doctype is xhtml strict. Also, the javascript itself is compressed with YUI. Edit: I just went back and looked, but I have only Apache 1.3; I thought I had 2, so sorry for mentioning mod_deflate when I probably don't have it.