SameSite Cookie 简易参考手册

Cookie分类:First-Party-Cookie和Third-Party-Cookie

cookie域名和当前地址栏的域名不一致时就是 三方 cookie


如何区分不同site

SameSite 中的site包含.com/.cn和服务(例如your-project/my-project)

-   www.web.dev和static.web.dev 是同一个site

 -  your-project.github.io和my-project.github.io是不同的site,因为服务名不一致



Set-Cookie: promo_shown=1;SameSite=Strict/Lax/None;Secure

举例说明siteA和siteB

1:Strict:

情况一,A站嵌入了一张B图片/脚本,A请求时不会携带B站的Cookie

情况二,A站内有关于B站的链接,打开B链接后“不会”携带B站的Cookie

2:Lax:

情况一,和strict一样

情况二,A站内有关于B站的链接,打开B链接后“会”携带B站的Cookie

3:None:

任何情况都会发送cookie

4:不设置SameSite默认值是Lax

5:如果设置SameSite=None那么Cookie必须是Secure的,只能https传送



实用场景:

如果其他站点消费你的服务,比如:远程组件、可嵌入内容、紧密耦合的程序(SDK)、广告、跨域登录



注意:

Chrome从80开始启用SameSite

Firefox和Edge也计划启用

有些旧版浏览器不支持None属性,可用正则判断useragenthttps://www.chromium.org/updates/same-site/incompatible-clients



测试:

Chrome76以上版本:chrome://flags/#cookies-without-same-site-must-be-secure

Firefox 69打开about:config设置network.cookie.sameSite.noneRequiresSecure


关于公共后缀的理解: http://www.kokojia.com/article/9678.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容