概覽
瀏覽器通過http請求頭部裡加上accept-encoding,告訴伺服器,「你可以用gzip,或者defalte演算法壓縮資源」。
accept-encoding:gzip, deflate
那麼,在nodejs裡,是如何對資源進行壓縮的呢?答案就是zlib模組。
入門例項:簡單的壓縮/解壓縮
壓縮的例子
非常簡單的幾行**,就完成了本地檔案的gzip壓縮。
var fs = require('fs');var zlib = require('zlib');
var gzip = zlib.creategzip();
var infile = fs.createreadstream('./extra/fileforcompress.txt');
var out = fs.createwritestream('./extra/fileforcompress.txt.gz');
infile.pipe(gzip).pipe(out);
解壓的例子
同樣非常簡單,就是個反向操作。
var fs = require('fs');var zlib = require('zlib');
var gunzip = zlib.creategunzip();
var infile = fs.createreadstream('./extra/fileforcompress.txt.gz');
var outfile = fs.createwritestream('./extra/fileforcompress1.txt');
infile.pipe(gunzip).pipe(outfile);
服務端gzip壓縮
**超級簡單。首先判斷 是否包含 accept-encoding 首部,且值為gzip。
服務端字串gzip壓縮
**跟前面例子大同小異。這裡採用了slib.gzipsync(str)對字串進行gzip壓縮。
寫在後面
deflate壓縮的使用也差不多,這裡就不贅述。更多詳細用法可參考官方文件。
Node基礎 資源壓縮之zlib
瀏覽器通過http請求頭部裡加上accept encoding,告訴伺服器,你可以用gzip,或者defalte演算法壓縮資源 accept encoding gzip,deflate 那麼,在nodejs裡,是如何對資源進行壓縮的呢?答案就是zlib模組。非常簡單的幾行 就完成了本地檔案的gzip...
Node基礎 資源壓縮之zlib
瀏覽器通過http請求頭部裡加上accept encoding,告訴伺服器,你可以用gzip,或者defalte演算法壓縮資源 accept encoding gzip,deflate 那麼,在nodejs裡,是如何對資源進行壓縮的呢?答案就是zlib模組。非常簡單的幾行 就完成了本地檔案的gzip...
Node基礎 資源壓縮之zlib
瀏覽器通過http請求頭部裡加上accept encoding,告訴伺服器,你可以用gzip,或者defalte演算法壓縮資源 accept encoding gzip,deflate 那麼,在nodejs裡,是如何對資源進行壓縮的呢?答案就是zlib模組。非常簡單的幾行 就完成了本地檔案的gzip...