文章目录
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.0
,Windows NT 10.0; Win64; x64; rv:83.0
表示的就是操作系统的版本信息,Gecko/20100101
是firefox
浏览器的渲染引擎,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.0
,Windows NT 10.0; Win64; x64
表示的就是操作系统的版本信息,GAppleWebKit/537.36 (KHTML, like Gecko)
表示浏览器的渲染引擎,Chrome/86.0.4240.198
和Safari/537.36
都是表示浏览器的发布版本号。
2.请求上下文 Referer
2.1 Referer 头部格式
浏览器会对来自某一页面的请求自动添加 Referer
头部信息,格式如下:
Referer = absolute-URI / partial-URI
如下图所示:
Tips:图中表示从
www.baidu.com
跳转过去的,