1.cookie和session的區(qū)別:
共同點(diǎn):都是用來存儲(chǔ)數(shù)據(jù)的;
不同點(diǎn):
cookie:
1.>cookie存在客戶端的;
2.>安全性不高,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙;
3.>存儲(chǔ)空間有限,只有4k;
session:
1.>存儲(chǔ)在服務(wù)器端;
2.>安全性高;
3.>存儲(chǔ)空間大,存儲(chǔ)數(shù)據(jù)過多,響應(yīng)就慢了;
可以將登錄信息等重要信息,存放在session中;其他信息如需保留,可存放在cookie中;
2.cookie:(12-5)
A.發(fā)送cookie:先創(chuàng)建服務(wù)器
cookie-send.js
const express=require('express');
var server=express();
//
server.use('/aaa/a.html',function(req,res){
//服務(wù)器給客戶端發(fā)送cookie
res.cookie('uname','jack',{path:'/aaa',maxAge:30*24*60*60*1000})//k,v maxAge:毫秒
res.send('ok');
})
server.listen(8080);
B.獲取cookie
需要借助中間件cookie-parser
第一步:下載cookie-parser cnpm install cookie-parser
cookie-parser.js
const express=require('express');
//引入cookie-parser
const cookieParser=require('cookie-parser');
var server=express();
server.use(cookieParser());
server.use('/aaa/a.html',function(req,res){
console.log(req.cookies);
res.send('ok');
})
server.listen(8080);
C.給cookie加密:設(shè)置秘鑰,簽名
const express=require('express');
const cookieParser=require('cookie-parser');
var server=express();
server.use(cookieParser());
server.use('/aaa/a.html',function(req,res){
//設(shè)置一個(gè)秘鑰
req.secret='nnbvmbn';
res.cookie('user','lily',{signed:true});
res.send('ok');
})
server.listen(8080);
D.清除cookie
const express=require('express');
const cookieParser=require('cookie-parser');
var server=express();
server.use(cookieParser());
server.use('/aaa/a.html',function(req,res){
res.clearCookie('user');
res.send('ok');
})
server.listen(8080);
3.session:(12-6)
下載中間件:cookie-session:cnpm install cookie-session;
//1.搭建一個(gè)服務(wù)器
const express=require('express');
const cookieParse=require('cookie-parser');
const cookieSession=require('cookie-session');
var server=express();
server.use(cookieParse());
server.use(cookieSession({
keys:['aaa','bbb','ccc']
}));
server.use('/',function(req,res){
console.log(req.session);
res.send('ok');
})
server.listen(8080);