Сжатие GZip, не работающее над Tomcat7

Я недавно попытался использовать gzip сжатие для улучшения веб-производительности UI. Я настроил Коннектор Tomcat как ниже.

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/css,text/javascript,text/json,application/x-javascript,application/javascript,application/json"

Ниже RequestHeader - Принятый закодированный является gzip, выкачать.

Key Value
Request GET /app/jquery-ui.min.js HTTP/1.1
Accept  */*
Referer https://cdduat.app.com/Apptech/
Accept-Language en-US
User-Agent  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Accept-Encoding gzip, deflate
Host    cdduat.app.com
Connection  Keep-Alive
Cache-Control   no-cache
Cookie  JSESSIONID=CB793FFEE9A34B5B8E7DE34A17C90B5D; mbox=session#1436174197635-942865#1436176058|PC#1436174197635-942865.28_07#1437383802; s_fid=498342221B10B4ED-297E46742B9393BE; s_vi=[CS]v1|2ACD23BB851D5DBF-40001903C00C9391[CE]; oo_event_entry=41eebf1007f6e19f5b0ee4b5841be2441e970f9c

Для заголовка ответа - существует, не Принимают-enconding значение ключа. Кроме того, я не уверен если его работа или нет. Ниже Заголовок Ответа. Время загрузки веб-формы является все еще тем же. Не уверенный, если я делаю что-то не так здесь.

Server  Apache-Coyote/1.1
Accept-Ranges   bytes
ETag    W/"238326-1435860126000"
Last-Modified   Thu, 02 Jul 2015 18:02:06 GMT
Content-Type    application/javascript
Content-Length  238326
Date    Mon, 13 Jul 2015 22:22:23 GMT

Также я видел значение управления Кэша как без кэшей. Это означает кэш привычки браузера файлы JS и запрос на те ресурсы снова по последующему запросу?

Я заметил кодирование Передачи, как разделено на блоки. Не уверенный, если это может или не может переопределить кодирование gzip. Любая справка или руководство были бы действительно полезны.

2
задан 14 July 2015 в 21:54
1 ответ

Вкратце: Вы должны добавить следующие атрибуты для всех коннекторов и их протоколов:

сжатие = "on" сжатиеMinSize = "0" useSendFile = "false"

См. Атрибуты HTTP-коннекторов Apache Tomcat


1. соединитель http

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           compression="on" compressionMinSize="0" useSendFile="false"
           redirectPort="8443" />

2. https-коннектор (измените имена файлов сертификатов на свои)

<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
           compression="on" compressionMinSize="0" useSendFile="false"
           maxThreads="150" SSLEnabled="true" >

    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                     certificateFile="conf/localhost-rsa-cert.pem"
                     certificateChainFile="conf/localhost-rsa-chain.pem"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

Если вы используете протокол http2 и tomcat9 - добавьте туда и эту строку:

<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"
                 compression="on" compressionMinSize="0" useSendFile="false" />
0
ответ дан 3 December 2019 в 14:41

Теги

Похожие вопросы