為了減少數據在網絡中的傳輸量,從而減少傳輸時長,增加用戶體驗,瀏覽器大都是支持Gzip壓縮技術的,http的請求頭 Accept-Encoding:gzip, deflate 就表示這次請求可以接受Gzip壓縮后的數據,圖片不要進行壓縮,因為圖片完全可以在項目開發中使用壓縮后的圖片。壓縮會有一定的CPU性能損耗。
下面介紹幾種 Gzip壓縮方式
1.SpringBoot開啟Gzip壓縮
在application.properties中加入如下配置:
server.compression.enabled=true
server.compression.mime-types=application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
或者在application.yml 中加入如下配置:
server:
compression:
enabled: true
mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
壓縮后文件大概有5-8倍左右的差距,能大大減少網絡傳輸量,頁面加載速度加快
2.Tomcat開啟Gzip壓縮
tomcat中使用gzip需要進行配置,在server.xml中,在Connector標簽中加入如下屬性
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/css,text/javascript"
下面我們對比一下沒有開啟gzip壓縮和開啟gzip壓縮的傳輸量
1,未開啟gzip壓縮的截圖,可以看到json大小為7.0MB
Request Headers里面可以看到前端已經支持了接受gzip壓縮后的json
2,開啟gzip壓縮后的截圖,可以看到json的大小壓縮成了1.2MB 大概壓縮了5.8倍