欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-29 20:02:35
...
请教一下文件下载时,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的意思是最大可接受字符串的长度。所以可设可不设。
请问一下文件下载时,HTTP响应消息头的有关问题

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 请问一下文件下载时,HTTP响应消息头的有关问题
  • 专题推荐