2

背景: 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 OKhttp 响应,而它应该发送 send 304 Not Modifiedhttp 响应。
邮差: 弱 etag,200 响应

如果我将 etag 作为if-None-Match标头(strip W/)中的强 etag 发送,nginx 将发送 304 响应。
邮差: 强大的etag,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

4

0 回答 0