因为HTTP是无状态的,是无法知道请求是谁。不过HTTP是可扩展的,可以通过给请求对象添加标识来识别,cookie就是这样的小标签。

在第一次请求服务群时,服务群发现其没有cookie,则会发送一个cookie(set cookie动作)给请求对象。

cookie会存储在客户端的浏览器中。

优化客户端再发送请求时,如果cookie还在生命周期内,会带上存储的cookie一同发给服务群。

cookie参数

image.png

name

value

expires

失效的时间

max

path

cookie作用域

domain

HttpOnly

此Cookie只能服务端修改,JS无法草走

secure

HTTPS下使用

Set-Cookie

是服务器通过response返回的,每一个Set-Cookie对应一个Cookie
image.png