由于HTTP请求是无状态的,任意两次请求之间是没有任何联系的。
就像你现在想要登录自己的邮箱,去查看邮件的时候即,即便账号密码都准确无误,可是点击登录之后,就像什么也没发生一样,仍然是未登录的状态。
因为所有的客户端并没有告诉服务器任何身份标识,所以没办法区别谁是谁,服务器也无法为你保存任何状态 后来HTTP协议加入了cookie这个概念,让服务器给所有客户端都发放一个临时的身份卡,并保存起来。
每一次HTTP请求,客户端都会带上这张身份卡,服务器就能区分开不同的客户端了。
一、Cookie 的主要作用
1. 会话管理
-
保持用户登录状态:例如登录网站后,无需每次访问都重新输入密码。
-
存储临时数据:如购物车内容、表单填写进度等。
2. 个性化设置
-
记录用户偏好(语言、主题、地域等)。
-
显示定制化内容或广告。
3. 用户行为追踪
-
统计用户访问频次、停留时间等。
-
跨网站追踪(常用于广告投放分析),通常通过第三方Cookie实现。
4. 技术功能
-
实现负载均衡(在服务器集群中识别用户请求路径)。
-
辅助安全验证(如防范跨站请求伪造攻击)。
二、Cookie 的工作原理
-
生成:用户首次访问网站时,服务器通过HTTP响应头的
Set-Cookie字段向浏览器发送Cookie。 -
存储:浏览器将Cookie保存到本地(内存或硬盘)。
-
发送:后续访问同一网站时,浏览器自动通过HTTP请求头的
Cookie字段将其发送给服务器。 -
生命周期:
-
会话Cookie:浏览器关闭后删除。
-
持久Cookie:根据设置的过期时间(
Expires或Max-Age)长期保存。
-
三、Cookie 的类型
| 类型 | 特点 |
|---|---|
| 第一方Cookie | 由当前访问的网站域名创建,主要用于用户体验优化。 |
| 第三方Cookie | 由当前网页嵌入的第三方资源(如广告、分析脚本)创建,常用于跨站追踪。 |
| 安全Cookie | 仅通过HTTPS协议传输,防止被窃取。 |
| HttpOnly Cookie | 禁止JavaScript访问,防范跨站脚本攻击(XSS)。 |
565

被折叠的 条评论
为什么被折叠?



