SessionSession是一种记录客户端状态的机制。不同的是,Cookie保存在客户端浏览器中,而Session保存在服务器端的进程中。当客户端浏览器访问服务器时,服务器将客户端信息以某种形式记录在服务器上,这就是Session。当客户端浏览器再次访问时,只需要从Session中查找客户端的状态即可。如果说cookie机制是通过检查客户身上的“护照”来确定客户的身份,那么Session机制就是通过检查服务器上的“客户名单”来确认客户的身份。Session相当于程序在服务器上创建的一个客户文件。当客户来访时,只需要查询客户档案表即可。会话不能跨域。Session和Cookie的区别在于,Cookie数据保存在客户端的浏览器中,而Session数据保存在服务端的进程中。Cookie不是很安全。其他人可以分析本地存储的cookie并执行cookie欺骗。考虑到安全性,应该使用Session。会话会在服务器上保存一段时间。当访问量增加时,它会占用你的服务器的性能。单个cookie保存的数据不能超过4K。许多浏览器限制站点最多保存20个cookie。会话应用constexpress=require('express')constpath=require('path')constapp=express();constbodyParser=require('body-parser');constcp=require('cookie-parser');constsession=require('express-session');app.use(cp());app.use(session({secret:'12345',//用于加密session数据的字符串,这个属性的值必须是specifiedattributename:'testapp',//这里的值为cookie的名称,默认cookie名称为:connect.sidcookie:{maxAge:5000},//设置maxAge为5000ms,即5ssession后和相应的cookie过期resave:false,saveUninitialized:true,}))app.use(bodyParser.urlencoded({extended:false}));app.use(express.static(path.join(__dirname,'/')));app.get('/setsession',(request,response)=>{request.session.user={username:'admin'};response.send('setsessionsuccess');})app.get('/getsession',(request,response)=>{response.send(request.session.user);})app.get('/delsession',(request,response)=>{deletereqeust.session.user;response.send(request.session.user);})app.listen(88)
