单独设对 domain 却漏掉 path,或者 path 设得太窄,都会导致预期外的不可见:
如果想让
.example.com下所有子域、所有路径都能用这个 Cookie,必须同时写domain=.example.com和path=/如果只写
domain=.example.com但没写path,浏览器会默认使用当前页面路径(比如/user/profile),那么/api/请求就不会带上它反过来,只设
path=/不设domain,Cookie 就只能在当前子域内生效,无法跨到api.example.com等其他子域
常见错误与规避方式
这些写法看似合理,实际无效或危险:
domain=example.com(缺前导点)→ 浏览器静默忽略domain=.localhost→ 本地开发时无效,现代浏览器不支持点号开头的 localhostpath=admin(缺斜杠)→ 可能意外匹配/administrate等无关路径在 HTTP 页面设
Secure属性 → Cookie 直接不存,且无报错提示
调试建议:用浏览器开发者工具的 Application → Cookies 面板实时查看 domain/path 是否按预期写入,注意观察“Domain”列显示的值是否带点、是否小写、是否与当前页匹配。
标签: JavaScript 常见错误与规避方式 Domain + Path
