如何用ASP.NET高效实现大视频文件的长尾词上传功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1015个文字,预计阅读时间需要5分钟。
IE的下载功能中缺少断点续传功能,需要实现断点续传功能,需要使用到HTTP协议中鲜为人知的几个响应头和请求头。一、两个必须响应头:Accept-Ranges、ETag。二、客户端每次提交下载请求时,需包含这些响应头和请求头。
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。
一.两个必要响应头Accept-Ranges、ETag
客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传的下载:
Accept-Ranges:告知下载客户端这是一个可以恢复续传的下载,存放本次下载的开始字节位置、文件的字节大小;
ETag:保存文件的唯一标识(我在用的文件名+文件最后修改时间,以便续传请求时对文件进行验证);
Last-Modified:可选响应头,存放服务端文件的最后修改时间,用于验证
二.一个重要请求头Range
Range:首次下载时,Range头为null,此时服务端的响应头中必须添加响应头Accept-Ranges、ETag;
续传请求时,其值表示客户端已经收到的字节数,即本次下载的开始字节位置,服务端依据这个值从相应位置读取数据发送到客户端。
本文共计1015个文字,预计阅读时间需要5分钟。
IE的下载功能中缺少断点续传功能,需要实现断点续传功能,需要使用到HTTP协议中鲜为人知的几个响应头和请求头。一、两个必须响应头:Accept-Ranges、ETag。二、客户端每次提交下载请求时,需包含这些响应头和请求头。
IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。
一.两个必要响应头Accept-Ranges、ETag
客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传的下载:
Accept-Ranges:告知下载客户端这是一个可以恢复续传的下载,存放本次下载的开始字节位置、文件的字节大小;
ETag:保存文件的唯一标识(我在用的文件名+文件最后修改时间,以便续传请求时对文件进行验证);
Last-Modified:可选响应头,存放服务端文件的最后修改时间,用于验证
二.一个重要请求头Range
Range:首次下载时,Range头为null,此时服务端的响应头中必须添加响应头Accept-Ranges、ETag;
续传请求时,其值表示客户端已经收到的字节数,即本次下载的开始字节位置,服务端依据这个值从相应位置读取数据发送到客户端。

