请问一上文件上载时,HTTP响应消息头的有关问题
请教一下文件下载时,HTTP响应消息头的问题。
我在学习利用PHP实现文件下载的时候,教材说需要提供三个http消息头:
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> header("Content-type: application/octet-stream"); //高速浏览器传递的是文件流 header("Accept-Length: 2048"); //文件大小 header("Content-Disposition: attachment; filename=abc.txt"); //指定文件名
其中,“Content-type”和“Content-Disposition”两个消息头,我还是有点不太理解,所以我分别做了两个例子:
a.php:
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php header("Content-type: application/octet-stream"); header("Accept-Length: 2048"); echo 123;
b.php:
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?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的意思是最大可接受字符串的长度。所以可设可不设。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

【SpringBoot】通过Feign调用传递Header中参数如何通过Feign传递Header参数问题描述我们在SpringCloud中使用Feign请求另一个服务的Api接口时,有将Header中参数传递下去的需求,如果不做特殊处理,就会将Header中的参数丢失。解决方案方案一:通过@RequestHeader(name="headerName")来传递例如:Feign定义如下@FeignClient(name="service-name")pub

linux的header是指在文件或数据流中的开头部分,用于包含关于内容的元数据,通过正确地编写和使用Header文件,开发者能够更好地利用系统资源,提高代码的可读性和可维护性。

php header实现跳转的方法:1、使用“Header("Location:$url");”语法实现跳转;2、使用if判断式实现跳转,其跳转语句如“if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');”。

PHP是一种功能强大的编程语言,可以用来创建动态网站和Web应用程序。其中一个最强大的功能之一是PHP的header()方法。在本文中,我们将探讨如何使用PHP的header()方法来调整网页。

使用Java的String.length()函数获取字符串的长度在Java编程中,字符串是一种非常常见的数据类型,我们经常需要获取字符串的长度,即字符串中字符的个数。在Java中,我们可以使用String类的length()函数来获取字符串的长度。下面是一个简单的示例代码:publicclassStringLengthExample{publ

区别:1、head标签用于定义文档头部,它是所有头部元素的容器,而header标签用于定义文档的页眉(介绍信息);2、浏览器都支持head标签,而旧版本浏览器均不支持header标签,需要IE9+以上浏览器才支持header标签。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

PHP文件下载函数大全:readfile、header、Content-Disposition等函数的文件下载实例分析文件下载是Web应用程序中必不可少的功能之一,而PHP作为一种广泛使用的Web开发语言,提供了多种实现文件下载的函数和方法。本文将介绍PHP中常用的文件下载函数,包括readfile、header、Content-Dispo
