服务器怎样能使下载软件判断支持itunes 断点续传传

如何让服务器支持断点续传?
注意是让服务器支持断点续传,而不是工具的问题.
即使你使用了支持断点续传的下载工具依然不能断点下载.
我们要解决的问题是:如何让服务器支持断点续传?
突然想到的问题,不知是否有大牛可以想出来。
已有帐号?
无法登录?
社交帐号登录二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
断点续传这个功能是需要客户端和服务器端同时支持才能完成。在开始的印象中好像只要客户端 传相关参数即可呢》》》贴过来留着备份先说说断点续传的原理:这是HTTP 1.1协议的一部分,并不需要客户端特意去做多么复杂的事情。以前我曾经看过一个单位的技术标书,其中有下载的断点续传这一要求,给出的offer居然还挺高的...简单的说,只要利用了HTTP协议 (&)中的如下字段来和服务器端交互,就可以实现文件下载的断点续传:Range : 用于客户端到服务器端的请求,可通过该字段指定下载文件的某一段大小,及其单位。典型的格式如:Range: bytes=0-499 下载第0-499字节范围的内容Range: bytes=500-999& 下载第500-999字节范围的内容Range: bytes=-500& 下载最后500字节的内容Range: bytes=500-& 下载从第500字节开始到文件结束部分的内容(这是最常用的一种格式)Range: bytes=0-0,-1& 下载第一以及最后一个字节的内容(这个看上去有点变态...)Accept-Ranges : 用于服务器端到客户端的应答,客户端通过该字段可以判断服务器是否支持断点续传(注意RFC中注明了这一部分并不是必须的)。格式如下:Accept-Ranges: bytes& 表示支持以bytes为单位进行传输。Accept-Ranges: none& 表示不支持Content-Ranges : 用于服务器端到客户端的应答,与Accept-Ranges在同一个报文内,通过该字段指定了返回的文件资源的字节范围。格式如下:Content-Ranges: bytes 0-499/1234& 大小为1234的文件的第0-499字节范围的内容Content-Ranges: bytes 734-& 大小为1234字节的文件的第734-结尾范围的内容据此我们可以知道,断点续传这个功能是需要客户端和服务器端同时支持才能完成。平台面向开发者提供了DownloadManager这个服务(service),可以用来完成下载,同时异步地得到下载进度的实时更新提示。原生的浏览器,Android Market以及GMail等客户端都使用了该接口。该接口也部分的提供了断点续传功能:如果在下载过程中遇到网络错误,如信号中断等,DownloadManager会在网络恢复时尝试断点续传继续下载该文件。但不支持由用户发起的暂停然后断点续传。要扩展该功能也不难,只要为下载任务新增一种状态(类似paused_by_user),以及相关逻辑即可,这里暂不赘述,把话题引到一些常见问题上。1. 关于ETagRFC中的定义有些抽象,简单的说,ETag可以用来标识/保证文件的唯一性或完整性,你可以把它看作是服务器为某个文件生产的唯一标识值,每次文件有更新该值就会变化。通过这种机制客户端可以检查某个文件在断点续传(当然它不仅仅用于断点续传)的前后是否有所改动:如果ETag改变了就应该重新下载整个文件以保证它的完整性。但是在现实环境中,有一些服务器并不返回ETag字段,同时它又是支持断点续传的,这种情况下原生的Android就会认为服务器端不支持断点续传。这应该不是什么bug,仅仅是这么实现而已。还有更麻烦的情况是,有些服务器给了错误的ETag,但文件是从未更改的,这时候要想从客户端修改这个 “bug”,估计只能忽略ETag值了。2. 关于HTTP 206RFC中定义了断点续传时服务器端的应答情况:如果支持且返回的内容如请求所要求的那样,是该文件的一部分,则使用HTTP 206状态码;如果不支持,或需要返回整个文件,则使用HTTP 200状态码。但是现实网络中有些服务器不管三七二十一,都返回200。没办法,如果还是想从客户端来修改这个“bug”,那就多做一些判断处理吧:如果服务器指定了“Content-Ranges”,就忽略HTTP 200的状态码。附图一张,简述流程。补记:有一次被问起如何在原生的Android手机上暂停一个下载任务,回头再断点续传。我想是不是可以在下载过程中将手机信号关闭,下次再打开手机信号时,那个下载任务就可以自动接着续传了(当然前提是服务器支持)...这个用例没多大实用价值,懒得实测了。
阅读(1579)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'断点续传这个功能是需要客户端和服务器端同时支持才能完成',
blogAbstract:'断点续传这个功能是需要客户端和服务器端同时支持才能完成。在开始的印象中好像只要客户端 传相关参数即可呢》》》贴过来留着备份',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:8,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'hello
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}服务器怎样能使下载软件判断支持断点续传_百度知道
服务器怎样能使下载软件判断支持断点续传
用迅雷测试下载的时候提示服务器不支持断点续传?需要做些什么设置,那怎样使下载软件能知道服务器支持断点续传呢我在自己机器上WINDOWS SERVER 2003上调试个HTTP下载站
我有更好的答案
你可以下载一个服务器软件,不一定要用Windows中的,用其他的,相信很好用的
迅雷的离线下载貌似支持断点的。
晕 呵呵 下载个支持断点上传的软件不就可以了 哪有那么麻烦哦
现在大部分的FTP服务器软件都支持断点续传的
下载个支持断点上传的软件不就可以了
断点续传的原理是 客户端的请求中包含了已经下载完的字节数,你服务器上的程序需要读到下载完的字节数并忽略掉前面的部分只返回文件剩余的部分,不知道你的程序什么写的
其他类似问题
为您推荐:
断点续传的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁 上传我的文档
 下载
 收藏
计算机培训行业,主要是软件培训和嵌入式设计培训
 下载此文档
正在努力加载中...
断点续传下载软件论文
下载积分:1000
内容提示:断点续传下载软件论文
文档格式:DOCX|
浏览次数:1|
上传日期: 21:06:32|
文档星级:
该用户还上传了这些文档
断点续传下载软件论文
官方公共微信服务器是否支持断点续传 - 为程序员服务
服务器是否支持断点续传
通常情况下,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 /home/images/billboard_iphone_hero.jpg这样可以到最开始99字节,结果如下图:说明从服务器端按字节范围下载是完全没有问题的。现在我们尝试以下方式:1、一次性下载整个图片。localhost [~]# curl –range 0-98315 /home/images/billboard_iphone_hero.jpg & test.jpg
% Received % Xferd
Average Speed
Speed 100 9316
0 –:–:– –:–:– –:—:—
527k完成后,test.jpg完全等于billboard_iphone_hero.jpg,文件大小为98,316 字节。注意:字节是从0开始,结束字节为总字节长度 减 1。(...)Read the rest of
(131 words)(C) lixiphp for , 2013. |
Post tags: , , , ,
Feed enhanced by
专注于建设高品质网站!
原文地址:, 感谢原作者分享。
您可能感兴趣的代码}

我要回帖

更多关于 itunes 断点续传 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信