nginx開啓gzip、gzip_static 加速你的應用

gzip

gzip屬於在線壓縮,在資源經過http發送報文給客戶端的過程當中,進行壓縮,能夠減小客戶端帶寬佔用,減小文件傳輸大小。javascript

通常寫在server或者location都可;css

server {
	listen 6002;
	server_name **.234.133.**;

	gzip on;
	gzip_proxied any;
	gzip_types
		text/css
		text/javascript
		text/xml
		text/plain
		image/x-icon
		application/javascript
		application/x-javascript
		application/json;
}

複製代碼

不開啓gzip:前端

在這裏插入圖片描述

這個時候 298KB 左右;java

開啓gzip:webpack

在這裏插入圖片描述

在這裏插入圖片描述

開啓以後,Content-Encoding: gzip; ETag: W/"~~~"; 這裏的ETag中的 W\ 就是區分是不是在線寫入壓縮的標識;nginx

開啓gzip298KB 能夠減小到 104KB,效率仍是不錯的; 只是在線gzip比較佔用CPU,相比gzip_static仍是不太好。web

gzip_static

在前端代碼打包構建bundle的時候,通常都有根據必定的算法自動壓縮代碼成gz文件的webpack插件;算法

當咱們不在 nginx 開啓 gzip_static的時候,發現生產的gz文件並無被運行;json

gzip_static是會自動執行gz文件的,這樣的就避免了經過gzip自動壓縮;app

好比上面圖片的資源:

在這裏插入圖片描述

咱們上面講到經過gzip自動壓縮是 104KB,而咱們本身壓縮的是90KB,全部若是運行了咱們本身的gz文件,會更好。

gzip_static on;
複製代碼

在這裏插入圖片描述

在這裏插入圖片描述
ETag裏面沒有 \W, 就是使用的是咱們本身的 gz文件的,比 gzip自動壓縮的還減小了 10KB
相關文章
相關標籤/搜索