ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug ? 304 status - Cache-Control


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Bug ? 304 status - Cache-Control
  • From: "S.A.N" <nginx-forum@xxxxxxxx>
  • Date: Tue, 07 Jan 2014 17:20:24 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=w3ElmcKbZqxj2FOHAzC4jRhVLqVX7b674m7rrPB40kw=; b=aMrnDaaXkzHwAIMFf3fnwuDJvRvElnelyi34JL6PaiEGFLyK6ad8RWI4T2CYPDcp/6K98DgSVeoLCFD1N1PQYL5dVaoli1zuelMeo4LxAUvGBPiE0cNEhmJ85Zer0khMnb9vDDu7dlFc8VJp7hrLw6m3WZ9ORaweFuJ95bQ4Yi8=;
  • In-reply-to: <52CC5B3E.5050504@csdoc.com>
  • References: <52CC5B3E.5050504@csdoc.com>

> Кстати, похоже, что есть вариант еще проще, используя директиву
> fastcgi_cache_bypass для запросов с If-Modified-Since и If-None-Match
> и выставляя в ответе заголовок X-Accel-Expires: 0
> если статус ответа backend`а будет 304.

Да, у меня крутился в голове вариант, использовать куки для
fastcgi_no_cache.
Схема следующая, скрипт который отдает приватный кеш, будет отдавать куку с
path=$self_path, данная кука будет приходит только на данный uri, таким
образом её можно использовать для условия в fastcgi_no_cache для выключения
Nginx кеширования, осталось только проверить, удаляет Nginx клиентские
заголовки если выполняется условия fastcgi_no_cache, если не удаляет, тогда
этот вариант выглядит лучше чем прописывать location в конфиге Nginx.

Насчет запрета кеширования 304 статуса, я начал склонятся к мысли что бекенд
не должен клиенту повторно отдавать заголовки Cache-Control.
Если бекенд не будет отдавать эти заголовки, Nginx не будет сохранять данный
ответ в своем кеше, потому что в конфиге прописано fastcgi_cache_valid 200
301 302 0s;
В последних наших тестах выяснилось что все современные браузеры, нормально
реагируют на отсутствия заголовков Cache-Control в ответе с 304 статусом,
хотя спецификации HTTP требует наличия этого заголовка.
Вопрос к сообществу, какие проблемы могут возникнуть, если в 304 статусе не
будет заголовка Cache-Control?

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,245951,246111#msg-246111

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


 




Copyright © Lexa Software, 1996-2009.