Skip to content

如何判断这次登录的人和之前登录的人是一个人?

HTTP 协议是无状态的,一旦请求响应完成后就会断开,那么如何保持用户的登录状态呢

cookie 就像是我们在现实世界中用到的各种证件,它具有以下特性:

🔐 多站点凭证存储

  • 可以同时保存多个网站的身份凭证
  • 每个网站的凭证都是独立且安全的

🎫 自动身份验证

  • 访问网站时自动出示对应的凭证
  • 确保身份验证的便捷性

智能有效期管理

  • 可以设置凭证的有效期限
  • 过期自动失效,保障安全
  • key
  • value
  • domain: 表明属于哪个网站的
  • path: 表明这个 cookie 是属于哪个基路径的
  • secure 表明是否使用安全传输
  • expire 过期时间

cookie 在请求中的携带需要同时满足以下条件:

规则类型验证内容详细说明
⏰ 时效性验证有效期检查cookie 必须在有效期内,未过期
🌐 域名匹配域名校验• cookie 的域(domain)必须与当前请求的域名相匹配
• 支持子域名匹配(例如:.baidu.com 可匹配 a.baidu.com)
📂 路径校验URL 路径匹配• cookie 的路径(path)需要与请求的 URL 路径匹配
• 支持路径前缀匹配(例如:/blog 可匹配/blog/post)
🔒 安全传输传输协议要求如果 cookie 设置了 secure 标记,则只能在 HTTPS 连接中传输

当一个 cookie 满足上述所有条件时,它将被自动添加到请求头中。请求头中的 cookie :

Cookie: A=a; B=b