最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node4-5靜態(tài)資源服務(wù)器實戰(zhàn)以及優(yōu)化壓縮文件實例內(nèi)容

 更新時間:2019年08月29日 15:41:24   作者:努力努力再努力  
這篇文章主要介紹了Node4-5靜態(tài)資源服務(wù)器實戰(zhàn)以及優(yōu)化壓縮文件實例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。

瀏覽器控制臺看一下RequestHeader有一個Accept-Encoding,而RespondHeaders中也會有一個Content-Encoding和他進(jìn)行對應(yīng).

Accept-Encoding當(dāng)我們的瀏覽器發(fā)起一個文件的請求時告訴服務(wù)器支持哪幾種壓縮方式,也就是服務(wù)器用這幾種壓縮方式瀏覽器都能解壓,當(dāng)服務(wù)器接收到請求后,知道瀏覽器支持的壓縮方式,服務(wù)器就會自動識別其中一種進(jìn)行壓縮并且告訴瀏覽器自己用了哪個方式壓縮,瀏覽器知道后就知道用哪種對應(yīng)方式解壓了

 

 

 根據(jù)拓展名限制一下支持的幾鐘壓縮類型

defaultConfig.js

壓縮方法 compress,js

//壓縮的方法
/**rs 肯定需要,要知道自己需要壓縮什么  客戶端(瀏覽器支持哪幾種壓縮類型),
 * req 客戶端再requestHeader中聲明的
 * res 壓縮完成之后,需要告訴瀏覽器使用哪種壓縮類型壓縮,方便瀏覽器用對應(yīng)方式進(jìn)行解壓
 * */
const {
  createGzip,
  CreateDeflate
} = require('zlib')
module.exports = (rs, req, res) => {
  const acceptEncoding = req.headers['accept-encoding'];
  /* 有兩種情況不能壓縮
  1.瀏覽器已經(jīng)聲明不支持任何壓縮方式,拿不到這個信息
  2.拿到的東西里面沒有服務(wù)器支持
  */
  if (!acceptEncoding || !acceptEncoding.match(/\b(gzip|deflate)/)) {
    return rs
  } else if (acceptEncoding.match(/\bgzip\b/)) {
    {
      res.setHeader('Content-Encoding', 'gzip')
      return rs.pipe(createGzip())
    }
  }else if (acceptEncoding.match(/\bdeflate\b/)) {
    {
      res.setHeader('Content-Encoding', 'deflate')
      return rs.pipe(createGzip())
    }
  }
}

route.js 引用compress

運行結(jié)果

如果把相關(guān)壓縮的代碼注釋掉

 

以上就是Node4-5靜態(tài)資源服務(wù)器實戰(zhàn)_優(yōu)化壓縮文件的全部知識點內(nèi)容,感謝大家的閱讀和對腳本之家的支持。

相關(guān)文章

最新評論

大连市| 清原| 黄石市| 莒南县| 凭祥市| 新闻| 堆龙德庆县| 江山市| 庄河市| 奈曼旗| 报价| 城口县| 绩溪县| 肇东市| 绩溪县| 搜索| 米泉市| 什邡市| 梨树县| 洛隆县| 太仓市| 苍梧县| 永吉县| 吉安市| 保山市| 霍林郭勒市| 晋中市| 辽阳县| 黄浦区| 重庆市| 丰原市| 巢湖市| 青岛市| 孝昌县| 吉水县| 合肥市| 郴州市| 平度市| 台南县| 普宁市| 建平县|