cgi 大文件下载
客户端是纯HTML代码,点击链接后从服务器端下载文件。我现在服务器端是这么处理的:
HTTP 1/1 200 OK
Content-Length=500
Content-Type=application/octet-stream
Content-disposition:attachment;filename="1.zip"
以上HTTP头之后接上我读出的文件流后客户端浏览器便能出现下载框了。
现在的问题是,上面的代码好像只能处理小文件,当有大文件下载时必须要分多次断点下载。此时服务器端应该要返回怎样的信息给客户端浏览器呢?客户端只有纯HTML页面,头痛死了。。
答
要实现断点续传, 向服务器发出的 http 请求需要包含 range 头, 指定要下载的片断的起始和终止位置. 如:
Range:bytes=1000-2000
服务器根据 range 指示返回指定部分的片断.