HTTP学习

Http网络协议 - HDWK - 博客园 (cnblogs.com)https://www.cnblogs.com/HDK2016/p/7588045.html

二.Http协议的结构介绍

    在正式开始之前,这里笔者先介绍一下Http的报文结构。Http的报文结构是由状态行、头部、空行、主体组成。在这里读者需要注意,GET请求和POST得到的报文结构是不一样的,GET请求无请求数据,而POST请求有请求数据。关于Http的详细信息,读者可以参考Http协议详解,而我们接下来讨论的Range就是请求头部中的一个字段。

三.Http协议的头部Range介绍

    Range字段是Http1.1开始新增加的,Http1.1和传统的Http1.0相比,最大的特点就是解决1.0中不能支持多请求的缺点。判断一个WEB服务器是否支持分段下载可以通过查看 返回头是否有Accept-Ranges:Byte 字段。分段下载分为两种,一种就是一次请求一个字段,一种就是一次请求多个字段。关于超文本传输的报文信息,读者可以通过filter、burp或是浏览器的控制台中查看报文的信息。
 

   (一)一次请求一个分段

    下面看一下Range字段常用表示的写法:
    Range: bytes=0-1024 获取最前面1025个字节
    Range: bytes=-500   获取最后500个字节
    Range: bytes=1025-  获取从1025开始到文件末尾所有的字节
    Range: 0-0          获取第一个字节
    Range: -1           获取最后一个字节
    例如,在一个请求头中有Range:byte=0-1024,那么表示的意思就是请求数据的前1025个字节。
     如果这个分段请求的返回码是206,并且指示的分段范围是0-1024,文件的总大小是7877,那么在响应头中的数据应该表示为:
    Content-Range: bytes 0-1024/7877

    (二)一次请求多个分段

    多个分段和单个分段相差无几,只需要在请求头的分段中添加多个分段区域就可以了。
    例如:在请求头出现Range:byte:0-1024,2000-3000,表示的含义就是请求前1025个字节信息,和从2000到3000字节的信息。
    如果分段请求的返回状态码是206,那么Content-Range的返回值和一次请求单个分段一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值