php-如何禁用Apache的Content-Length响应标头?
作者:互联网
让我在开始这个问题时先声明一下,我只想暂时禁用标头,并且如果标头不存在,则完全了解对浏览器,缓存机制等的影响.
当HTTP响应中没有Content-Length标头时,我需要测试一些缓存行为.有没有一种方法可以禁用标题?
我的第一次尝试是简单地尝试使用PHP和header(“ Content-Length:0”,true);将其设置为0.但这与从响应中完全删除标头不同.
是否可以禁用/删除标题?
解决方法:
添加Content-Length是RFC 2616(HTTP 1.1)中标记为应该的内容.这意味着Web服务器通常设计为不遗漏它.
例如,对于Apache HTTP Server,您必须修改modules / http / http_filters.c.从源文件中搜索Content-Length实际上显示了如何强行取消设置(请仔细看一下1255行).只需将unset添加到过滤器链的末尾即可完成设置.
您的另一种选择是使用Apache以外的其他Web服务器,该Web服务器要么更易于修改,要么也不遵循RFC 2616.
标签:apache,http-headers,php 来源: https://codeday.me/bug/20191208/2093912.html