-
Linux中实现断点续传的原理
- 时间:2024-11-23 09:48:53
大家好,今天Win10系统之家小编给大家分享「Linux中实现断点续传的原理」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
断点续传在现在用得很普遍了,如果没有断点续传,那么下载的东西已经下载了90%,但是中断了下载过程,就要从头开始下载。本文就来简单介绍一下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 了。
知道了以上原理,就可以进行断点续传的编程了。
以上就是关于「Linux中实现断点续传的原理」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『Win10系统之家www.ghost580.net♀独家使♀用,未经允许不得转载!』
相关文章
-
ioctl函数主要用于控制I/O设备,可实现用户空间向内核交换数据的常用方法,那么Linux下的ioctl函数还有那些作用呢?下面小编就给大家介绍下Linux下ioctl函数的具体用法。
Linux内核的概念
Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客LinusTorva... -
Linuxpwd命令主要用于打印当前工作目录的工作路径,如果你想要使用pwd命令,就要对pwd命令的用法十分了解,下面小编就给大家介绍下Linux中的pwd命令。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd[选项]
2.命令功能:
查看”当前工作目录“的完整路径
我们都知道Linux命令中的rm命令主要用于删除文件,那么rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。
rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm-rdir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
1.命令格式:
在浏览网站的时候突然变的好卡,不知道是电脑的原因还是网速的原因导致的,这就需要测试网速了,下面小编给大家介绍下如何使用Linux命令行来测试网速,有兴趣的话不妨来了解下吧。
在可用于测试宽带速度的网站中,Speedtest.net是使用最广泛的。
Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Sp...
- Linux教程
-
-
操作系统排行榜
更多>> -
- Ghost Win8.1 64位 老机精简专业版 V2023.02
- 【老机专用】Ghost Win8 32位 免费精简版 V2022.01
- 【致敬经典】Ghost Windows8 64位 免激活正式版 V2021.08
- 微软Windows8.1 32位专业版免激活 V2023.05
- Windows11 22H2 (22621.1778) X64 游戏美化版 V2023.06
- Windows11 22H2 (22621.1778) X64 专业精简版 V2023.06
- 笔记本专用 Ghost Win10 64位 专业激活版(适用各种品牌) V2022.08
- GHOST WIN8 X86 稳定专业版(免激活)V2022.07
- Windows8.1 64位 免费激活镜像文件 V2022.07
- Windows 8.1 64位 极速纯净版系统 V2022
-
Linux教程排行榜
更多>> -
- UOS系统怎么获取root管理员权限?
- Deepin Linux系统怎么安装brother打印机驱动并且设置网络打印机?
- UOS系统怎么查找添加连接打印机?UOS系统连接打印机教程
- CentOS系统怎么安装?CentOS Linux详细安装教程
- Linux系统怎么查看电脑的磁盘空间?
- 怎么远程登录Linux CentOS系统?远程登录Linux CentOS系统方法教学
- Linux CentOS系统要怎么安装?Linux CentOS系统安装方法教学
- Deepin系统软件安装位置在哪?Deepin系统软件安装位置介绍
- Deepin系统怎么切换到root用户?Deepin系统切换到root用户方法教程
- Linux是什么?它是哪个国家开发的
- 热门标签
-