linux curl命令验证服务器断点续传支持
有個同事說,發(fā)現(xiàn)現(xiàn)在對外下載安裝包的服務(wù)器不支持斷點續(xù)傳,我聽了一陣納悶,lighttpd server對于靜態(tài)文件應(yīng)該默認支持斷點續(xù)傳的,登機器查看lighttpd配置文件發(fā)現(xiàn)
對斷點續(xù)傳的支持被禁用了,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還有特殊的說明,斷點續(xù)傳pdf的時候會crash
Note: Adobe Acrobat Reader can crash when it tries to open a PDF file if range requests are enabled.?
用以下匹配規(guī)則設(shè)置對pdf文件斷點續(xù)傳的禁用
$HTTP["url"] =~ "\.pdf$" { server.range-requests = "disable" }?
然后,想怎么能馬上檢查一個服務(wù)器是否支持斷點續(xù)傳,用curl實現(xiàn)
$ curl -r 0-1 -o range_test.part1 'url'其中url為文件的下載地址
如果在目錄下生成了一個2字節(jié)大小的?range_test.part1 文件,那么說明服務(wù)器支持斷點續(xù)傳,如果把整個文件拉下來了,說明不支持
剛寫完就被同事說直接curl -I 就能馬上看出來服務(wù)器是否支持斷點續(xù)傳,執(zhí)行
$ curl -I 'url'看返回的http頭信息,如果有?Accept-Ranges: bytes?表示服務(wù)器支持Range請求,以及服務(wù)器所支持的單位是字節(jié)(這也是唯一可用的單位)。并且,服務(wù)器支持斷點續(xù)傳,以及支持同時下載文件的多個部分,也就是說下載工具可以利用范圍請求加速下載該文件。如果有?Accept-Ranges:?none?響應(yīng)頭表示服務(wù)器不支持范圍請求。
例如:
$ 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說明服務(wù)器支持范圍請求和斷點續(xù)傳,換一個
$ 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就不支持
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhaobolu/p/3689434.html
總結(jié)
以上是生活随笔為你收集整理的linux curl命令验证服务器断点续传支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转]GCC 命令行详解 -L 指定库的
- 下一篇: linux文件目录的操作