请求资源的部分内容,单位是 byte(字节),从0开始。
如果请求头携带了 Range 信息,也就是分批下载,这时候服务器会返回 206 Partial Content 的状态码及说明。

如果服务器不支持分批下载,那么会返回整个资源的大小以及状态码为200。

Range 请求头

Range: bytes=start-end

例如:

Range: bytes=10- //:从第10个字节开始到最后一个字节的数据
Range:bytes=20-39 //:从第20个字节到第39个字节之间的数据

注意:整个表示 [start, end] 是前闭后闭的,也就是包含请求头的 start 和 end。所以下次请求应该是 [end+1, nextEnd]。

Content-Range 响应头

Content-Range:bytes 0-10/3000
表示服务器返回了前(0-10)个字节的数据,总共3000字节的数据。

Content-Type 数据类型

Content-Type:image/png 表示资源类型是 png 格式的图片

Content-Length 资源的长度

Content-Length:11 表示服务器响应了11个字节的数据

Last-Modified

Last-Modified:Tue, 30 Jun 2018 03:12:48 GMT 表示资源最近被修改的时间,如果分批下载的时候发现 Last-Modified 被修改了,那么需要重新下载

ETag

ETag: W/"3103-1435633968000" 表示资源版本的标示符。通常是消息摘要(类似MD5)。分段下载时需要注意,或者缓存控制也需要注意。如果是分布式缓存系统,需要确保每台计算机的 ETag 计算规则的一致性,缓存的过期需要结合 ETag 和 Last-Modified 共同决定。

分段下载

利用 HTTP 的头信息的上述几个特点,我们可以充分利用多线程的能力。

  • 先发送一个 HEAD 方法的请求,知道总文件大小(Content-Length 就是总字节大小)
  • 多线程下载(线程1:Range:bytes=0-100,线程2:Range:bytes=100-200,…)

HTTP 请求头 Range 信息相关推荐

  1. resttemplate 设置请求头_Jmeter信息头管理器常用的三种传参格式

    当我们在利用Jmeter进行接口测试时,其实相当于Jmeter模拟浏览器作为客户端,按照HTTP等协议发送报文给服务器端接口,以HTTP为例,他的请求报文包括请求行.请求头和请求体,今天要说的三种co ...

  2. php获取curl头_php中CURL请求头和响应头获取方法

    本文主要和大家分享php中CURL请求头和响应头获取方法,希望能帮助到大家. 1.从CURL中获取响应头$oCurl = curl_init(); // 设置请求头, 有时候需要,有时候不用,看请求网 ...

  3. 使用请求头认证来测试需要授权的 API 接口

    使用请求头认证来测试需要授权的 API 接口 Intro 有一些需要认证授权的接口在写测试用例的时候一般会先获取一个 token,然后再去调用接口,其实这样做的话很不灵活,一方面是存在着一定的安全性问 ...

  4. HttpClient设置HTTP请求头Header

    用Firebug对POST的数据进行监控 请求 HTTP头 信息,得到如下内容: Java代码   Accept  application/json, text/javascript, */* Acc ...

  5. Spring Cloud Feign 请求时附带请求头

    Spring Cloud Feign 请求时附带请求头 问题描述 解决方案 FeignConfiguration 使用 配置修改 问题描述 Feign 在请求时是不会将 request 的请求头带着请 ...

  6. HTTP响应头和请求头信息对照表(一篇全)

    HTTP Request Header 请求头 Header 解释 示例 Accept 指定客户端能够接收的内容类型 Accept: text/plain, text/html Accept-Char ...

  7. Http头信息(二)——请求头信息(一)

    文章目录 前言 1. `Accept` 2. `Accept-Charset` 3. `Accept-Encoding` 4. `Accept-Language` 5.`Authorization` ...

  8. HTTP响应头和请求头信息对照表

    HTTP请求头提供了关于请求,响应或者其他的发送实体的信息.HTTP的头信息包括通用头.请求头.响应头和实体头四个部分.每个头域由一个域名,冒号(:)和域值三部分组成. 通用头标:即可用于请求,也可用 ...

  9. 浏览器HTTP协议请求头信息

    通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包含请求的方法.URI.协议版本.以及包含请求修饰符.客户信息和内容的类似于MIME的消息结构 ...

最新文章

  1. NLTK包和语料库的准备
  2. os.makedirs和os.mkdir 生成文件夹
  3. 一键分享(系统所有的软件的分享功能)
  4. java mysql 行锁_Java如何实现对Mysql数据库的行锁?
  5. [习题].FindControl()方法 与 PlaceHolder控件 #2(动态加入「子控件」的事件)
  6. Google Protobuf 使用介绍
  7. 手机出货量暴跌!00后4年没换手机:除了贵、穷还有别的原因...
  8. CRM客户关系管理系统商业项目视频课程-赖国荣-专题视频课程
  9. PR转场预设 模仿纸张翻转特效PR视频转场PR预设
  10. PICKIT3 WIN10无法识别问题
  11. iOS股票K线图、分时图绘制
  12. Java基础教程-01-Java简介与变量介绍
  13. Mac 有线网络或WiFi网络共享成WiFiwifi的方法
  14. 查询物流信息,出现特殊符号如何一键替换
  15. 37 篇! Facebook 今年被 CVPR 收录的论文都说了啥?
  16. 别具一格,原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)表白爱心代码(1)
  17. 拥有资源的多少并不重要,如果不懂得利用,永远是不够的
  18. wordCount的解析
  19. win10下修改rabbitmq默认端口
  20. java关于考核 源码,基于jsp的职工绩效考核管理-JavaEE实现职工绩效考核管理 - java项目源码...

热门文章

  1. Leetcode 1522. Diameter of N-Ary Tree [Python]
  2. JS阿拉伯数字转大写
  3. 大专升本科难度大吗 需要考哪些科目
  4. 海美迪h7四代刷Linux,海美迪H7四代官方固件ROM升级包下载_刷机教程
  5. linux下增加swap分区,LINUX新建和增加SWAP分区
  6. CentOS 7搭建PHP环境
  7. x86-64CPU寄存器介绍
  8. web前端三大主流框架介绍
  9. a73*2+a53*2指的是什么_在影视表演的训练和学习中,台词的正确练习技巧是什么?...
  10. 计算机服务器水冷系统设计,高温不宕机!解密IBM水冷技术发展史