Open moafak opened 6 years ago
That would certainly seem like an nginx bug.
https://tools.ietf.org/html/rfc7232#section-3.2 "A recipient MUST use the weak comparison function when comparing entity-tags for If-None-Match"
https://tools.ietf.org/html/rfc7232#section-2.3.2 "Weak comparison: two entity-tags are equivalent if their opaque-tags match character-by-character, regardless of either or both being tagged as "weak"."
Also, it looks like this may have been fixed in nginx 1.7.3: http://hg.nginx.org/nginx/rev/af229f8cf987 "Entity tags: weak comparison for If-None-Match." https://github.com/nginx/nginx/compare/release-1.7.2...release-1.7.3
Should restangular make the etag it receives a strong etag when it sends it as
if-None-Match
http header (i.e strip theW/
from received etag when it uses it asif-None-Match
)MDN says that
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match
for more context: https://stackoverflow.com/questions/47995118/nginx-doesnt-match-weak-etags
I'm trying to handle weak etags problem with nginx If I send a weak etag (with
W/"<etag>"
), nginx will not recognize the etag, and will send200 OK
http response But If I send it as strong etag (withoutW/"<etag>"
) then nginx will respond correctly with304 Not Modified
response