在链接https://en.wikipedia.org/wiki/HTTP_cookie中找到了我的问题的答案。请阅读以下内容
设置 cookie
Cookie 使用 Set-Cookie HTTP 标头设置,在 Web 服务器的 HTTP 响应中发送。此标头指示 Web 浏览器存储 cookie 并在以后的请求中将其发送回服务器(如果浏览器不支持 cookie 或禁用了 cookie,则浏览器将忽略此标头)。
例如,浏览器发送它对 www.example.org 网站主页的第一个请求:
GET /index.html HTTP/1.1
主机:www.example.org
...
服务器响应两个 Set-Cookie 标头:
HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: theme=light
Set-Cookie: sessionToken=abc123; Expires=Wed, 09 Jun 2021 10:18:14 GMT
...
服务器的 HTTP 响应包含网站主页的内容。但它也指示浏览器设置两个 cookie。第一个“主题”被认为是会话 cookie,因为它没有 Expires 或 Max-Age 属性。会话 cookie 旨在在浏览器关闭时被浏览器删除。第二个,“sessionToken”,被认为是一个持久性cookie,因为它包含一个Expires属性,指示浏览器在特定日期和时间删除cookie。
接下来,浏览器发送另一个请求以访问网站上的 spec.html 页面。该请求包含一个 Cookie HTTP 头,其中包含服务器指示浏览器设置的两个 cookie:
GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123
…
这样,服务器就知道这个请求与前一个请求有关。服务器将通过发送请求的页面进行响应,可能在响应中包含更多 Set-Cookie 标头,以便添加新的 cookie、修改现有的 cookie 或删除 cookie。
服务器可以通过在响应页面请求时包含 Set-Cookie 标头来修改 cookie 的值。然后浏览器将旧值替换为新值。
Cookie 属性
除了名称和值之外,cookie 还可以具有一个或多个属性。浏览器在对服务器的请求中不包含 cookie 属性——它们只发送 cookie 的名称和值。浏览器使用 cookie 属性来确定何时删除 cookie、阻止 cookie 或是否向服务器发送 cookie。