﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
79	if-modified-since etc. should be used to update cache	www.google.com/accounts/o8/id?id=AItOawkld7iER0GyI3zEot5C76X4iyiU_ZTWX-I	somebody	"Идея не моя и была ранее озвучена в рассылке:[http://mailman.nginx.org/pipermail/nginx-ru/2010-February/032445.html proxy_cache + conditional GET]
Если в кэше уже есть устаревший ответ, то посылать к backend-у запрос с If-Modified-Since или If-None-Match и для ответа с кодом 304 обновлять только время кэширования(из X-Accel-Expires или proxy_cache_valid 200). В случае получения 200 или любого другого кода - поведение не меняется.

Как вариант реализации - директива proxy_cache_conditional_update с параметрами off, etag(If-None-Match), modified(If-Modified-Since), а значения для них брать из полей ETag, Last-Modified или Date в заголовке закэшированного ответа.
Если забыть о ETag и делать на backend-е проверку в стиле if_modified_since before, то значение для If-Modified-Since можно задавать по времени записи в кэш или текущему и даже не читать заголовоки из файла(proxy_cache_conditional_update off | modified | cached | date)."	enhancement	closed	minor		nginx-module	1.1.x	fixed				not applicable
