expires

Alexandr Sergeyev asergeyev на dyn.com
Пт Авг 20 04:01:12 MSD 2010


http://redbot.org/?uri=http%3A%2F%2Fvpotoke.com%2Fru%2Fimg%2FarrowRed.gif
у вас часы на сервере неправильно идут

----- Original Message -----
From: "Igor Vavrjin" <igor.vavrjin at gmail.com>
To: "Sergey Shepelev" <nginx-ru at nginx.org>
Sent: Thursday, August 19, 2010 4:37:27 PM
Subject: Re: expires

Здравствуйте, Sergey.

Вы писали 20 августа 2010 г., 0:39:44:

>>>> Здравствуйте.
>>>>
>>>> В конфиге nginx имеется:
>>>> location ~ /img/ {
>>>>   expires 10d;
>>>> }
>>>>
>>>> вот заголовки ответа для одной из картинок:
>>>> Server  nginx
>>>> Date    Thu, 19 Aug 2010 16:04:58 GMT
>>>> Content-Type    image/gif
>>>> Connection      keep-alive
>>>> Content-Length  2332
>>>> Last-Modified   Tue, 11 May 2010 07:03:16 GMT
>>>> Expires Sun, 29 Aug 2010 16:05:17 GMT
>>>> Cache-Control   max-age=864000
>>>> Accept-Ranges   bytes
>>>>
>>>>
>>>> при  повторном  запросе  к  странице  -  опять  идет  обращение к этой
>>>> картинке, то есть полностью игнорируются заголовки Expires и Cache-Control
>>>>
>>>> Это браузеры тупят или я что-то не догоняю?
>>>>
>>>> Я так думаю что эти картинки должны браться из кэша браузера и запроса
>>>> не   должно   быть   к   серверу.   Если   я   не   прав  -  объясните
>>>> пожалуйста в чем тут проблема.
>>>>
>>
>>> В лучшем случае, да, вообще без запроса.
>>> Чуть менее (но всё же) приятный вариант: GET + If-Not-Modified и ответ 304.
>>
>>> Какое обращение опять идёт? Покажите запрос или дайте урл страницы где
>>> эта картинка используется. А то может у вас в запросе cache-control:
>>> max-age=0
>>
>> Например такой запрос:
>>
>> http://vpotoke.com/ru/img/arrowRed.gif

> Это не запрос, а урл картинки. Вы привели заголовки ответа выше.
> Посмотрите на заголовки запроса тоже. Послушайте трафик, есть ли эти
> запросы в сети на самом деле, или браузер показывает информацию из
> кеша.

>>
>> а насчет  cache-control: max-age=0 я же привел заголовки ответа выше: Cache-Control   max-age=864000
>>

> Cache-control бывает и в запросе тоже. И если там есть max-age=0,
> значит браузер явно говорит промежуточным проксям, что нужна именно
> свежая версия ресурса. Обычно это бывает при Ctrl+F5 (в разных
> браузерах разные клавиши для "жёсткого рефреша").

> Хром показывает что каждый раз загружает картинки с max-age=0 (то есть
> заново качает) при простых переходах на другие страницы, что плохо. Но
> заголовок Date во всех ответах одинаковый, то есть, видимо, он таким
> образом показывает информацию из кэша. Скорее всего, вы наблюдаете
> такой же эффект.

> Разные аудиторы (pagespeed, chrome dev tools,
> http://code.google.com/speed/tools.html конец страницы) показывают,
> что с картинками всё в порядке, только время кэширования советуют
> увеличить, так что я бы не волновался на этот счёт.

Такое  поведение  оказалось  только  у  FF  :)  все остальные браузеры
корректно себя ведут. Возможно какой-то плагин перекрывает заголовки а
может и баг в FF v3.5.11


-- 
С уважением,
 Igor                          mailto:igor.vavrjin at gmail.com


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


Подробная информация о списке рассылки nginx-ru