Quantcast
Channel: Nginx Forum
Viewing all articles
Browse latest Browse all 53287

Re: if-none-match with proxy_cache : properly set headers

$
0
0
Hello!

On Thu, May 30, 2013 at 06:41:50AM -0400, kapouer wrote:

> Hi,
> i struggled a little to get nginx to cache 304 responses from backend using
> proxy_cache.
> What happens when configuring proxy_cache is that 304 responses are not
> happening because
> nginx strips If-None-Match request headers. It is a workaround to prevent
> the client from getting
> an empty response event if he did not send If-None-Match in the header.
> A better workaround can be :
>
> proxy_cache_key $http_if_none_match$scheme$proxy_host$request_uri;
>
> So that the cache sends 304 if the header is properly set, and 200 if it
> isn't.
> Of course one has to kill the first workaround :
>
> proxy_set_header If-None-Match $http_if_none_match;
>
> and cache both responses :
>
> proxy_cache_valid 200 304 1h;
>
> Comments welcome.

Normally you shouldn't cache 304 responses from a backend, but
rather cache 200 responses from a backend and let nginx to return
304 by its own. This is how it works by default.

Do you have problems with the default aproach?

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Viewing all articles
Browse latest Browse all 53287

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>