1.cookie
1.1概念
cookie是服务器产生的保存在客户端的一小段文本信息,格式是字典形式,键值对形式
cookie有两类:
1.会话级cookie:保存在内存,随浏览器关闭自动消息
2.持久化cookie:保存在硬盘,浏览器关闭不会直接消失,生命周期取决于失效时间
1.2如何查看cookie以及格式?
单个cookie:F12-Application-Cookies
所有cookei:浏览器的设置:
3.cookie鉴权如何实现
- 客户端第一次访问服务器产生cookie,然后响应体头中的Set-Cookie传输到客户端,然后存储在客户端
- 客户端第二次至N次访服务器的时候,请求头里会自动带上客户端保存的cookie,然后和服务器的cookie进行对比来实现cookie的鉴权
4.cookie的缺点
服务器产生保存在客户端,对于一些敏感信息:用户名密码等,用cookie保存不安全
5.补充
- cookie分站点,站点与站点之间的cookie是相互独立的
- 浏览器的每次请求,都会把改站点的cookie发给服务器
2.Session
2.1概念
session是一个对象,有服务器产生,保存在服务器的内存中
2.2sessionID
seesionID是session对象的一个属性,是全局唯一的,永远都不会重复
2.3session如何实现鉴权
1.当客户端登录服务器的时候,服务器生成的sessionid并且保存到服务器的内存,然后在登录请求的响应头里就会把seesionid通过cookie传输给客户端
2.后面的所有请求都会在请求头Cookie上带上sessionid,然后和服务器的sessionid进行比较实现鉴权
ps:sessionid默认的生命周期是半小时,半小时后每次登录的sessionid都会不一样,然后session安全体现在它是session级别的cookie,以为浏览器关闭就会失效
3.token,鉴权码
3.1token如何实现鉴权
1.当登录之后自动生成token或者通过一个单独的接口生成token,然后保存在服务器的硬盘
2.后面所有的请求都要带上token(请求头,参数),然后和服务器的token进行对比实现鉴权