微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > Linux教程

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 了。

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

上一页12下一页 剩下全文

以上就是关于「Linux中实现断点续传的原理」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

Win10系统之家www.ghost580.net♀独家使♀用,未经允许不得转载!』

相关文章

  • Linux系统中ioctl函数如何实现?

    Linux系统中ioctl函数如何实现?


      ioctl函数主要用于控制I/O设备,可实现用户空间向内核交换数据的常用方法,那么Linux下的ioctl函数还有那些作用呢?下面小编就给大家介绍下Linux下ioctl函数的具体用法。
      Linux内核的概念
      Linux是最受欢迎的自由电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰黑客LinusTorva...
  • Linux中pwd命令有什么用?

    Linux中pwd命令有什么用?


      Linuxpwd命令主要用于打印当前工作目录的工作路径,如果你想要使用pwd命令,就要对pwd命令的用法十分了解,下面小编就给大家介绍下Linux中的pwd命令。
      在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
      1.命令格式:
      pwd[选项]
      2.命令功能:
      查看”当前工作目录“的完整路径
  • Linux中如何使用rmdir命令指南

    Linux中如何使用rmdir命令指南


      我们都知道Linux命令中的rm命令主要用于删除文件,那么rmdir命令又有什么作用呢?下面小编就给大家介绍下Linux命令中rmdir命令的主要功能吧。
      rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的。(注意,rm-rdir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。
      1.命令格式:
  • Linux命令行中网速测试方法详解

    Linux命令行中网速测试方法详解


      在浏览网站的时候突然变的好卡,不知道是电脑的原因还是网速的原因导致的,这就需要测试网速了,下面小编给大家介绍下如何使用Linux命令行来测试网速,有兴趣的话不妨来了解下吧。
      在可用于测试宽带速度的网站中,Speedtest.net是使用最广泛的。
      Speedtest.net的工作原理并不复杂:它在你的浏览器中加载JavaScript代码并自动检测离你最近的Sp...