We use cookies
We use cookies to optimize our website. By continuing to browse the site, you agree to our use of cookies.
Control panel
  • Русский
  • Українська
  • English
  • UAH
  • USD
  • RUB
  • EUR
  • 0-800-307-307 Hotline
  • +38 (044) 392-74-33 Kiev
  • +38 (057) 728-39-00 Kharkiv
  • +38 (056) 794-38-31 Dnipro
  • +38 (032) 229-58-93 Lviv
  • +38 (048) 738-57-70 Odessa
  • +38(093) 170-15-42  Life
  • +38 (067) 400-88-44 Kievstar
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7 (499) 348-28-61 Moscow

Hosting. nginx - Leverage browser caching


a07
8 years old
0
nginx - Leverage browser caching

Товарищ Гугл очень рекомендует включить в ответ сервера параметр Expires или Cache-Control: max-age для того, чтобы браузер не запрашивал картинки с сервера, но брал из локального кеша. Этот параметр призван улучшить скорость загрузки сайта.
https://developers.google.com/speed/docs...
Судя по всему, выдачей статических файлов на этом хостинге занимается сервер nginx, настроек к которому я нигде не нашел.

Уважаемые работники хостинга! Как включить рекомендуемый компанией Google параметр для ускорения сайта?

rudenko
8 years old
0

А компания google не рассказывает о том, что при таком подходе разработку сайта нужно вести совсем другим способом. Пример:
1. Заходит пользователь и сохраняется у него в кеше статический файл style.css.
2. Заходит разработчик и вносит изменения в шаблоне сайта и правит файлик style.css. У разработчика все ок, так как он нажал Ctrl+F5 и у него все стянулось с сервера.
3. Возвращается пользователь, и открывает ваш сайт, при этом происходит закачка нового шаблона так как не относится к кешируемой статике. А вот файл style.css у него - старый, с совсем левыми стилями. В итог у всех ваших постоянных посетителей вылетает на месяц ваш сайт.

rudenko
8 years old
0

Кстати, только что проверил на вашем сайте, nginx отдает заголовок expires + etag для статики. И в реальности на вашем сайте не происходит повторное получение картинок. отправляется запрос, а сервер отвечает 304 Not modified. Можете поставить себе Firefox + Firebug и во вкладке "Сеть" этого плагина посмотреть как общение с сервером происходит.

a07
8 years old
0

> Проверить можно в FireBug во вкладке NET:
> обновите страницу 2 раза и посмотрите код ответа.
> Если 200 ОК, то не работает. Если 304 Not Modified, то работает.

Не точная методика проверки. При правильном кешировании вообще не должно быть запросов к серверу. Нужно не обновлять страницу в браузере, а щелкать по ссылкам — ходить то на одну страницу, то на другую и обратно.

304 Not Modified получается когда принудительно обновляем страницу или когда протухает время кеширования контента. Тогда браузер отправляет HTTP запрос серверу с заголовком If-Modified-Since (http://www.w3.org/Protocols/... Сервер на этот запрос высылает контент, если файл был модифицирован, иначе говорит «304 Not Modified»…

http://habrahabr.ru/company/mk...

Проверить указанное выше утверждение можно хотя бы на сайте гугла с включенным Firebug'ом. Первоначально запросы статики есть, потом они просто не производятся

Кеширование статики не обязательно производить на целый месяц. Даже 1 день здорово ускорит сайт, а если у кого-то остался старая версия файла, 1 день, как правило - не много

a07
8 years old
0

Может у вас какая-то особая конфигурация сети, но у меня заголовка Expires нет. При первоначальном запросе ответ сервера:
HTTP/1.1 200 OK
Server: nginx/1.1.10
Date: Sun, 13 Jan 2013 22:31:02 GMT
Content-Type: image/jpeg
Content-Length: 27838
Last-Modified: Thu, 27 Dec 2012 09:36:48 GMT
Connection: keep-alive
Accept-Ranges: bytes

При обновлении ответ сервера:
HTTP/1.1 304 Not Modified
Server: nginx/1.1.10
Date: Sun, 13 Jan 2013 22:32:41 GMT
Last-Modified: Thu, 27 Dec 2012 09:36:48 GMT
Connection: keep-alive

Only registered users.