在使用koa-static作為靜態服務器中間件時,看官網文檔支持gzip壓縮,所以想試試效果。
但是gzip是類Unix系統的內置命令,嘗試使用了Windows上常用的壓縮軟件,都只提供了把文件壓縮成.tar.gz格式的功能,最后發現了GunWin提供的gzip壓縮工具
關於GunWin: Gun Win項目為Win32提供了GNU Linux平台的一些工具包,可以在Window平台使用Linux的部分工具, 具體介紹和工具列表
具體使用方法
1.下載
打開下載地址,這里我們可以選擇使用第一個(安裝包方式)或者第三個(二進制文件),兩個使用方法略有不同:
- 安裝包方式
安裝下載的exe文件,安裝完成之后設置環境變量,我本機安裝在了C:\Program Files (x86)\GnuWin32\bin\ 把這個變量配置到系統環境變量的PATH中,即可在命令行中使用gzip命令進行壓縮文件 - 二進制文件方式
解壓下載的zip文件,在bin目錄下有gzip.exe可執行文件,可以配置當前bin目錄到PATH,或者直接在命令行中直接使用exe進行壓縮。
壓縮完成后就會生成fuc.gif.gz文件,由於koa-static默認開啟支持gzip,如果訪問資源存在對應gzip版本,而且訪問端支持gzip,那么就會返回對應的gz文件。比如:瀏覽器端訪問了https://xxx.com/fuc.gif那么返回的就是fuz.gif.gz,但是瀏覽器會自動解壓並渲染fuz.gif
壓縮文件的原理是查找文件內的重復字節,並建立一個相同字節的詞典文件,並用一個代碼表示。把文件的二進制代碼壓縮,把相鄰的0、1代碼減少。所以不同資源的可壓縮率是不一樣的,具體要看文件內重復字節的出現頻率和大小。