背景: nginx在客户端发送
时生成weak etags https://twitter.com/samsaffron/status/486387129165942784Accept-Encoding: gzip
我正在使用 restangular 调用端点
Restangular 接收到一个弱 etag 并将其发送到if-None-Match
标头而不对 etag 进行任何修改
https://github.com/mgonto/restangular/blob/d55c4392b184e659c11f50e225d64c3a04da6572/src/restangular.js#L588
但是 nginx 不会将 etag 与其接收的内容匹配if-None-Match
,它会发送一个200 OK
http 响应,而它应该发送 send 304 Not Modified
http 响应。
邮差:
如果我将 etag 作为if-None-Match
标头(strip W/
)中的强 etag 发送,nginx 将发送 304 响应。
邮差:
如何解决这个问题?当将它发送
为时,restangular 是否应该从 etag 中剥离?
MDN说不需要发送W/W/
if-None-Match
if-None-Match
may be prefixed by `W/` to indicate that the weak comparison algorithm should be used (This is useless with If-None-Match as it only uses that algorithm).
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match
或者即使是弱etag,nginx也应该能够匹配它吗?
nginx 版本 1.13.3