我已在计算机上运行的 Tomcat 上启用了压缩。https 响应标头显示已启用压缩,但启用和未启用压缩时传输的数据量相同。
未压缩:
Status OK
Code 200
Encoded 218.89 KB
Decoded 218.89 KB
Transfered 219.22 KB
Compressed No
压缩后:
Status OK
Code 200
Encoded 218.89 KB
Decoded 218.89 KB
Transfered 219.26 KB
Compressed Yes
Compression 1.00×
我可以在响应标头中看到 Content-Encoding 为 gzip。
我在 server.xml 中的连接器定义如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="xxxxx" keystorePass="xxxx"
useSendfile="false" compression="force" />
我正在使用 Tomcat 8.0.12。浏览器是运行在 MAC OS X Yosemite 上的最新版本的 Safari。
编辑:正如 Tim 的回答,我被 Safari 报告的数字误导了。请参阅stackoverflow.com/a/21943693/3944823。
答案1
您确定 Tomcat 无法正常工作吗?可能是 Web 浏览器错误地报告了内容大小而不是传输大小。使用其他 Web 浏览器进行检查,或者检查 Web 服务器访问日志。
注意——根据上述评论确认。