Hello! On Fri, Jan 03, 2014 at 02:31:28AM -0500, S.A.N wrote:
> > Если файла в кеше нет - то откуда взялся ответ 304? > > Ответ 304 появился, потому что клиент прислал HTTP_IF_NONE_MATCH, т.е > ревалидация была произведена по Etag, в нашем конфиге Nginx есть строка > fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty; > она нам нужна, потому что во многих местах используем только клиент > (private) кеширования на ETag. > > Я понял в чем проблема, Nginx при отсутствии своего файл кеша, удаляет > хедеры > If-Modified-Since и If-None-Match > Мы в конфиге востонавливаем клиенский хедер If-None-Match и по нему > происходит ревалидации не в зависимости от наличия или отсутствия файла кеша > в Nginx, из-за это и проблемы. > > Ок, как нам правильно поступить, клиенские хедеры If-None-Match нам нужны, > потому что по нему происходит ревалидация клиентского приватного кеша, если > его отключить тогда мы не сможем ревалидировать клиенский кеш по > If-None-Match. Если вы хотите, чтобы оно работало так, то надо включить в ключ кеширования заголовок If-None-Match - т.к. от него зависит ответ бекенда. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
