在node中,session用于訪問者與網(wǎng)站之間的交互,用于跟蹤客戶端用戶身份,被稱為會話信息;session會在訪問瀏覽器請求http地址時,傳遞到web服務器上并與訪問信息進行匹配;session數(shù)據(jù)保存在服務端,無法保存永久數(shù)據(jù),
本教程操作環(huán)境:windows10系統(tǒng)、nodejs 12.19.0版本、Dell G3電腦。
node中session的用法是什么
session稱為會話信息,位于web服務器上,主要負責訪問者與網(wǎng)站之間的交互,當訪問瀏覽器請求http地址時,將傳遞到web服務器上并與訪問信息進行匹配, 當關(guān)閉網(wǎng)站時就表示會話已經(jīng)結(jié)束,網(wǎng)站無法訪問該信息了,所以它無法保存永久數(shù)據(jù),我們無法訪問以及禁用網(wǎng)站
cookie和session都是用來跟蹤客戶端用戶身份的方式。它們?yōu)槎囗摰膚eb提供了很大的便利,讓服務端清楚的識別到不同的用戶,但他們也有一定的區(qū)別。
區(qū)別: cookie數(shù)據(jù)保存在客戶端,session數(shù)據(jù)保存在服務端。
session
安裝模塊
cnpm install express-session
引入
var express = require('express'); var session = require('express-session'); var app = express(); app.use(session({secret: 'keyboard cat', resave: false, saveUninitialized: true, cookie: {maxAge: 60000}}));
使用
router.get('/set', function (req, res, next) { //設(shè)置session req.session.username = 'zhangsan'; res.send('ok'); }); router.get('/get', function (req, res, next) { //獲取session console.log(req.session); console.log(req.session.username); res.send('session的值:‘+req.session); });
注意:session僅存在于當前會話之中,連接一斷,session消失
總結(jié):如果我們需要經(jīng)常登錄一個站點時,最好用cookie來保存信息,要不然每次登陸都特別麻煩,如果對于需要安全性高的站點以及控制數(shù)據(jù)的能力時需要用會話效果更佳,當然我們也可以結(jié)合兩者,使網(wǎng)站按照我們的想法進行運行
推薦學習:《nodejs視頻教程》