实现HTTP断点续传

来源:互联网 发布:duet for mac 破解 编辑:程序博客网 时间:2024/05/28 16:25

在HTTP协议中,获取资源可以使用GET方法,但在使用GET方法指定一个资源后,会获取到该资源的所有字节。在HTTP协议中,提供Range属性,可以指定获取资源某一段数据。

如使用telnet连接www.cz88.net 的80端口:
GET /2004/7-8/0153-2.htm HTTP/1.1
Host: www.cz88.net
Accept: */*
Referer: http://www.cz88.net/2004/7-8
User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Range: bytes=10400-10402
Pragma: no-cache
Cache-Control: no-cache
Connection: close

会获取如下数据:
HTTP/1.1 206 Partial Content
Content-Length: 3
Content-Type: text/html
Content-Range: bytes 10400-10402/13070
Last-Modified: Fri, 09 Jul 2004 18:24:12 GMT
Accept-Ranges: bytes
ETag: "06eb3eee165c41:3695"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Fri, 10 Nov 2006 14:50:20 GMT
Connection: close

.ht

失去了跟主机的连接。

在获取的报文中,可以看到Content-Range: bytes 10400-10402/13070,其中10400-10402是要获取的数据区域,13070是获取资源的总大小。 .ht就是我们获取的资源数据。

原创粉丝点击