系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

Linux中实现断点续传的原理

时间:2017-08-17来源:系统城装机大师作者:zhijie

  断点续传在现在用得很普遍了,如果没有断点续传,那么下载的东西已经下载了90%,但是中断了下载过程,就要从头开始下载。本文就来简单介绍一下Linux系统中断点续传是怎么实现的。

Linux中实现断点续传的原理

  断点续传的原理

  其实断点续传的原理很简单,就是在 Http 的请求上和一般的下载有所不同而已。

  打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:

  假设服务器域名为 wwww.sjtu.edu.cn,文件名为 down.zip。

  GET /down.zip HTTP/1.1

  Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-

  excel, application/msword, application/vnd.ms-powerpoint, */*

  Accept-Language: zh-cn

  Accept-Encoding: gzip, deflate

  User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

  Connection: Keep-Alive

  服务器收到请求后,按要求寻找请求的文件,提取文件的信息,然后返回给浏览器,返回信息如下:

  200

  Content-Length=106786028

  Accept-Ranges=bytes

  Date=Mon, 30 Apr 2001 12:56:11 GMT

  ETag=W/“02ca57e173c11:95b”

  Content-Type=application/octet-stream

  Server=Microsoft-IIS/5.0

  Last-Modified=Mon, 30 Apr 2001 12:56:11 GMT

  所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在客户端浏览器传给 Web 服务器的时候要多加一条信息 -- 从哪里开始。

  下面是用自己编的一个“浏览器”来传递请求信息给 Web 服务器,要求从 2000070 字节开始。

  GET /down.zip HTTP/1.0

  User-Agent: NetFox

  RANGE: bytes=2000070-

  Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

  仔细看一下就会发现多了一行 RANGE: bytes=2000070-

  这一行的意思就是告诉服务器 down.zip 这个文件从 2000070 字节开始传,前面的字节不用传了。

  服务器收到这个请求以后,返回的信息如下:

  206

  Content-Length=106786028

  Content-Range=bytes 2000070-106786027/106786028

  Date=Mon, 30 Apr 2001 12:55:20 GMT

  ETag=W/“02ca57e173c11:95b”

  Content-Type=application/octet-stream

  Server=Microsoft-IIS/5.0

  Last-Modified=Mon, 30 Apr 2001 12:55:20 GMT

  和前面服务器返回的信息比较一下,就会发现增加了一行:

  Content-Range=bytes 2000070-106786027/106786028

  返回的代码也改为 206 了,而不再是 200 了。

  知道了以上原理,就可以进行断点续传的编程了。

上一页12 
分享到:

相关信息

  • linux 文件权限怎么解析

    常用权限linux系统内有档案有三种身份 u:拥有者 g:群组 o:其他人这些身份对于文档常用的有下面权限:r:读权限,用户可以读取文档的内容,如用cat,more查看w:写权限,用户可以编辑文档x...

    2024-07-07

  • 如何使用WPSeku找出 WordPress 安全问题?

    然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装...

    2024-07-03

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载