让我先说明这个问题,说明我只想暂时禁用标题,并且如果标题不存在,我会完全了解对浏览器,缓存机制等的影响。
当HTTP响应中不存在Content-Length
标头时,我需要测试一些缓存行为。有没有办法禁用标题?
我的第一次尝试是尝试使用PHP和0
将其设置为header("Content-Length: 0", true);
,但这与从响应中完全删除标头不同。
是否可以禁用/删除标题?
答案 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。