Cache Revalidate
S.A.N
nginx-forum at nginx.us
Wed Nov 27 19:30:01 UTC 2013
> Они
> вообще ничего не требуют кешировать. Кеш - дело сугубо
> добровольное. ;)
max-age=0 не требует кешировать ответ, смысл в том что он не запрещает
кешировать ответ, в Nginx max-age=0 запрещает кеширования, в этом и есть не
соответвия Nginx с спецификацией HTTP.
В Nginx есть деректива fastcgi_cache on, и бекенд отдал хедер Cache-Control:
max-age=0, который по спецификации HTTP не запрещает кешировать ответ, в
этом случаи Nginx должен кешировать ответ бекенда, это логично и
соответствует спецификации HTTP.
Но сейчас чтобы этого добиться нужно эксплуатировать баг с X-Accel-Expires:
@$time-1.
Я понимаю что так сложилось исторически, раньше в Nginx не было ревалидации
кеша, по этому max-age=0 мог означать только запрет на кеширования, но при
наличии ревалидации, это уже не совсем правильно.
Я не настаиваю чтобы вы это меняли хотя возможно как вариант сделать чтобы
Nginx понимал хедер Cache-Control: must-revalidate, как указания кешировать
но всегда ревалидировать.
Это уже на ваше усмотрения.
Главное чтобы была возможность добиться от Nginx постоянной ревалидации.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,244991,245018#msg-245018
Подробная информация о списке рассылки nginx-ru