今天看到羣裏有人提到gzip的概念,就查了一下,發現是個很好的東西,原來竟然一直不知道。
gzip可以將服務器返回的文本數據壓縮,也就是說瀏覽器下載的是壓縮後的數據,然後在客戶端再解壓,這樣可以大大提高網站的訪問速度。而且壓縮比例是非常錯的。
tomcat配置,在server.xml裏面配置如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,application/json"
/>
compressableMimeType爲需要壓縮的文件類型。
tomcat配置好之後,重啓,打開網頁,用chrome的debug模式,在network裏面可以看到js,css,json都被壓縮過了。
因爲我是用nginx和tomcat做的負載均衡和反向代理,把tomcat配置好之後,直接訪問網站發現有的東西沒有被壓縮,纔想到我用nginx做了靜態分離,靜態的東西如js,css,html和圖片都是不經過tomcat,直接nginx處理的,所以還得配置nginx的gzip。
在nginx.conf裏面:
gzip on;
gzip_types application/javascript text/css image/jpeg;
這兩句可以寫在server,http,或者location標籤裏面。具體請參考官網:http://nginx.org/en/docs/http/ngx_http_gzip_module.html