文章目录
前言
Cookie是一种用于在客户端存储数据的小型文本文件,通常由服务器发送并存储在用户的浏览器中。
一、什么是Cookie?
Cookie 是由服务器发送并存储在用户浏览器中的小型文本文件,用于在客户端存储数据,以便在用户访问网站时保持会话状态或跟踪用户行为。
二、Cookie的属性
1. 名称和值(Name and Value)
每个Cookie都有一个名称和值,名称和值由服务器设置,并在发送给客户端时存储在浏览器中。
代码示例:
document.cookie = "username=JohnDoe";
2. 域(Domain)
指定Cookie所属的域。默认情况下,Cookie属于创建它的域。
代码示例:
document.cookie = "username=JohnDoe; domain=example.com";
3. 路径(Path)
指定Cookie的有效路径。只有在该路径下的页面才能访问Cookie。
代码示例:
document.cookie = "username=JohnDoe; path=/account";
4. 有效期(Expires)
指定Cookie的过期时间。可以设置为特定的日期和时间,超过这个时间后,Cookie将被删除。
代码示例:
document.cookie = "username=JohnDoe; expires=Fri, 31 Dec 2024 23:59:59 GMT";
5. 最大年龄(Max-Age)
指定Cookie从创建开始的有效时间,以秒为单位。这个属性比expires
属性更精确。
代码示例:
document.cookie = "username=JohnDoe; max-age=3600";
6. 安全性(Secure)
指定Cookie只能通过HTTPS协议发送,确保数据传输的安全性。
代码示例:
document.cookie = "username=JohnDoe; secure";
7. HttpOnly
指定Cookie只能通过HTTP协议访问,JavaScript无法访问,增加安全性,防止跨站脚本攻击(XSS)。
代码示例:
document.cookie = "username=JohnDoe; HttpOnly";
8. SameSite
指定Cookie的SameSite属性,防止跨站请求伪造(CSRF)攻击。取值可以是Strict
、Lax
或None
。
代码示例:
document.cookie = "username=JohnDoe; SameSite=Strict";