]> git.kaiwu.me - nginx.git/commit
Cache: send conditional requests only for cached 200/206 responses.
authorPiotr Sikora <piotr@cloudflare.com>
Thu, 27 Nov 2014 02:35:37 +0000 (18:35 -0800)
committerPiotr Sikora <piotr@cloudflare.com>
Thu, 27 Nov 2014 02:35:37 +0000 (18:35 -0800)
commit1ea64b3f8ffac75f27051a3ce1cdf584393ed2f1
tree606ba25d6362ec3adc5f45c62f0f0a4a2faf0fd2
parentcf5013dd3fb2531ca465cae7481ddc4cc16e56c5
Cache: send conditional requests only for cached 200/206 responses.

RFC7232 says:

   The 304 (Not Modified) status code indicates that a conditional GET
   or HEAD request has been received and would have resulted in a 200
   (OK) response if it were not for the fact that the condition
   evaluated to false.

which means that there is no reason to send requests with "If-None-Match"
and/or "If-Modified-Since" headers for responses cached with other status
codes.

Also, sending conditional requests for responses cached with other status
codes could result in a strange behavior, e.g. upstream server returning
304 Not Modified for cached 404 Not Found responses, etc.

Signed-off-by: Piotr Sikora <piotr@cloudflare.com>
src/http/ngx_http_file_cache.c
src/http/ngx_http_upstream.c