为什么许多网站使用前导下划线命名cookie?

Bra*_*oom 16 cookies naming-conventions

我注意到许多网站创建了以前导下划线命名的cookie.我也看到过类似的各种Web框架的默认设置.

cookie名称中前导下划线的意义是什么?

它只是一个惯例,还是有技术原因?

jsh*_*sha 3

在提出这个问题时,没有具体的技术原因。然而,自 2015 年左右开始,浏览器开始支持两种特定的“cookie 前缀”

__Secure- 前缀:名称以 __Secure- 开头的 Cookie(破折号是前缀的一部分)必须使用安全页面 (HTTPS) 的安全标志进行设置。

__Host- 前缀:名称以 __Host- 开头的 Cookie 必须使用安全标志进行设置,必须来自安全页面 (HTTPS),不得指定域(因此不会发送到子域),并且路径必须是 /。

这些解决了 cookie 的一些历史安全问题。默认情况下,子域可以在父域上设置 cookie,这违反了同源策略的一些期望。URL可以http://设置和覆盖最初通过 URL 设置的 cookie https://。通过使用这些 cookie 前缀,您可以选择避免这些问题并进入更安全的 cookie 范例。