Welcome! Log In Create A New Profile

Advanced

Re: ревалидация кеша fastcgi

VovansystemS
May 04, 2016 08:34AM
>> fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty;
>> fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since if_not_empty;
>
> У вас в конфиге написано: установить заголовки If-None-Match и
> If-Modified-Since в запросах к бекенду в полученные от клиента
> значения. Ревалидация кеша в таких условиях работать не может по
> очевидным причинам.

убрал эти строки. удалил кеш. ристартанул nginx
первая загрузка X-My-Cache: MISS (страницы нет в кеше)
вторая загрузка X-My-Cache: HIT (есть в кеше, получаю закешированную версию)
жду 10 секунд
третья загрузка X-My-Cache: EXPIRED

(а я ожидаю X-My-Cache: REVALIDATED )

заголовки запроса браузера:
GET /product/name HTTP/1.1
Host: site.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112
Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4

на всякий случай сделал то же самое через curl:
curl -i "https://site.com/product/name"
и получил точно такой же результат:
первая загрузка X-My-Cache: MISS (страницы нет в кеше)
вторая загрузка X-My-Cache: HIT (есть в кеше, получаю закешированную версию)
жду 10 секунд
третья загрузка X-My-Cache: EXPIRED

> На бекенде в РНР, отвечайте http_response_code(304); вместо header('HTTP/1.0
304 Not Modified'); так быстрей и правильней.
поправил

> Судя по конфигу, у вас проблема с куками, если браузер присылает куки
сессии, кеш не работает, curl куки не присылает, ответ отдается из кеша.
вроде нет, см выше описание поведения curl при стандартном GET

бэкэнд сейчас, к слову, выглядит примерно так:

<?php
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ) {
http_response_code(304);
exit;
}
// код приложения
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

ревалидация кеша fastcgi

VovansystemS May 04, 2016 08:00AM

Re: ревалидация кеша fastcgi

S.A.N May 04, 2016 08:13AM

Re: ревалидация кеша fastcgi

Maxim Dounin May 04, 2016 08:16AM

Re: ревалидация кеша fastcgi

VovansystemS May 04, 2016 08:34AM

Re: ревалидация кеша fastcgi

S.A.N May 04, 2016 08:38AM

Re: ревалидация кеша fastcgi

VovansystemS May 04, 2016 10:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

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