2013-02-24 3 views
3

Я включил сжатие, используя следующие настройки в моем tomcat7 server.xml:Tomcat7 сжатия JS/CSS

<Connector port="8080" protocol="HTTP/1.1" 
       connectionTimeout="20000" 
       redirectPort="8443" 
compression="on" 
compressionMinSize="2048" 
noCompressionUserAgents="gozilla, traviata" 
compressableMimeType="text/html,text/xml,text/json,text/javascript,text/css,text/plain, 
application/javascript,application/xml,application/xml+xhtml" 
/> 

Я проверил, что сжатие теперь включается с помощью: http://www.whatsmyip.org/http-compression-test/

Однако, PageSpeed ​​все еще сообщает, что несколько файлов CSS/JS не сжимаются. , например. Сжатие http://www.mysite.co.uk/css/bootstrap.css может спасти 109.5KiB (уменьшение 84%).

+0

Любое решение? У меня такая же проблема. – bashan

+0

Я закончил использовать Apache HTTPD с модулем pagespeed –

+0

Спасибо :) Мне нужно решение с Tomcat ... – bashan

ответ

2

Все ли файлы CSS/JS, которые не сжаты относительно большими? Возможно, они отправляются «sendfile» и, таким образом, не сжимаются.

В документации:

«. Примечание: Существует компромисс между использованием сжатия (экономия пропускной способности канала ) и используя SendFile функцию (сохранения циклов центрального процессора) Если разъем поддерживает SendFile функцию , например, NIO-разъем, с использованием файла sendfile будет иметь приоритет перед сжатием. Симптомами будут то, что статические файлы будут больше, чем 48 Кбайт, будут отправлены несжатые. Вы можете отключить файл отправки, установив атрибут useSendfile этого соединителя, как описано ниже , или изменить sendfile в настройке DefaultServlet в по умолчанию conf/web.xml или в web.xml вашего веб-приложения. "

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

Набор в вашей конфигурации:

useSendfile="false" 
+0

Нет У меня проблема с файлами меньшего размера. Я добавил эту строку так или иначе, а также установил сжатие = «force», и я все равно получаю ту же проблему. –

Смежные вопросы