首页IT科技断点设置是什么(在ASP.NET中支持断点续传下载大文件 star163 博客园)

断点设置是什么(在ASP.NET中支持断点续传下载大文件 star163 博客园)

时间2025-08-05 10:22:12分类IT科技浏览7445
导读:IE的自带下载功能中没有断点续传功能         ...

IE的自带下载功能中没有断点续传功能              ,要实现断点续传功能                       ,需要用到HTTP协议中鲜为人知的几个响应头和请求头              。

一. 两个必要响应头Accept-Ranges               、ETag

客户端每次提交下载请求时        ,服务端都要添加这两个响应头              ,以保证客户端和服务端将此下载识别为可以断点续传的下载:

Accept-Ranges:告知下载客户端这是一个可以恢复续传的下载                      ,存放本次下载的开始字节位置                      、文件的字节大小;

ETag:保存文件的唯一标识(我在用的文件名+文件最后修改时间        ,以便续传请求时对文件进行验证);

Last-Modified:可选响应头       ,存放服务端文件的最后修改时间                      ,用于验证

二. 一个重要请求头Range

Range:首次下载时               ,Range头为null       ,此时服务端的响应头中必须添加响应头Accept-Ranges        、ETag;

续传请求时                      ,其值表示客户端已经收到的字节数               ,即本次下载的开始字节位置,服务端依据这个 值从相应位置读取数据发送到客户端                       。

三. 用于验证的请求头If-Range       、

当响应头中包含有Accept-Ranges                      、ETag时                      ,续传请求时                       ,将包含这些请求头:

If-Range:对应响应头ETag的值;

Unless-Modified-Since:对应响应头Last-Modified的值        。

续传请求时,为了保证客户端与服务端的文件的一致性和正确性              ,有必要对文件进行验证                       ,验证需要自己写验证代码        ,就根据解析这两个请求头的值              ,将客户端已下载的部分与服务端的文件进行对比                      ,如果不吻合        ,则从头开始下载       ,如果吻合                      ,则断点续传              。

四. 速度限制

程序中加入了速度限制               ,用于对客户端进行权限控制的流量限制                      。

五. 其它注意事项

如:文件名乱码的问题               、文件名中空格变加号       、强制客户端显示下载对话框等       ,详见源码注释:
声明:本站所有文章                      ,如无特殊说明或标注               ,均为本站原创发布        。任何个人或组织,在未征得本站同意时                      ,禁止复制                      、盗用               、采集、发布本站内容到任何网站                      、书籍等各类媒体平台       。如若本站内容侵犯了原著者的合法权益                       ,可联系我们进行处理                      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
seo网站优化怎么做(网站优化seo教程)