Cookie 的 Path 属性控制浏览器在发起 HTTP 请求时是否自动发送该 Cookie,采用区分大小写的前缀匹配规则。例如 Path=/admin 匹配 /admin、/admin/ 等,但不匹配 /admins 或 /Admin;Path=/ 为默认值,匹配所有路径;Path 必须与 Domain 同时满足才发送 Cookie;可通过开发者工具的 Application 和 Network 标签验证。

Cookie 的 Path 属性用于指定该 Cookie 在哪些 URL 路径下可被浏览器自动发送到服务器。它不是“阻止访问”,而是控制浏览器在发起 HTTP 请求时,是否将该 Cookie 包含在 Cookie 请求头中。
Path 的匹配规则是前缀匹配,不是完整路径匹配
浏览器判断是否发送 Cookie 时,会检查当前请求的路径是否以 Cookie 的 Path 值开头(区分大小写,且必须从路径起始处开始)。例如:
- Cookie 设置为
Path=/admin,则/admin、/admin/、/admin/user、/admin/api/settings都会携带该 Cookie; - 但
/admins、/user/admin、/Admin(大小写不同)不会携带; -
Path=/表示根路径,所有路径都匹配(默认值); -
Path=/user不会匹配/users(因为/users不以/user开头)。
设置 Path 的常见方式
可以通过 document.cookie 或 HTTP 响应头 Set-Cookie 设置:
- 前端 JS 设置:
document.cookie = "token=abc123; Path=/api; HttpOnly=false"; - 后端响应头设置(如 Node.js):
res.setHeader('Set-Cookie', 'session=xyz; Path=/dashboard; Secure; SameSite=Lax'); - 注意:JS 无法读取
HttpOnlyCookie,但Path规则对它们同样生效(由浏览器内部执行)。
Path 和 Domain 共同作用,但互不影响
Path 只管路径层级,Domain 管域名(含子域)。两者需同时满足才发送 Cookie:
立即学习“Java免费学习笔记(深入)”;
- 若 Cookie 设置为
Domain=example.com; Path=/shop,则只有请求https://example.com/shop/xxx或其子路径时才会带上; - 请求
https://sub.example.com/shop不会发送(域名不匹配); - 请求
https://example.com/cart也不会发送(路径不匹配)。
调试和验证方法
可通过浏览器开发者工具确认 Cookie 是否按预期生效:
- 打开 Application → Cookies,查看目标 Cookie 的
Path字段; - 切换到 Network 标签,点击某个请求,查看 Headers → Request Headers → Cookie 是否包含该 Cookie;
- 手动修改地址栏路径(如从
/login切到/admin),观察 Cookie 是否消失或出现。


















