PHP 未发送 ETag 标头

发布于 2024-11-25 10:58:12 字数 306 浏览 1 评论 0原文

我正在运行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

莳間冲淡了誓言ζ 2024-12-02 10:58:12

刚刚在 PHP 5.3 和 Apache 2.4 上进行了测试,它对我有用。

确保 Apache 不会像这样取消设置您的 Etag:

<IfModule mod_headers.c>
  Header unset ETag
</IfModule>

FileETag None

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:

<IfModule mod_headers.c>
  Header unset ETag
</IfModule>

FileETag None
心的憧憬 2024-12-02 10:58:12

当我启用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文