ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
Web 服务器通过发送一个称为 `Set-Cookie` 的 HTTP 消息头来创建一个 cookie,`Set-Cookie`消息头是一个字符串,其格式如下(中括号中的部分是可选的): ~~~ Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure] ~~~ 消息头的第一部分,value 部分,通常是一个 `name=value` 格式的字符串。事实上,这种格式是原始规范中指定的格式,但是浏览器并不会对 cookie 值按照此格式来验证。实际上,你可以指定一个不含等号的字符串,它同样会被存储。然而,最常用的使用方式是按照 `name=value` 格式来指定 cookie 的值(大多数接口只支持该格式)。 当存在一个 cookie,并允许设置可选项,该 cookie 的值会在随后的每次请求中被发送至服务器,cookie 的值被存储在名为 Cookie 的 HTTP 消息头中,并且只包含了 cookie 的值,忽略全部设置选项。例如: ~~~ Cookie: value ~~~ 通过 `Set-Cookie` 指定的可选项只会在浏览器端使用,而不会被发送至服务器端。发送至服务器的 cookie 的值与通过 `Set-Cookie` 指定的值完全一样,不会有进一步的解析或转码操作。如果请求中包含多个 cookie,它们将会被分号和空格分开,例如: ~~~ Cookie: value1; value2; name1=value1 ~~~ 服务器端框架通常包含解析 cookie 的方法,可以通过编程的方式获取 cookie 的值。