【问题标题】:HTTP Header Content-Length not workHTTP 标头内容长度不起作用
【发布时间】:2012-12-02 03:21:12
【问题描述】:

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

  • Apache 2.2
  • mod_deflate
  • Rails3.2

一个下载文件位于 rails 项目的公共文件夹中。

下载时响应头是这个。

接受范围字节
Access-Control-Allow-Head...来源、x-requested-with、content-type
访问控制允许方法... PUT、GET、POST、DELETE、OPTIONS
Access-Control-Allow-Orig... http://*.com
连接保持活动
内容编码 gzip
内容类型应用程序/八位字节流
日期 2012 年 12 月 14 日星期五 05:15:09 GMT
Etag“c1bcc-1c828800-4d0a3ac0f7389”
保活超时=5,最大值=100
最后修改时间 2012 年 12 月 12 日星期三 08:34:51 GMT
服务器 Apache
传输编码分块
改变接受编码

有什么方法可以显示 Content-Length 吗?

【问题讨论】:

  • 如果我禁用 mod_deflate,会显示 Content-Length。为什么?
  • Content-Length 为小文件时显示。我认为缓冲区不够。
  • 问题解决了。我将apache的设置从使用未压缩文件更改为使用预压缩文件。
  • 你是怎么做到的?我也面临同样的问题。

标签: apache ruby-on-rails-3.2 mod-deflate


【解决方案1】:

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

How to disable Apache gzip compression for some media files in .htaccess file?

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

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

如果您想禁用某些文件类型的压缩或

SetEnvIfNoCase Request_URI (url_to_not_compress) no-gzip dont-vary

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

【讨论】:

    猜你喜欢
    • 2013-01-23
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-27
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多