会话控制

ppgo8 于 2023-05-25 发布

会话控制

讲会话控制的两种方式

介绍

所谓会话控制就是对会话进行控制

HTTP是一种无状态的协议,它没有办法区分多次的请求是否来自同一个客户端,无法区分用户

(无状态:客户端和服务端没有建立持续连接)

HTTP默认情况下不知道请求是谁发送的,不能区分用户,因此需要会话控制来解决该问题

但是在服务端要区分用户,根据用户返回用户的需要的信息。

常见的会话控制有三种:

Cookie是什么

Cookie特点

cookie的运行流程

用户填写账号和密码校验身份,校验后瞎发cookie。

浏览器操作cookie

1.禁用所有cookie

2.

代码操作cookie

express设置cookie

express删除cookie

express读取cookie

session

简介

session运行流程

使用的包

session的代码操作

session和cookie

  1. 存在位置
    • cookie:存储在浏览器
    • session:存储在服务端
  2. 安全性
    • cookie:以明文的方式存储在客户端,安全性相对较低
    • session:存放与服务器中,安全性相对较好
  3. 网络传输量
    • cookie:设置内容过多会增大报文体积,影响传输效率
    • session:大部分数据存储在服务器,客户端的只通过cookie传递id,不影响传递效率
  4. 存储限制
    • cookie:浏览器限制单个cookie保存的数据不能超过4k,且当域名下的存储数量也有限制
    • session:数据存储在服务器中,所以没有这些限制

token介绍

token简介

token工作流程

创建时间:用户输入账号和密码,校验用户身份后;

服务器返回token给用户

用户再次发送请求时,

token需要程手动将token添加到请求报文中,一般是放在请求头中。

特点

JWT介绍和演示

JWT(JSON Web Token)是目前流行的跨域认证解决方案,可用于基于token的身份验证。

JWT使token的生成与校验更规范。

需要的包:jsonwebtoken包,使用npm安装。