如何使用Apache禁用Content-Length响应头?

时间:2011-01-31 02:54:39

标签: php apache http-headers

让我先说明这个问题,说明我只想暂时禁用标题,并且如果标题不存在,我会完全了解对浏览器,缓存机制等的影响。

当HTTP响应中不存在Content-Length标头时,我需要测试一些缓存行为。有没有办法禁用标题?

我的第一次尝试是尝试使用PHP和0将其设置为header("Content-Length: 0", true);,但这与从响应中完全删除标头不同。

是否可以禁用/删除标题?

1 个答案:

答案 0 :(得分:3)

添加Content-Length是RFC 2616(HTTP 1.1)中标记为应该的东西。这意味着Web服务器通常被设计为不会遗漏它。

例如,对于Apache HTTP Server,您必须修改modules / http / http_filters.c。从源文件中搜索Content-Length实际上向您展示了如何强行取消它(仔细查看第1255行)。只需将未设置添加到过滤器链的末尾即可设置。

您的另一种选择是使用除Apache之外的其他Web服务器,它更容易修改或不遵守RFC 2616。