为什么 Apache2 不尊重 Last-Modified 标头?

为什么 Apache2 不尊重 Last-Modified 标头?

我有:

ProxyPass           /public !

以便将此路径下的内容直接从文件系统作为静态文件提供。

但似乎没有使用 If-Modified-Since 和 If-None-Match。

请求标头始终是:

If-Modified-Since: Mon, 02 May 2022 15:18:45 GMT
If-None-Match: "1762a-5de08e8890e5e-gzip"

响应始终为 200,带有有效负载,以及以下标头:

Last-Modified: Mon, 02 May 2022 15:18:45 GMT
ETag: "1762a-5de08e8890e5e-gzip"

在这种情况下,我会期望得到“304 Not Modified”的响应吗?

这不可能还是 14 年前的问题吧? https://bz.apache.org/bugzilla/show_bug.cgi?id=45023

答案1

事实证明这是上面链接的问题。由于 Apache 2.4 mod_deflate 不支持配置 Etag 行为,我能找到的最佳解决方案是从 Etag 中删除 -gzip:

RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"'

相关内容