IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 关于HTTP Cookie那些事儿 -> 正文阅读

[网络协议]关于HTTP Cookie那些事儿

Cookie的定义和作用:

Cookie 是服务端发送到客户端浏览器并保存在本地的一小块数据,它会被客户端浏览器在下次向同一服务端发请求时携带并发送到服务端。
Cookie通常用于告知服务端两个请求是否来自于同一客户端浏览器。

Cookie主要用于三个方面:

  • 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
  • 个性化设置(如用户自定义设置、主题等)
  • 浏览器行为跟踪(如跟踪分析用户行为等)

浏览器查看Cookie的方法:
在这里插入图片描述

Cookie的创建:

Cookie一般由服务端通过设置HTTP响应头Set-Cookie创建:

Set-Cookie: <cookie名>=<cookie值>

一个服务端设置了Cookie的响应头示例:

HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: test_cookie=lynn
Set-Cookie: demo_cookie=hello

[页面内容...]

此后,浏览器对该服务端发起的每一次新请求,需要通过HTTP请求头Cookie将保存的Cookie信息再发送给服务端。

GET /test.html HTTP/1.0
Host: www.example.com
Cookie: test_cookie=lynn; demo_cookie=hello

Cookie的生命周期:

两种方式定义Cookie的生命周期:

  • 会话期 Cookie:浏览器关闭之后它会被自动删除,也就是说它仅在会话期内有效。会话期Cookie不需要指定过期时间(Expires)或者有效期(Max-Age)。需要注意的是,有些浏览器提供了会话恢复功能,这种情况下即使关闭了浏览器,会话期Cookie 也会被保留下来,就好像浏览器从来没有关闭一样,这会导致 Cookie 的生命周期无限期延长。
  • 持久性 Cookie:取决于过期时间(Expires)或有效期(Max-Age)指定的一段时间。

Expires和Max-Age的区别

含义:

  • Expires:为 Cookie 的删除设置一个过期的日期(如:Wed, 21 Oct 2015 07:28:00 GMT)。
  • Max-Age: 设置一个 Cookie 将要过期的秒数。

版本:
Expires 参数是当年网景公司推出 Cookies 原有的一部分。在 HTTP1.1 中,Expires 被弃用并且被更加易用的 Max-Age 所替代。

优先级:
同时设置了ExpiresMax-Age,所有支持Max-Age的浏览器会忽略 Expires的值,只有 IE(ie6、ie7 和 ie8) 例外,IE(ie6、ie7 和 ie8)会忽略 Max-Age只支持Expires

Cookie的所有属性:

  • Name=Value:cookie的名称和值
  • Domain:Domain 指定了哪些主机可以接受 Cookie。如果不指定,默认为 origin,不包含子域名。如果指定了Domain,则一般包含子域名。因此,指定 Domain 比省略它的限制要少
  • Path:指定了主机下的哪些路径可以接受 Cookie(该 URL 路径必须存在于请求 URL 中)。以字符 %x2F ("/") 作为路径分隔符,子路径也会被匹配。
  • Expires:设置Cookie过期的时间戳,格式为GMT。
  • Max-Age:设置Cookie 将要过期的秒数。
  • HttpOnly:加以限制,禁止JavaScript脚本例如通过Document.cookie属性访问cookie。主要为了防止XSS攻击。
  • Secure:Cookie仅在使用该https:方案发出请求时才发送到服务器(本地主机除外),因此更能抵抗 中间人 攻击。
  • SameSite:用来限制第三方 Cookie,从而减少安全风险。主要有三个值:
    • Strict最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。

    • Lax规则稍稍放宽,大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。
      在这里插入图片描述

    • None:Chrome 计划将Lax变为默认设置。这时,网站可以选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。

参考链接:

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:14:41  更:2021-10-01 17:15:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:25:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码