cookie 扫盲

对 cookie 这块有些属性老是记不起来,🤔还是要记一下笔记。

同站是指二级域名+顶级域名相等

同源是指协议+主机名+端口号相等

Domain 是限制域名,设置为 www.baidu.com 的话,cors.baidu.com 就获取不到了。 Path是限制路径,如果设置为/cors 的话,/api下的请求就不会携带该cookie`。

JavaScript Document.cookie API 无法访问带有 HttpOnly 属性的cookie;

标记为 Secure 的 Cookie 只应通过被 HTTPS 协议加密过的请求发送给服务端;

SameSite 属性

  1. Strict 只允许同站请求携带 Cookie。比如cors.baidu.com 跳转到 www.baidu.com/cors/,就属于同站。

  2. Laxchrome 80 后的默认值) 允许部分第三方请求场景 携带Cookie。

  3. Nonechrome 80 前的默认值) 无论是否跨站都会发送 Cookie。必须同时加上 Secure 属性,否则无效,也就是说只支持 HTTPS。

    IOS 12 的 Safari 以及老版本的一些 Chrome 会把 SameSite=none 识别成 SameSite=Strict,所以服务端必须在下发 Set-Cookie 响应头时进行 User-Agent 检测,对这些浏览器不下发 SameSite=none 属性

跨域携带Cookie设置:withCredentials

资料:

1.https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies

2.https://segmentfault.com/a/1190000022235530

3.https://docs.microsoft.com/zh-cn/microsoftteams/platform/resources/samesite-cookie-update

4.https://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html

posted @ 2021-11-01 23:16  Seny  阅读(67)  评论(0)    收藏  举报