PHP 未发送 ETag 标头
我正在运行 PHP 5.3.2 和 Apache 2.2.14。使用 header()
,如果我发送“ETagx”,我会在响应中得到标头,但如果我发送“ETag”(正确的标头名称),我什么也得不到。
header('ETagx: "33653a-4831d8249af80"')
有效,而
header('ETag: "33653a-4831d8249af80"')
无效。 php.ini 或任何 Apache 配置文件中是否有可能影响此问题的配置选项?
I'm running PHP 5.3.2 and Apache 2.2.14. Using header()
, If I send "ETagx" I get the header in the response, but if I send "ETag", the correct header name, I get nothing.
header('ETagx: "33653a-4831d8249af80"')
works, while
header('ETag: "33653a-4831d8249af80"')
does not. Is there a configuration option in php.ini, or in any of the Apache configuration files that might affect this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
刚刚在 PHP 5.3 和 Apache 2.4 上进行了测试,它对我有用。
确保 Apache 不会像这样取消设置您的 Etag:
Just tested on PHP 5.3 and Apache 2.4 and it worked for me.
Make sure that Apache don't unset your Etag like this:
当我启用 Charles HTTP 代理 并启用“无缓存”选项时,我复制了这种情况 - HTTP 代理是删除 ETag 和其他与缓存相关的标头。如果使用代理查看标头,请确保为特定请求启用缓存。
I replicated this situation when I had Charles HTTP Proxy active with the 'No Caching' option enabled - the HTTP proxy was removing the ETag and other cache-related headers. If using a proxy to view the headers, ensure that caching is enabled for the specific request.