Compressing xls content with apache deflate module
- by Clinton Bosch
I am trying to compress an excel spreadsheet being sent from my application using apache deflate module. I have added the following line to the my sites-enabled file:
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/excel
But is seems to make the response data bigger???
Using firebug, without the module I downloaded the xls spreadsheet from the application and it downloaded 100Kb of data, the file size once on the filesystem was also 100Kb as expected. Once I enabled the deflate module as described above and repeated the process, the amount of data downloaded was 295Kb?? but the file was still only 100Kb once save on the filesystem.
As an experiment I manually gzipped the saved xls file and it compressed to 20Kb.
What am I doing wrong here?
Using deflate (Firebug output):
200 OK xxxxxxx.co.za 293 KB
4.43s
ParamsHeadersPostPutResponseCacheHTML
Response Headers
Date Tue, 03 Nov 2009 13:01:43 GMT
Server Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 PHP/5.2.3-1ubuntu6.4 mod_ssl/2.2.4 OpenSSL/0.9.8e
Content-Disposition attachment; filename="Employee List.xls"
Vary Accept-Encoding
Content-Encoding gzip
Content-Type application/excel
Without deflate (Firebug output):
200 OK xxxxxxxx.co.za 100 KB
3.46s
ParamsHeadersPostPutResponseCacheHTML
Response Headers
Date Tue, 03 Nov 2009 13:06:00 GMT
Server Apache/2.2.4 (Ubuntu) mod_jk/1.2.23 PHP/5.2.3-1ubuntu6.4 mod_ssl/2.2.4 OpenSSL/0.9.8e
Content-Disposition attachment; filename="Employee List.xls"
Content-Length 102912
Content-Type application/excel