您好,欢迎访问一九零五行业门户网

请问一下文件下载时,HTTP响应消息头的有关问题

请教一下文件下载时,http响应消息头的问题。
本帖最后由 love_u_qt 于 2012-08-05 15:08:30 编辑 我在学习利用php实现文件下载的时候,教材说需要提供三个http消息头:
header(content-type: application/octet-stream); //高速浏览器传递的是文件流
header(accept-length: 2048); //文件大小
header(content-disposition: attachment; filename=abc.txt); //指定文件名

其中,“content-type”和“content-disposition”两个消息头,我还是有点不太理解,所以我分别做了两个例子:
a.php:
header(content-type: application/octet-stream);
header(accept-length: 2048);
echo 123;

b.php:
header(accept-length: 2048);
header(content-disposition: attachment; filename=abc.txt);
echo 123;

我的问题是:
1、这两个页面都少一个消息头,为什么还都能成功的下载文件?
2、我虽然指定的文件大小是2048个字节,但是真实输出的只有“123”三个字节,为什么也能正常的下载文件?
“accept-length”消息头是可设可不设吗?
我刚刚学习http,麻烦大家就我问的问题回答,不要引出更深的概念,因为我看不懂。。
十分感谢!:)
------解决思路----------------------
1、这两个页面都少一个消息头,为什么还都能成功的下载文件?
因为你没有设定content-length,默认连接结束时的输出就是下载内容。
2、我虽然指定的文件大小是2048个字节,但是真实输出的只有“123”三个字节,为什么也能正常的下载文件?“accept-length”消息头是可设可不设吗?
accept-length的意思是最大可接受字符串的长度。所以可设可不设。
其它类似信息

推荐信息