欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node.js cookie-parser之parser.js

 更新時間:2016年06月06日 11:59:42   作者:Coolicer  
這篇文章主要介紹node.js cookie-parser之parser.js,講解的比較詳細,需要的朋友可以參考下。

cookie-parser的作用,官方的說法是:Parse Cookie header and populate req.cookies with an object keyed by the cookie names.我的理解是,轉(zhuǎn)換headers中的cookie并跟req.cookies合并。作為cookie-parser的核心,parser提示了2個函數(shù):signedCookies和JSONCookies,以及它們的幫助函數(shù)。

此文到這里也就結(jié)束了這個插件,讓我們來回顧一下,同時也打開了下一篇關(guān)于session的學(xué)習(xí)。

cookie-parser從客戶端取cookie,然后經(jīng)過express-session(以express為本)的處理。在客戶端表示為一個簽名后的字符串,在服務(wù)端,由于使用了unsign方法,所以能看到解簽過的字符。這樣一來,所有的迷底都解開了。我們來看看session那段處理cookie的代碼吧。 

復(fù)制代碼 代碼如下:
function setcookie(res, name, val, secret, options) {
  var signed = 's:' + signature.sign(val, secret);
  // ....省略
 
  res.setHeader('set-cookie', header)
}

此處利用set-cookie寫入cookie。當(dāng)客戶端發(fā)送cookie,此時就用到了parser.js的signedCookies。 

復(fù)制代碼 代碼如下:
exports.signedCookies = function(obj, secret){
  var cookies = Object.keys(obj);
  var dec;
  var key;
  var ret = Object.create(null);
  var val;
 
  for (var i = 0; i < cookies.length; i++) {
    key = cookies[i];
    val = obj[key];  
    dec = exports.signedCookie(val, secret);
 
    if (val !== dec) {
      ret[key] = dec;
      delete obj[key];
    }
  }
 
  return ret;
};
 
exports.signedCookie = function(str, secret){
  return str.substr(0, 2) === 's:'
    ? signature.unsign(str.slice(2), secret)
    : str;
};

在幫助函數(shù)signedCookie中,當(dāng)發(fā)現(xiàn)含有s:開始則是簽名過的cookie,這時就用了signature.unsign解簽。下次,讓我們來研究一下session。

以上就是node.js cookie-parser之parser.js的全部內(nèi)容,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • node.js實現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例

    node.js實現(xiàn)pdf與圖片互轉(zhuǎn)代碼示例

    因工作需求,記錄一次如何在Node中pdf與圖片互轉(zhuǎn)各種操作,這篇文章主要給大家介紹了關(guān)于node.js實現(xiàn)pdf與圖片互轉(zhuǎn)的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • Node.js?npm?安裝過程中EBUSY錯誤的分析與解決方案

    Node.js?npm?安裝過程中EBUSY錯誤的分析與解決方案

    使用?npm?進行安裝是一個非常常見的操作,npm在安裝過程中可能出現(xiàn)EBUSY錯誤,本文就來介紹一下如何解決,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • 詳解Node.js中間件是怎樣工作的

    詳解Node.js中間件是怎樣工作的

    這篇文章主要介紹了詳解Node.js中間件是怎樣工作的,對中間件感興趣的同學(xué),可以參考下
    2021-04-04
  • 安裝nodejs和yarn及配置淘寶源過程記錄

    安裝nodejs和yarn及配置淘寶源過程記錄

    這篇文章主要介紹了安裝nodejs和yarn及配置淘寶源過程記錄的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Node.js事件循環(huán)(Event Loop)的使用

    Node.js事件循環(huán)(Event Loop)的使用

    事件循環(huán)是其非阻塞I/O和高并發(fā)能力的核心機制,本文主要介紹了Node.js事件循環(huán)(Event Loop)的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • Node.js+Express+MySql實現(xiàn)用戶登錄注冊功能

    Node.js+Express+MySql實現(xiàn)用戶登錄注冊功能

    這篇文章主要為大家詳細介紹了Node.js+Express+MySql實現(xiàn)用戶登錄注冊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • 淺談Node.js 子進程與應(yīng)用場景

    淺談Node.js 子進程與應(yīng)用場景

    這篇文章主要介紹了淺談Node.js 子進程與應(yīng)用場景,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • NodeJS使用Range請求實現(xiàn)下載功能的方法示例

    NodeJS使用Range請求實現(xiàn)下載功能的方法示例

    本篇使用 NodeJS 的 HTTP 服務(wù)創(chuàng)建客戶端,使用 Range 請求實現(xiàn)下載功能,本篇使用 NodeJS 的 HTTP 服務(wù)創(chuàng)建客戶端,使用 Range 請求實現(xiàn)下載功能
    2018-10-10
  • Node.js實現(xiàn)的簡易網(wǎng)頁抓取功能示例

    Node.js實現(xiàn)的簡易網(wǎng)頁抓取功能示例

    這篇文章主要介紹了Node.js實現(xiàn)的簡易網(wǎng)頁抓取功能示例,本文使用了PhantomJS、node-phantomjs等庫實現(xiàn),需要的朋友可以參考下
    2014-12-12
  • express項目文件目錄說明以及功能描述詳解

    express項目文件目錄說明以及功能描述詳解

    這篇文章主要給大家介紹了關(guān)于express項目文件目錄說明以及功能描述的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論