linux curl命令验证服务器断点续传支持
有个同事说,发现现在对外下载安装包的服务器不支持断点续传,我听了一阵纳闷,lighttpd server对于静态文件应该默认支持断点续传的,登机器查看lighttpd配置文件发现

对断点续传的支持被禁用了,lighttpd的说明里对该配置是这样表述的:
server.range-requests
Allowed values: enable , disable
Default: enable
This option defines whether range requests are allowed or not.
Range request are requests of one or more sub-ranges of a file. Range requests are very helpful for resuming interrupted downloads and fetching small portions of huge files.
对于PDF还有特殊的说明,断点续传pdf的时候会crash
Note: Adobe Acrobat Reader can crash when it tries to open a PDF file if range requests are enabled.
用以下匹配规则设置对pdf文件断点续传的禁用
$HTTP["url"] =~ "\.pdf$" {
server.range-requests = "disable"
}
然后,想怎么能马上检查一个服务器是否支持断点续传,用curl实现
$ curl -r 0-1 -o range_test.part1 'url'
其中url为文件的下载地址
如果在目录下生成了一个2字节大小的 range_test.part1 文件,那么说明服务器支持断点续传,如果把整个文件拉下来了,说明不支持
刚写完就被同事说直接curl -I 就能马上看出来服务器是否支持断点续传,执行
$ curl -I 'url'
看返回的http头信息,如果有 Accept-Ranges: bytes 表示服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位)。并且,服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件。如果有 Accept-Ranges: none 响应头表示服务器不支持范围请求。
例如:
$ curl -I http://zhangmenshiting.baidu.com/data2/music/118358164/14385500158400128.mp3
返回
HTTP/1.1 200 OK
Accept-Ranges: bytes
Last-Modified: Tue, 22 Apr 2014 12:42:15 GMT
Expires: Sun, 25 May 2014 11:22:57 GMT
x-bs-version: D18E23AE8230A245A8EB6B77EFA5B92D
ETag: d5bd29010e1bf1c861d4b34f0f74a968
Content-Type: audio/mpeg
x-bs-request-id: MTAuNDYuMTU4LjIxOjgwODA6MTQ1MzE2ODg3ODoyNS9BcHIvMjAxNCAxOToyMjo1NyA=
Content-Disposition: attachment; filename="ʱ¼䶼ȥń¶魭p3"
x-bs-meta-crc32: 3366589278
Content-MD5: d5bd29010e1bf1c861d4b34f0f74a968
x-bs-client-ip: MTE1LjIzOS4yMTIuMTMz
x-bs-uncopyable: enable
Cache-Control: max-age=2592000
Content-Length: 3537110
Connection: close
Date: Fri, 25 Apr 2014 11:22:57 GMT
Server: BaiduBS
说明服务器支持范围请求和断点续传,换一个
$ curl -I http://www.taobao.com
返回
HTTP/1.1 200 OK
Server: Tengine
Date: Fri, 25 Apr 2014 11:26:06 GMT
Content-Type: text/html; charset=gbk
Connection: keep-alive
Vary: Accept-Encoding
Expires: Fri, 25 Apr 2014 12:26:06 GMT
Cache-Control: max-age=3600
就不支持
linux curl命令验证服务器断点续传支持的更多相关文章
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- Linux curl 命令详解
命令概要 该命令设计用于在没有用户交互的情况下工作. curl 是一个工具,用于传输来自服务器或者到服务器的数据.「向服务器传输数据或者获取来自服务器的数据」 可支持的协议有(DICT.FILE.FT ...
- Linux curl 命令模拟 POST/GET 请求
Linux curl 命令模拟 POST/GET 请求 本文链接:https://blog.csdn.net/sunboy_2050/article/details/82156402 curl 命 ...
- Linux curl命令使用代理、以及代理种类介绍(转)
Linux curl命令使用代理.以及代理种类介绍 本文转自http://aiezu.com/article/linux_curl_proxy_http_socks.html,感谢作者 有时出于个 ...
- linux curl命令:curl: (7) couldn't connect to host ?
linux curl命令:curl: (7) couldn't connect to host ? 使用linux命令 curl http://www.test.com 出现如下错误:curl: (7 ...
- linux curl 命令详解,以及实例
linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻 ...
- [转载] Linux curl命令详解
转载自http://www.linuxdiyf.com/linux/2800.html 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的htt ...
- Linux curl 命令下载文件
引用自http://blog.csdn.net/wh211212/article/details/54285921 命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工 ...
- Linux curl命令【curl】
命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具 ...
随机推荐
- java.util.Map按照key值合并的value的Collection 集合中。
用java实现把多个map的内容合并的一个resultMap中 代码大致如下 /** * @author Shalf */ public class MapUtil { /** * 把partMa ...
- 有关UIImageView+AFNetworking 下载图片的线程问题
今天写了一个demo,从服务器获取图片,然后显示在cell上,大家都知道cell的重用机制,当往下拉的时候,上面的cell遮住了,下面的cell就会重用被遮住的cell, 贴代码: NSString ...
- 向架构师进军--->怎样编写软件架构文档
假设你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",增加这个PM.架构师的大家庭 问:为什么要编写软件架构文档,它的优点是什么? 答: 有文档的架构有助于不同利益相关 ...
- Project interpreter not specified(eclipse+pydev)
[小记] 近期由于想配置Android的开发环境,把原来的MyEclipse5.5删了,下载了最新的Eclipse3.7版本号,由于之前在进行Python开发,就下载了最新的Pydev2.4版本号,安 ...
- Emmet最全提示说明
前一篇文章简单了说明了Emmet的使用:Emmet相关使用 今天我就将关于subline中Emmet插件的snippets.json文件进行具体说明, 在snippets.json文档中,我们能够看到 ...
- Cocos-2d 坐标系及其坐标转换
Cocos-2d中,涉及到4种坐标系: GL坐标系Cocos2D以OpenglES为图形库,所以它使用OpenglES坐标系.GL坐标系原点在屏幕左下角,x轴向右,y轴向上. 屏幕坐标系苹果的Quar ...
- leetcode每日解题思路 221 Maximal Square
问题描述: 题目链接:221 Maximal Square 问题找解决的是给出一个M*N的矩阵, 只有'1', '0',两种元素: 需要你从中找出 由'1'组成的最大正方形.恩, 就是这样. 我们看到 ...
- c语言,strcspn,在串中查找第一个给定字符集内容的段
函数名: strcspn 功 能: 在串中查找第一个给定字符集内容的段 用 法: int strcspn(char *str1, char *str2); 程序例: #include <stdi ...
- jQuery 序列化表单 serialize() serializeArray()
1.serialize()方法 格式:var data = $("form").serialize(); 功能:将表单内容序列化成一个字符串. 这样在ajax提交表单数据时,就不用 ...
- Android 頁面中有 EditText ,進入時取消自動彈出鍵盤
Android 畫面裡的 EditText 被 Focus 時 會自動彈出鍵盤 這是方便使用者習慣的設計 不過筆者在開發時發現 有時候方便過頭了 原因 一開始進入有 EditText 的頁面時 Edi ...