本文先從本身測試的例子開始演示,讓你們看看優化的效果,而後再介紹gizp的概念等javascript
第一張圖片是沒有開啓gzip的效果,加載js文件3.6m花了3.11s
第二張圖片是開啓gzip的效果,加載同一個js文件大小被壓縮成了1.2m,花了1.84scss
因此明顯能夠看出來文件壓縮的效果仍是很好的,大大的縮減了http資源請求的時間html
網頁壓縮是一項由 WEB 服務器和瀏覽器之間共同遵照的協議,也就是說 WEB 服務器和瀏覽器都必須支持該技術,所幸的是如今流行的瀏覽器都是支持的,包括 IE、FireFox、Opera 等;服務器有 Apache 和 IIS 等。雙方的協商過程以下:
首先瀏覽器請求某個 URL 地址,並在請求的頭 (head) 中設置屬性 accept-encoding 值爲 gzip, deflate,代表瀏覽器支持 gzip 和 deflate 這兩種壓縮方式(事實上 deflate 也是使用 gzip 壓縮協議,下面咱們會介紹兩者之間的區別);java
WEB 服務器接收到請求後判斷瀏覽器是否支持壓縮,若是支持就傳送壓縮後的響應內容,不然傳送不通過壓縮的內容;
瀏覽器獲取響應內容後,判斷內容是否被壓縮,若是是則解壓縮,而後顯示響應頁面的內容。瀏覽器
在實際的應用中咱們發現壓縮的比率每每在 3 到 10 倍,也就是原本 50k 大小的頁面,採用壓縮後實際傳輸的內容大小隻有 5 至 15k 大小,這能夠大大節省服務器的網絡帶寬,同時若是應用程序的響應足夠快時,網站的速度瓶頸就轉到了網絡的傳輸速度上,所以內容壓縮後就能夠大大的提高頁面的瀏覽速度。服務器
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss image/jpeg image/gif image/png image/svg+xml;
gzip_vary off;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6].";網絡
....排版還不太會....
參考連接app