本篇目录
通过阅读本篇文章你可以学习到:
- Cookie概念
- 产生原因
- 关于Cookie的首部字段
- 交互流程
- 生命周期
- 作用域
- 安全性
- 实际的用处
- 缺点
1. Cookie概念
概念:通过在请求和响应报文中写入Cookie信息来控制客户端的状态,解决HTTP无状态的问题,本质就是存储在浏览器上一个很小的文本文件(也可能存在本地文件里)
2. 产生原因
HTTP是一种无状态协议,没法保存之前请求响应的上下文信息,但是对于一些场景来说需要用到之前的状态,所以为了解决这个问题产生了Cookie。但是它并不是为了解决通讯协议无状态的问题,而是为了解决客户端与服务端会话状态的问题,这个状态是指后段服务的状态而不是通讯协议的状态。
3. 关于Cookie的首部字段
关于Cookie的首部字段其实不太多,主要为:
Set-CookieCookie
3.1 Set-Cookie
作用:在响应报文首部设置要传递给客户端的Cookie信息
例如:
Set-Cookie: name=xxx; HttpOnly
3.2 Cookie
作用:客户端传递给服务端的Cookie信息
例如:
Cookie: name=xxx
4. 交互流程
4.1 主要流程
客户端和服务器关于Cookie的交互流程如下:
- 客户端请求服务端
- 服务端生成Cookie信息使用 Set-Cookie 添加到响应报文头部上
- 客户端在拿到之后保存Cookie
- 在下次请求的时候通过把信息写入请求报文头部Cookie字段中传给服务端
4.2 设置Cookie的实际案例
光看上面