session和cookie

express-session()

定義:

  • session()是一個(gè)中間件函數(shù)。

    • 用于創(chuàng)建一個(gè)session對(duì)象
    • session對(duì)象用于管理HTTP狀態(tài)
  • 注意session數(shù)據(jù)在cookie中只存儲(chǔ)session ID。

  • session數(shù)據(jù)存儲(chǔ)在服務(wù)器端。

  • cookie存儲(chǔ)在瀏覽器端。

  • cookie什么時(shí)候存儲(chǔ)在瀏覽器端?

    • 用戶第一次發(fā)起請(qǐng)求
    • 當(dāng)服務(wù)器區(qū)第一次做出響應(yīng)的時(shí)候,服務(wù)器通過(guò)session在用戶
    • 用戶以后的每次請(qǐng)求都會(huì)攜帶cookie

語(yǔ)法:

session({options})
session({選項(xiàng)對(duì)象})

session({
  secret: 'string', //密要
  cookie: { //安插用戶瀏覽器中的后門(鍵值對(duì))
    path: '/',
    httpOnly: true,
    secure: false,
    maxAge: null //使用毫秒數(shù)設(shè)置cookie的有效期 5分鐘或者1分鐘
  },
  resave:false,
  saveUninitialized:true
})

示例:

npm install express-session
const session = require('express-session')
app.use()

session 讀:賽神

1.什么是session

  • session指HTTP客戶端和服務(wù)端的會(huì)話。(瀏覽器 <==> 服務(wù)器)

2.Session的用途

  • 1.HTTP是無(wú)狀態(tài)的
  • 2.Session用于處理HTTP通信的狀態(tài)問(wèn)題

3.Session和cookie的區(qū)別

  • 1.session存儲(chǔ)服務(wù)器的內(nèi)存里。cookie存儲(chǔ)在客戶端的瀏覽器里
  • 2.瀏覽器端的cookie是通過(guò)服務(wù)端session創(chuàng)建的

4.在服務(wù)端創(chuàng)建session的語(yǔ)法

app.use(session({
    secret:'任意字符串', //secret:用于創(chuàng)建sessionID(密鑰),sessionID存儲(chǔ)在瀏覽器端的cookie里
    cokkie:{
      maxAge:毫秒數(shù), //maxAge:決定了cookie的有效期    
    },
    resave:布爾值, //當(dāng)session發(fā)生變化時(shí)是否需要重新存儲(chǔ)。建議false
    saveUninitialized:布爾值 //如果為完成初始化是否創(chuàng)建session,建議true
}))

5.express-session模塊如何創(chuàng)建cookie?

  • app.use(session({})) 創(chuàng)建一個(gè)session對(duì)象,cookie是通過(guò)session對(duì)象創(chuàng)建的

6.記住一句話

  • 1.在服務(wù)端創(chuàng)建一個(gè)session,就在瀏覽器端植入了一個(gè)cookie
  • 2.瀏覽器端的cookie只存儲(chǔ)sessionID,不存儲(chǔ)任何其他數(shù)據(jù)
  • 3.sessionID是通過(guò)secret屬性生成一個(gè)加密的隨機(jī)的唯一的ID
  • 4.只要cookie植入完成,瀏覽器端發(fā)起的任何請(qǐng)求都會(huì)自動(dòng)攜帶sessionID

7.所有的中間件函數(shù)都必須要執(zhí)行next()函數(shù):跳轉(zhuǎn)到下一個(gè)中間件函數(shù)

8.req.session的用途是什么?

  • req.session用于向服務(wù)端的Session對(duì)象添加額外信息。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容