Да, это довольно легко сделать с Apache.
Храните несжатые и сжатые файлы рядом. E.g.:
\-htdocs
|-index.php
|-javascript.js
\-javascript.js.gz
Включить согласование содержимого в Apache. Использование:
Options +MultiViews
Теперь, когда запрашивается «/ javascript», Apache будет обслуживать версию gzipped, если клиент объявит, что принимает ее (через Accept-encoding
).
Пример двух HTTP-запросов (некоторые заголовки опущены):
Клиент утверждает, что принял gzip
GET /EP/Exames/2006-2007/exame2B HTTP/1.1
Host: lebm.geleia.net
Accept-Encoding: gzip, identity
HTTP/1.1 200 OK
Date: Fri, 13 Aug 2010 16:22:59 GMT
Content-Location: exame2B.nb.gz
Vary: negotiate,accept-encoding
TCN: choice
Last-Modified: Sun, 04 Feb 2007 15:33:53 GMT
ETag: "0-c9d-428a84de03a40;48db6d490abee"
Accept-Ranges: bytes
Content-Length: 3229
Content-Type: application/mathematica
Content-Encoding: gzip
‹áüÅE
(response continues)
Клиент не претендует на прием gzip
GET /EP/Exames/2006-2007/exame2B HTTP/1.1
Host: lebm.geleia.net
Accept-Encoding: identity
HTTP/1.1 200 OK
Date: Fri, 13 Aug 2010 16:23:14 GMT
Content-Location: exame2B.nb
Vary: negotiate,accept-encoding
TCN: choice
Last-Modified: Sun, 04 Feb 2007 15:33:53 GMT
ETag: "0-257f-428a84de03a40;48db6d490abee"
Accept-Ranges: bytes
Content-Length: 9599
Content-Type: application/mathematica
(************** Content-type: application/mathematica **************
CreatedBy='Mathematica 5.2'
(response continues)
Смотрите более полную версию здесь http://pastebin.com/TAwxpngX