当前位置: 首页 > 知识库问答 >
问题:

HTTP标头内容长度无效

干稳
2023-03-14

我希望在客户端下载文件时向他们显示文件的大小。< br >但是HTTP头内容长度不起作用。< br >我环境如下。

  • 阿帕奇 2.2
  • mod_deflate
  • 轨道3.2

下载文件位于rails项目公用文件夹中。

当我下载它时,响应标头是这个。

接受范围字节
访问控制允许头...源,x 请求,内容类型
访问控制允许甲基...放置、获取、发布、删除、选项
访问控制-允许-原始...http://*.com
连接保持活动
状态内容编码 gzip
内容类型应用程序/八位字节流
日期 星期五, 14 十二月 2012 05:15:09 GMT
Etag “c1bcc-1c828800-4d0a3ac0f7389”
保持活动超时=5, 最大值=100
上次修改的星期三, 12 十二月 2012 08:34:51 GMT
服务器 Apache
传输-编码分块
变化接受-编码

有没有办法显示内容长度?

共有1个答案

邬友樵
2023-03-14

虽然这是一个旧线程,但它是一个与gzip压缩相关的问题。对于阅读此问题的其他人,这是我基于此线程的解决方案:

如何对.htaccess文件中的某些媒体文件禁用Apache gzip压缩?

您可以将以下规则添加到 .htaccess 中

SetEnvIfNoCase Request_URI \.(?:gif|png|pdf|xxx)$ no-gzip dont-vary

如果要禁用某些文件类型的压缩,或

SetEnvIfNoCase Request_URI (url_to_not_compress) no-gzip dont-vary

如果您有强制下载文件的脚本。

 类似资料:
  • 我的HTTP头有问题。我需要发送一个带有空正文和标题“content-length:0”的post-request。但这似乎是不可能的,因为我有一个例外: --org.apache.http.ProtocolException:内容长度头已存在-- 编辑: 用@Beno Arakelyan的答案解决了这个问题。

  • 我正在使用Fiddler监视对ServiceStack API的调用,并且在内容长度字段中看到一个逗号。我只有在部署到特定的Windows服务器时才会看到这一点。这是什么意思? 整个回应: 我认为内容长度字段中不允许使用逗号。

  • 使用简单的按预期设置所有标头。 什么样的问题可能导致这种行为?

  • 问题内容: 为了避免未知,我一直试图避免使用大多数HTTP协议的属性。 但是,我对自己说,今天我将面对恐惧,开始有目的地使用标题。我一直在尝试将数据发送到浏览器并立即使用。例如,如果我有一个处于就绪状态4的Ajax处理程序函数,如下所示: 并且我在PHP代码中设置了content-type标头: 当清楚地告诉浏览器传入数据为时,为什么不能直接从处理程序函数访问该属性? 问题答案: 该头只是作为您的

  • 问题内容: 此处的答案(原始响应的大小(以字节为单位))表示: 只需考虑响应的内容: 但是,这样做不能获得准确的内容长度。例如,查看以下python代码: 如果我们尝试手动计算内容长度并将其与标头中的内容进行比较,则会得到更大的答案? 为什么不返回正确的内容长度?如果缺少标题,我们如何准确地手动计算呢? 问题答案: 的报头反映了响应的主体中。这与or属性的长度不同,因为响应可以被 压缩 。为您解压

  • 问题内容: 我使用node.js并在一个小项目中表达。我将响应头设置为打击: 我可以使用打印数据的长度为317。 但是在浏览器的控制台上,我得到了这些: 连接:keep-alive 内容编码:gzip 内容类型:文本/纯文本; charset = utf- 8日期 :2013年6月1日星期六,08 :21:59 GMT 传输编码:块状 变化:接受编码 X-Powered-作者:快递 那么,为什么