在 HTTP 协议中,Cookie 是由服务器发送给客户端的一小段数据,用于在客户端存储信息,并在后续的请求中将这些信息发送回服务器。每个 Cookie 都有一些属性,用于控制其行为和影响其使用情况。以下是 Cookie 常见的属性:
名称(Name):Cookie 的标识符,用于在客户端和服务器之间传递数据。
值(Value):与 Cookie 关联的值,可以是任何字符串。
域(Domain):指定可以访问 Cookie 的域名。如果未设置,则默认为创建 Cookie 的网页的域名。
路径(Path):指定可以访问 Cookie 的路径。如果未设置,则默认为创建 Cookie 的网页所在的路径。
过期时间(Expires):指定 Cookie 的过期时间,也就是 Cookie 将被自动删除的时间点。如果未设置,则表示该 Cookie 在用户关闭浏览器时被删除。
安全标志(Secure):如果设置了该标志,表示该 Cookie 只能通过加密协议(如 HTTPS)传输。
HttpOnly 标志(HttpOnly):如果设置了该标志,那么该 Cookie 只能通过 HTTP 协议传输,而不能通过 JavaScript 等脚本语言来访问。这有助于防止跨站点脚本攻击(XSS)。
除了上述属性外,还有一些其他的 Cookie 属性,如 SameSite(指定 Cookie 是否应该只发送给与创建 Cookie 网站同源的网站)等。
需要注意的是,Cookie 属性的支持程度因浏览器而异,不同版本的浏览器可能会支持不同的属性。在编写 Web 应用程序时,应该考虑到这些兼容性问题,并尽可能地避免使用过时或不受支持的属性。