July 17, 2014 08:17AM
> Есть один способ:
> http://www.lexa.ru/nginx-ru/msg30320.html
>
> И второй способ: просто не включать кеширование
> на стороне nginx в тех location`ах, где оно не нужно.

Есть и третий способ

if ($upstream_status = 304) {
set no_cache = 1;
}

fastcgi_no_cache $no_cache;

Ещё как вариант, Nginx вообще не нужно удалять валидаторы из запроса, они всегда должны уходить на бекенд, при получении статуса 304, когда нет файла кеша Nginx, но в заголовке ответа указано что можно кешировать в публичном кеше (не private), только в этом случаи Nginx должен сделать повторный запрос к бекенду без валидаторов для получения нового контента со статусом 200.

Но можно и не делать повторный запрос, со временем придет юзер без валидаторов и бекенд отдаст статус 200, в общем Nginx просто надо научить понимать что заголовки Cache-Control в 304 статусе, не означают что нужно кешировать ответ 304, они означают что нужно использовать прежний закешированый ответ 200, по сути fastcgi_no_cache который я написал выше эту проблему так и решает.

Я понимаю такая схема сложней для Nginx и ему проще просто всегда удалять валидаторы если нет файла кеша, но я же смотрю с точки зрения бекенда, ему лучше если валидаторы всегда приходят.
Subject Author Posted

Cache revalidation using If-None-Match

S.A.N June 26, 2014 10:36AM

Re: Cache revalidation using If-None-Match

Anatoly Mikhailov June 26, 2014 04:28PM

Re: Cache revalidation using If-None-Match

S.A.N July 14, 2014 11:37PM

Re: Cache revalidation using If-None-Match

Maxim Dounin July 15, 2014 06:54PM

Re: Cache revalidation using If-None-Match

S.A.N July 15, 2014 08:09PM

Re: Cache revalidation using If-None-Match

S.A.N July 15, 2014 08:44PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 05:50AM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 09:46AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 02:46PM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 06:23PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 18, 2014 07:16AM

Re: Cache revalidation using If-None-Match

S.A.N July 18, 2014 01:01PM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 07:36AM

Re: Cache revalidation using If-None-Match

S.A.N April 01, 2015 12:04PM

Re: Cache revalidation using If-None-Match

Валентин Бартенев April 02, 2015 03:14AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 05:10AM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 08:17AM

Re: Cache revalidation using If-None-Match

Gena Makhomed July 17, 2014 02:08PM

Re: Cache revalidation using If-None-Match

S.A.N July 17, 2014 04:48PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 128
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready