请教一下文件下载时,HTTP响应消息头的问题。
程序员文章站
2022-05-19 14:52:26
...
我在学习利用PHP实现文件下载的时候,教材说需要提供三个http消息头:
其中,“Content-type”和“Content-Disposition”两个消息头,我还是有点不太理解,所以我分别做了两个例子:
a.php:
header("Content-type: application/octet-stream"); //高速浏览器传递的是文件流 header("Accept-Length: 2048"); //文件大小 header("Content-Disposition: attachment; filename=abc.txt"); //指定文件名
其中,“Content-type”和“Content-Disposition”两个消息头,我还是有点不太理解,所以我分别做了两个例子:
a.php:
b.php:
我的问题是:
1、这两个页面都少一个消息头,为什么还都能成功的下载文件?
2、我虽然指定的文件大小是2048个字节,但是真实输出的只有“123”三个字节,为什么也能正常的下载文件?
“Accept-Length”消息头是可设可不设吗?
我刚刚学习http,麻烦大家就我问的问题回答,不要引出更深的概念,因为我看不懂。。
十分感谢!:)
回复讨论(解决方案)
不是Accept-Length,是Content-Length
也不知道谁误导大家用Accept-Length的,RFC标准里没有这个Header的。
不是Accept-Length,是Content-Length
也不知道谁误导大家用Accept-Length的,RFC标准里没有这个Header的。
嗯,谢谢你的提示!
我的问题能帮我解答一下吗?1、这两个页面都少一个消息头,为什么还都能成功的下载文件?
因为你没有设定Content-Length,默认连接结束时的输出就是下载内容。
2、我虽然指定的文件大小是2048个字节,但是真实输出的只有“123”三个字节,为什么也能正常的下载文件?“Accept-Length”消息头是可设可不设吗?
Accept-Length的意思是最大可接受字符串的长度。所以可设可不设。
1、这两个页面都少一个消息头,为什么还都能成功的下载文件?
因为你没有设定Content-Length,默认连接结束时的输出就是下载内容。
2、我虽然指定的文件大小是2048个字节,但是真实输出的只有“123”三个字节,为什么也能正常的下载文件?“Accept-Length”消息头是可设可不设吗?
Accept-Length的意思是最大可接受字符串的长度。所以可设可不设。
嗯知道了,谢了哥们!不错,学习了。
下一篇: PHP变量范围详解
推荐阅读
-
请问一上文件上载时,HTTP响应消息头的有关问题
-
[转] 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
-
[转] 正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)
-
请教一下文件下载时,HTTP响应消息头的问题。
-
请问一下文件下载时,HTTP响应消息头的有关问题
-
正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposit
-
请教一下文件下载时,HTTP响应消息头的问题。
-
正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposit
-
请问一下文件下载时,HTTP响应消息头的有关问题