HTTP 协议(上下文介绍和多断点续传原理)

本文介绍了HTTP协议中的User-Agent、Referer等请求上下文及响应上下文,重点讲解了断点续传的原理,包括Range头部格式、curl模拟和Wireshark抓包分析,阐述了多线程下载和HTTP Range规范在大文件下载和视频播放中的应用。
摘要由CSDN通过智能技术生成

HTTP 协议(上下文介绍和多断点续传原理)

HTTP 请求和响应都有一些表示 上下文 的常用头部,所谓 上下文 指的就是某个请求(或响应)从哪里来,或者说某个请求(或响应)对后续请求(或响应)产生哪些影响,后面从 HTTP 协议的角度分析大文件(大的包体)如何做到 断点续传 的,下载大文件(大的包体)的时候是如何做到 多线程 并发下载的。

1.请求的上下文 User-Agent

User-Agent 用于指明客户端的用户类型信息,服务器可以根据此类型信息做出对应响应,下面给出基于 ABNF 描述的 User-Agent 格式:

User-Agent = product*(RWS(product/comment))
  product = token ["/" product-version]
  RWS = 1*(SP/HTAB)

2.User-Agent 示例

2.1 firefox 浏览器中的 User-Agent
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

如下图所示:
在这里插入图片描述

Tips:Mozilla/5.0 表示浏览器兼容 Mozilla/5.0Windows NT 10.0; Win64; x64; rv:83.0表示的就是操作系统的版本信息,Gecko/20100101firefox 浏览器的渲染引擎,Firefox/83.0 是浏览器的发布版本号。

2.2 chrome 浏览器中的 User-Agent
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36

如下图所示:
在这里插入图片描述

Tips:Mozilla/5.0 表示浏览器兼容 Mozilla/5.0Windows NT 10.0; Win64; x64表示的就是操作系统的版本信息,GAppleWebKit/537.36 (KHTML, like Gecko) 表示浏览器的渲染引擎,Chrome/86.0.4240.198Safari/537.36 都是表示浏览器的发布版本号。

2.请求上下文 Referer

2.1 Referer 头部格式

浏览器会对来自某一页面的请求自动添加 Referer 头部信息,格式如下:

Referer = absolute-URI / partial-URI

如下图所示:
在这里插入图片描述

Tips:图中表示从 www.baidu.com 跳转过去的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值