Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: expires
- To: nginx-ru@xxxxxxxxx
- Subject: Re: expires
- From: Sergey Shepelev <temotor@xxxxxxxxx>
- Date: Thu, 19 Aug 2010 21:39:44 +0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Gw09Ia5+IhBWjdkR0Uvnyj7gRXKT0QDWsH6Eljx++o4=; b=nEXkhNB5pGl8Aobs7Fu1HayiDAkGFvO6X8kI9/rRaTrqION0J35ogPQ6oGPih1h0pw uwPxAiUqFSzOpyMdyTIKDzj/wBY9yazS3g/K5qfKI2inaAVN0lK7Fra6VsSK4WQjgRIz +ygXR7siJjAMciq6/qEa64jd08cbUzEmbC2wg=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=FsQcf/1L1533lOmsGhWVGgkvBbIPkW42tk1ogRixVUuP4xR2tQTbeNDtHO9RxW8dzq gcIC6rSMwBYkdCzGpid6kWNoXxulsJCVYCbe8v48rKpUYd7fxO0KsY/7z5H6IUZlkEUs WGpXEBxWK70/f6C6tFZkxdE2o0oa8WlTsZkL0=
- In-reply-to: <115270708.20100819235003@xxxxxxxxx>
- References: <19051179.20100819231109@xxxxxxxxx> <AANLkTinZmAPWxU2FF5ikyER-wsqe3wR7iWA3kY1ajk_a@xxxxxxxxxxxxxx> <115270708.20100819235003@xxxxxxxxx>
>>> Здравствуйте.
>>>
>>> В конфиге 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 конец страницы) показывают,
что с картинками всё в порядке, только время кэширования советуют
увеличить, так что я бы не волновался на этот счёт.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|