expires

Sergey Shepelev temotor на gmail.com
Чт Авг 19 20:31:49 MSD 2010


2010/8/19 Igor Vavrjin <igor.vavrjin at gmail.com>:
> Здравствуйте.
>
> В конфиге 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


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