`
jishublog
  • 浏览: 871440 次
文章分类
社区版块
存档分类
最新评论

服务器是否支持断点续传

阅读更多

通常情况下,Web服务器(如Apache)会默认开启对断点续传的支持。因此,如果直接通过Web服务器来提供文件的下载,可以不必做特别的配置,即可享受到断点续传的好处。断点续传是在发起HTTP请求的时候加入RANGE头来告诉服务器客户端已经下载了多少字节。等所有这些请求都返回之后,再把得到的内容一块一块的拼接起来得到完整的资源。

你可以通过以下的命令来测试一下。

Linux 测试服务器是否支持断点续传

localhost [~]# wget -S http://httpd.apache.org/images/httpd_logo_wide_new.png 2>&1 | grep ‘Accept-Ranges’ 
  Accept-Ranges: bytes

输出结果 Accept-Ranges: bytes ,说明服务器支持按字节下载。

curl 命令发送字节范围下载

curl –range 0-99 http://images.apple.com/home/images/billboard_iphone_hero.jpg

这样可以到最开始99字节,结果如下图:

说明从服务器端按字节范围下载是完全没有问题的。

现在我们尝试以下方式:

1、一次性下载整个图片。

localhost [~]# curl –range 0-98315 http://images.apple.com/home/images/billboard_iphone_hero.jpg > test.jpg
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 98316 100 98316 0 0 524k 0 –:–:– –:–:– –:—:— 527k

完成后,test.jpg完全等于billboard_iphone_hero.jpg,文件大小为98,316 字节。

注意:字节是从0开始,结束字节为总字节长度 减 1。

2、分成3次下载,最后整合为一个文件。

localhost [~]# curl –range 0-1000 http://images.apple.com/home/images/billboard_iphone_hero.jpg > download_1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1001 100 1001 0 0 10166 0 –:–:– –:–:– –:–:– 10319
localhost [~]# curl –range 1001-10000 http://images.apple.com/home/images/billboard_iphone_hero.jpg > download_2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9000 100 9000 0 0 124k 0 –:–:– –:–:– –:–:– 219k
localhost [~]# curl –range 10001-98315 http://images.apple.com/home/images/billboard_iphone_hero.jpg > download_3
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 88315 100 88315 0 0 611k 0 –:–:– –:–:– –:–:– 616k
localhost [~]# cat download_1 download_2 download_3 > last.jpg

最终获得合并后的文件,last.jpg完全等于billboard_iphone_hero.jpg,文件大小为98,316 字节。

分享到:
评论

相关推荐

    Java上传文件到FTP服务器,支持断点续传.rar

    java实现ftp断点续传,上传文件到FTP服务器,支持断点续传,同时支持LINUX主机,代码里面包括了比较多的java网络操作类,比如连接FTP的常规类、递归创建远程服务器目录 上传文件到服务器,新上传和断点续传操作,远程...

    支持断点续传的下载进度对话框

    支持断点续传的下载进度对话框,已测试过的,大家放心使用

    c#制作FTP上传(支持断点续传)

    实现FTP上传,暂停断点续传等功能。已经测试过了,可以使用。希望大家多给点意见,是功能更完善。

    服务端实现断点续传

    NULL 博文链接:https://xiaoming123123.iteye.com/blog/1764714

    支持代理服务器、断点续传完整的下载程序

    来自国外的一个完整的下载程序,好就好在它支持代理服务器,并且实现了断点续传! 是一个不可多的的好东东!很好的参考。 在这基础上在继续发展,可以做出一个很棒的下载程序。 一般的下载程序都支持了多线程,...

    xuchuanftp_java_FTP断点续传_

    Java上传文件到FTP服务器,支持断点续传

    让Ie支持断点续传的插件

    Ie断点续传插件,让Ie支持断点续传的插件

    支持断点续传的C++代码

    支持断点续传的C++代码

    http超大文件断点续传服务器

    实现的代码演示了一个具备超大文件http上传的服务器,支持所有浏览器,支持断点续传,支持的文件大小不限,支持Windows与linux。

    支持断点续传的在线更新代码

    支持断点续传的在线更新代码 详见DOC下的说明文件,但作了部分改动。 注意不要删除backup和update这两个目录。 另外mzsf这个目录要上传到服务器端。 1、自动分析升级信息 2、自动判断文件时间是否需要升级 ...

    大附件断点续传控件

    对于开发人员来说,有了这些信息,断点续传功能将会变的和普通的文件上传功能一样简单。 相信新颖网络HTTP断点续传控件能够帮助您赢利市场。 产品介绍:[url=...

    Android 使用FTP文件传输协议上传文件(支持断点续传 )

    连接FTP服务器,实现文件的上传,删除功能,可以断点续传,支持退出重进App续传,断网重连续传。

    断点续传经典实例

    关于socket编程的断点续传和相关IO流的应用,服务器端和客户端都有详细的代码可以参考,通过这个例子可以很清楚的了解,网络编程的基础。

    C# .NET大文件上传含断点续传源码及实例

    这是一个用C#编写的大文件上传控件,支持断点续传,包括了控件源码和ASP.NET下的调用实例,上传文件的大孝客户端的唯一身份标识、上传类型(0:断点续传, 1:truncate,重新上传,2:上传,如果该文件已存在,则报403...

    基于QT5的FTP传输,支持断点续传

    基于QT5的FTP传输,已经经过测试,支持断点续传。 基于qt5、、、QFtp类来自:https://qt.gitorious.org/qt/qtftp/source/8f60c8c0adca6e6183fb31b528d306439ca2d2c1: 更改qftp类中get函数,添加REST命令,实现断点...

    C# .NET大文件上传含断点续传源码及实例.zip

    这是一个用C#编写的大文件上传控件,支持断点续传,包括了控件源码和ASP.NET下的调用实例,上传文件的大孝客户端的唯一身份标识、上传类型(0:断点续传, 1:truncate,重新上传,2:上传,如果该文件已存在,则报403...

    socket-支持断点续传java多线程下载

    运用socket进行断点续传; 1 从客户端读取版本及服务器地址等信息 2 通过webservice将本地版本号与服务器版本号进行比对,如果服务器发布的版本号大于客户端版本号,则从服务器查找要更新的文件。 3 启动主线程,...

    Delphi断点续传!!!!

    在下载有用的软件的时候常常因为网络或者其他原因突然断网,已经下载了一部分的软件又要重新下载,于是断点续传出现在网络上,大量的下载...不过断点续传功能需要服务器支持,现阶段的绝大多数服务器都支持断点续传。

    android断点续传_多线程下载demo

    android客户端实现断点续传功能,可实现多线程断点续传下载。实现android端断点续传下载需要服务器的支持,本demo中包含了个人写的服务器端的下载功能的demo.

Global site tag (gtag.js) - Google Analytics