第一部分:基本含义
(1)会话概念
浏览器想服务器发起的一次连接就叫做一次会话,一次会话可以进行多次请求和回复(例如增删查改等)
(2)会话技术(会话跟踪技术)
就是识别这多次请求是否来自同一个浏览器,如果是,则让这多次请求共享数据。
(3)分类
①cookie(客户端会话技术)
含义:
浏览器第一次访问的时候,服务器设置一个cookie并将它返回给浏览器,以后的每一次操作浏览器都要携带这个cookie给服务器,服务器再进行比对cookie。
获取到的cookie是存放在客户端的,所以是客户端会话技术。
优点:
是http协议中支持的技术,是自动进行的,无需手动
缺点:
移动端APP无法使用Cookie;
不安全,用户可以禁用Cookie;
Cookie不能跨域。
②session(服务端会话技术)
含义:
浏览器第一次访问的时候,服务器设置一个session存放在服务器列表(每一个session都有一个id,存放之后就形成了id列表),并将该id它返回给浏览器(以cookie的形式),以后的每一次操作浏览器都要携带这个cookie给服务器,服务器获取这个cookie里面的id再进行比对是服务器id列表里面的哪个id。
底层使用的还是cookie。
产生的session是存放在服务器中的,因此也叫做服务端会话技术
优点:
存储在服务端,安全
缺点:
服务器集群环境下无法直接使用Session;
Cookie的缺点它也都有。
③JWT token(jwt令牌)
含义:
浏览器第一次访问的时候,服务器生成一个“令牌”并将它返回给浏览器,以后的每一次操作浏览器都要携带这个“令牌”给服务器,服务器再进行比对。
优点:
支持PC端,移动端(因为没有说必须要存放在cookie里面);
解决集群环境下的认证问题;
减轻服务器端的存储压力(因为服务端不需要存储)。
缺点:
需要自己实现。