九、会话控制
9.1会话控制概念
所谓会话控制就是 对会话进行控!
HTTP 是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端, 无法区分用户,而产品中又大量存在的这样的需求,所以我们需要通过 会话控制 来解决该问题常见的会话控制技术有三种:
- cookie
- session
- token
9.2cookie
9.2.1 cookie 是什么
cookie 是 HTTP 服务器发送到用户浏览器并保存在本地的一小块数据
cookie 是保存在浏览器端的一小块数据
cookie 是按照域名划分保存的
9.2.2cookie的特点
浏览器向服务器发送请求时,会自动将 当前域名下 可用的 cookie 设置在请求头中,然后传递给服务器。
这个请求头的名字也叫 cookie,所以将 cookie 理解为一个 HTTP 的请求头也是可以的
9.2.3cookie运行流程
用户通过浏览器发送身份验证信息给服务器
服务器校验用户身份通过后,给用户下发cookie
用户下一次向服务器发送请求时,会携带cookie
9.2.4 express框架添加和删除cookie
//1.导入exrpess
const express=require("express")
//2.创建应用对象
const app=express()
//3.创建路由
app.get("/set-cookie",(req,res)=>{
//在响应头中添加cookie(会在浏览器关闭时销毁cookie)
// res.cookie('name','sally')
//在响应头中添加cookie并设置生命周期为1分钟(会在浏览器关闭时不销毁cookie)
res.cookie('name','sally',{
maxAge:60*1000})
res.cookie('age','18',{
maxAge:60*1000})
res.send("Hello Express!")
})
app.get("/remove-cookie",(req,res)=>{
//删除cookie
res.clearCookie('age')
res.send('删除成功')
})
//4.监听端口
app.listen(3000<