什么是 cookie
http 协议虽然是基于 tcp 协议的应用层协议,但是他是 无连接
且 无状态
的。但是我们在实际使用的过程中是需要一个状态的,但是 http 协议不负责维护这个状态。所以浏览器使用本地化的存储来维护状态,在每次发起请求的时候,浏览器会自动携带该状态信息,这个本地化的存储,就是 cookie
。
cookie 的生成过程
- cookie 的生成不一定是单纯的在浏览器端,可能是服务器端创建号的一个随机字符串,该随机字符床对应用户信息,在服务器端形成 kv 键值对。
- 服务器会将随机的字符串返回给浏览器,通过响应头里面的
set-cookie
把该随机字符串返回给浏览器。 - 浏览器接收到
set-cookie
的响应头之后,自动把该值保存在本地浏览器的 cookie 中。 - 当浏览器在该网站发起请求(参考标准是 url),都会自动携带本地存储的 cookie。
- 通过这一系列过程,服务器端就知道客户端的信息了
上述过程叫 保持会话
,session。所以,cookie 可以保持用户状态。
评论