15 Cookie 机制

Posted by CodingWithAlice on April 25, 2021

15 Cookie 机制

  • 总结

    1、Cookie 是服务器委托浏览器存储的一些数据,让服务器有了“记忆能力”

    2、响应报文 使用 Set-Cookie 字段发送 key=value 形式的 Cookie

    3、**请求报文 **里用 Cookie 字段发送多个 Cookie

    4、为了保护 Cookie,还要给它设置 有效期、作用域 等属性,常用的有 Max-AgeExpiresDomainHttpOnly

    5、Cookie 最基本的用途是身份识别,实现 有状态的会话 事务

image-20210425210330308

Cookie 只能在一段时间内可用,一旦超过这个期限浏览器就认为是 Cookie 失效,在存储里删除,也不会发送给服务器

  • Expires:用的是绝对时间点,即 deadline
  • Max-Age【优先级高】:是相对时间,单位是 ,浏览器用 收到报文的时间点 再加上 Max-Age,就可以得到失效的绝对时间

DomainPath 指定了 Cookie 所属的域名和路径

  • 浏览器在发送 Cookie 前会从 URI 中提取出 hostpath 部分,对比 Cookie 的属性。如果不满足条件,就不会在请求头里发送 Cookie
  • HttpOnly

    Cookie 只能通过浏览器 HTTP 协议传输,禁止其他方式访问

    JS 引擎就会禁用 document.cookie 等一切相关的 API防止了脚本攻击

  • SameSite - 防范 跨站请求伪造(XSRF)攻击

    SameSite=Strict:严格限定 Cookie 不能随着跳转链接跨站发送

    SameSite=Lax:允许 GET/HEAD 等安全方法,但禁止 POST 跨站发送

  • Secure:表示这个 Cookie 仅能用 HTTPS 协议加密传输,明文的 HTTP 协议会禁止发送

1、身份识别

2、广告跟踪