*_cache_revalidate directives

Roman Arutyunyan arut at nginx.com
Thu Jul 9 07:30:48 UTC 2015


> On 09 Jul 2015, at 04:43, Alt <nginx-forum at nginx.us> wrote:
> Hello,
> From the documentation, I don't understand how the fastcgi_cache_revalidate
> (or scgi_cache_revalidate or proxy_cache_revalidate or
> uwsgi_cache_revalidate) works.
> Please, can someone explain what nginx does when cache is enabled and the
> revalidate directive is set to "on"?

Normally, when a cache entry is expired in nginx cache, nginx fetches a replacement from upstream.
If cache revalidation is enabled, nginx asks the upstream if the current (expired) entry is still
valid using “If-Modified-Since” and “If-None-Match” HTTP headers.  The upstream can reply with 
"304 Not Modified" to confirm the validity.  In this case the entry remains in cache until it
expires again.

Roman Arutyunyan

More information about the nginx mailing list