比如我现在访问的域名是https://xxx.text.a.com
此时cookie
中有两个同名的key->token
,一个domain
是a.com
,另外一个domain
是text.a.com
。
这个时候前端通过document.cookie
取token
的值有优先级吗?
我调试了一下,取的值是text.a.com
下的值,是不是说明domain
跟域名的匹配的越高,优先级就越高?或者说domain
的值越长优先级越高?
比如我现在访问的域名是https://xxx.text.a.com
此时cookie
中有两个同名的key->token
,一个domain
是a.com
,另外一个domain
是text.a.com
。
这个时候前端通过document.cookie
取token
的值有优先级吗?
我调试了一下,取的值是text.a.com
下的值,是不是说明domain
跟域名的匹配的越高,优先级就越高?或者说domain
的值越长优先级越高?
JS还能直接获取 cookie-name
对应的值?不都是直接返回全部的 cookie 之后自己截取吗?
Document.cookie - Web API 接口参考 | MDN 文档里面也是直接返回的所有的 Cookie 啊。
只不过有一个排序顺序,这个顺序是按照上面1楼回复中的提到 RFC6265 中有规定。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
参考:https://stackoverflow.com/a/24214538/1484621
大体上是: 浏览器会发送前会对 cookie 按路径长短排序,长的在前,但规范 RFC6265
同时说明服务端不应依赖这个顺序。