Cookie
Http 是无状态的连接,不对之前发生的请求和响应的状态进行管理。也就没有办法根据之前的状态对本次请求进行处理。
那么在登录的时候,即使登录请求已经成功响应。由于 Http 是无状态的,下一个请求也不记录登录的状态。就有两种解决方式:
- 每个跳转刷新页面都要再次登录。
- 每次在请求报文中添加参数来管理登录状态。
这时候就引入了Cookie来解决这一问题。Cookie 在请求和响应报文中添加 Cookie 信息来管理客户端状态。
客户端和服务端生成和保存 cookie 会经历一下步骤。
- 在客户端和服务端首次建立连接时,客户端向服务端发起请求。服务端生成 cookie 保存当前客户端信息,在响应时,将 cookie 一起返回给客户端,具体是通过响应报文中 Set-cookie 属性来通知客户端保存 cookie。
- 在之后客户端和服务端相互通讯时,客户端都会在请求报文中添加 cookie 。这样在服务端得到请求就可以知道是那个客户端在请求。