1.什么是session
答:session指http客户端和服务端的会话(浏览器 <===> 服务器)
2.Session的用途
答:①http是没有状态的 ②Session用于处理http通信的状态问题
3.Session和cookie的区别
答:①session存储服务器的内存里;cookie存储在客户端的浏览器里
②浏览器端的cookie是通过服务端session创建的
4.在服务端创建session的语法
答:
app.use(session({
secret:'任意字符串'//secret用于创建sessionID(密钥),sessionID存储在浏览器端的cookie里
cookie:{
maxAge:毫秒数,//maxAge:决定了cookie的有效期
},
resave:布尔值,// 当session发生变化时是否需要重新存储。建议false
saveUninitialized:布尔值 // 如果未完成初始化是否创建session,建议true
}))
5.express-session模块如何创建cookie?
答:app.use(session({})) 创建一个session对象,cookie是通过session对象创建的
6.记住一句话:
答:①在服务端创建一个session,就在浏览器端植入一个cookie
②:浏览器端的cookie只存储sessionID,不肏你才任何其他数据
③:sessionID是通过'secret'属性生成一个加密的随机的唯一的ID
④:只要cookie植入完成,浏览器端发起的任何请求都会自动携带sessionID
7.所有的中间件函数都必须要执行next()函数,跳转到下一个中间件函数
8:req.session.的用途是什么?
答:req.ression用于向Session对象添加额外信息