Welcome! Log In Create A New Profile

Advanced

Re: Bug – 304 status - Cache-Control

January 03, 2014 08:07PM
> И если отдать 304 на основании значения If-None-Match, то в кеше
> nginx'а будет оставлен потенциально устаревший ответ. Т.е.
> If-None-Match нужно просто убрать из рассмотрения при генерации
> ответа на бекенде, иначе корректной работы не добиться.

Дело в том, что изначально кеширования на бекенде, разрабатывалось для клиентского кеширования (в браузере), как уже писал не однократно, ревалидация происходит по If-None-Match, ревалидировать по заголовоку If-Modified-Since будет очень накладно, для больших сайтов, по этому мы сейчас используем Nginx кеширования на временной интервал. А там где контент завязан на пользователя, используется только клиентское (private) кеширования браузера.

Бекенд, не знает и не должен знать, какой тип кеша ему нужно ревалидировать, клиентский или кеш Nginx, по хорошему в первом и во втором случаи, механизм должен быть полностью одинаковым.

По этому чтобы иметь возможность использовать клиент кеширования, мы в конфиге прописали
fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty
Без этого работать с клиенским кешем невозможно, по причине удаления этих заголовком при включении fastcgi_cache_revalidate в Nginx.

Наша ошибка была в том, что бекенд приложения игнорировало отсутствия If-Modified-Since, но проводило ревалидацию при наличии If-None-Match и отвечало статусом 304 если ETag актуальный.
Мы это исправили добавив проверку на наличия If-Modified-Since.

Теперь все работает правильно, при клиент кешировании, мы в заголовок Cache-Control пишем дерективу private, это запретит Nginx кешировать данный ответ и таким образом он не попадет в кеш не при 200 статусе и так же ответ в 304 статусе в кеш не попадет.
Subject Author Posted

Bug – 304 status - Cache-Control

S.A.N January 01, 2014 10:37PM

Re: Bug – 304 status - Cache-Control

Maxim Dounin January 02, 2014 08:10PM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 02:31AM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 02:41AM

Re: Bug – 304 status - Cache-Control

Anatoly Mikhailov January 03, 2014 06:18AM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 04:04PM

Re: Bug – 304 status - Cache-Control

Maxim Dounin January 03, 2014 08:58AM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 05:37PM

Re: Bug – 304 status - Cache-Control

Maxim Dounin January 03, 2014 07:32PM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 08:07PM

Re: Bug – 304 status - Cache-Control

S.A.N January 03, 2014 11:25PM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 04, 2014 03:12AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 03:48AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 04, 2014 05:24AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 06:21AM

Re: Bug – 304 status - Cache-Control

Daniel Podolsky January 04, 2014 06:30AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 07:23AM

Re: Bug – 304 status - Cache-Control

Daniel Podolsky January 04, 2014 07:50AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 08:00AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 04, 2014 06:52AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 02:49PM

Re: Bug – 304 status - Cache-Control

Daniel Podolsky January 04, 2014 04:12AM

Re: Bug – 304 status - Cache-Control

S.A.N January 04, 2014 05:13AM

Re: Bug – 304 status - Cache-Control

Andrey Kopeyko January 05, 2014 08:20AM

Re: Bug – 304 status - Cache-Control

S.A.N January 06, 2014 03:35AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 06, 2014 05:06AM

Re: Bug – 304 status - Cache-Control

S.A.N January 06, 2014 05:41AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 06, 2014 01:34PM

Re: Bug – 304 status - Cache-Control

S.A.N January 06, 2014 04:05PM

Re: Bug – 304 status - Cache-Control

S.A.N January 07, 2014 07:10AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 07, 2014 08:32AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 05:36AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 07, 2014 06:00AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 08:24AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 07, 2014 08:42AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 09:36AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 07, 2014 10:02AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 10:14AM

Re: Bug – 304 status - Cache-Control

Илья Шипицин January 07, 2014 10:54AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 12:28PM

Re: Bug – 304 status - Cache-Control

S.A.N January 07, 2014 06:16AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 08:06AM

Re: Bug – 304 status - Cache-Control

S.A.N January 07, 2014 11:08AM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 07, 2014 02:54PM

Re: Bug – 304 status - Cache-Control

S.A.N January 07, 2014 05:20PM

Re: Bug – 304 status - Cache-Control

Ilya Pirogov January 09, 2014 10:46AM

Re: Bug – 304 status - Cache-Control

S.A.N January 09, 2014 01:15PM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 09, 2014 01:52PM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 09, 2014 02:00PM

Re: Bug – 304 status - Cache-Control

S.A.N January 09, 2014 02:16PM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 09, 2014 04:16PM

Re: Bug – 304 status - Cache-Control

S.A.N January 09, 2014 11:57PM

Re: Bug – 304 status - Cache-Control

Gena Makhomed January 08, 2014 11:38AM

Re: Bug – 304 status - Cache-Control

XJIOP April 08, 2014 11:24PM

Re: Bug – 304 status - Cache-Control

Maxim Dounin April 09, 2014 07:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 222
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