91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

發布時間:2020-08-27 09:22:48 來源:腳本之家 閱讀:142 作者:努力努力再努力 欄目:web開發

瀏覽器控制臺看一下RequestHeader有一個Accept-Encoding,而RespondHeaders中也會有一個Content-Encoding和他進行對應.

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

 Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

 Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

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

defaultConfig.js

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

壓縮方法 compress,js

//壓縮的方法
/**rs 肯定需要,要知道自己需要壓縮什么  客戶端(瀏覽器支持哪幾種壓縮類型),
 * req 客戶端再requestHeader中聲明的
 * res 壓縮完成之后,需要告訴瀏覽器使用哪種壓縮類型壓縮,方便瀏覽器用對應方式進行解壓
 * */
const {
  createGzip,
  CreateDeflate
} = require('zlib')
module.exports = (rs, req, res) => {
  const acceptEncoding = req.headers['accept-encoding'];
  /* 有兩種情況不能壓縮
  1.瀏覽器已經聲明不支持任何壓縮方式,拿不到這個信息
  2.拿到的東西里面沒有服務器支持
  */
  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

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

運行結果

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

如果把相關壓縮的代碼注釋掉

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

Node4-5靜態資源服務器實戰以及優化壓縮文件實例內容

 

以上就是Node4-5靜態資源服務器實戰_優化壓縮文件的全部知識點內容,感謝大家的閱讀和對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清河县| 阿巴嘎旗| 建阳市| 松江区| 涟水县| 农安县| 巴彦淖尔市| 盘锦市| 富川| 乐至县| 德州市| 尉犁县| 浮梁县| 贵州省| 昂仁县| 海淀区| 石楼县| 青岛市| 开封县| 正阳县| 平舆县| 延津县| 虞城县| 鄢陵县| 莒南县| 长丰县| 静海县| 杭州市| 边坝县| 确山县| 交城县| 达日县| 苍山县| 水富县| 绥化市| 武山县| 获嘉县| 交口县| 赤水市| 涿鹿县| 汝南县|