Сохранить кэш страницы. Что такое кэш страницы и для чего он нужен? Как найти в кэше Google, Yandex

Сохранить кэш страницы. Что такое кэш страницы и для чего он нужен? Как найти в кэше Google, Yandex

18.08.2015 09:03

Слово кэш можно услышать довольно часто в разных сферах ИТ, сегодня же мы будем разбираться с кэшем страниц сайта .

Сам термин означает сохранение поисковыми системами копий страниц от определенного числа, как правило от последнего посещения роботом сайта. Вы можете в любой момент найти и использовать копию (кэш) страницы для своих потребностей.

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

Для чего нужен кэш (копии) страниц.

Бывают разные ситуации при работе с сайтами.

Как всегда работы у Вас много, а времени мало и внимательности на все не хватает. Бывают случаи, когда ведутся работы с сайтом, предположим изменение дизайна или мелкие правки по шаблону, тексту. И в один момент понимаете, что где-то допустили ошибку и пропал текст или исчезла часть дизайна сайта. Ну бывает такое и каждый наверное с таким имел дело.

На данный момент, бэкапов у Вас нету, у хостинга тоже и не помните как выглядело все изначально. В этом случае помочь сможет копия страницы, которую можно найти в кэше как Яндекса, так и в Гугла, посмотреть как было изначально и поправить.

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

Также бывает ситуация, когда сайт не доступен, по той или иной причине, а вам необходимо на него зайти. В этом случае может помочь копия страницы которую можно найти ниже перечисленными способами.

В общем я думаю, стало ясно, что пользоваться кэшем страниц нужно и полезно.

Как найти страницу из кэша Гугла и Яндекса.

Для начала давайте рассмотрим как искать в поисковой системе Google.

Способ №1. Вы заходите на страницу поисковой системы и прописываете адрес страницы которую хотите найти и посмотреть копию. Я возьму для примера наш сайт:

loleknbolek.com

Прописываем название страницы, сайта в поисковую строку, нажимаем “Enter” и видим поисковую выдачу , где отображается страница которую вы искали. Смотрим на сниппет и там де УРЛ (адрес) с права от него есть не большая стрелочка вниз, нажимаем на нее и у нас появляется пункт “Сохранённая копия”. Нажимаем на него и нас перекинет на копию страницу от определенного числа.

Способ №2. Способ можно назвать полуавтоматическим, так как необходимо скопировать адрес, что находится ниже и вместо site.ru подставить домен своего сайта. В результате Вы получите туже самую копию страницы.

http://webcache.googleusercontent.com/search?q=cache:site.ru

Способ №3. Можно просматривать кэш с помощью плагинов для браузеров или онлайн сервисов. Я использую для этих целей RDS bar .

Здесь можно посмотреть когда последний раз заходил робот на ресурс, соответственно и копия страницы будет за это число.

Теперь рассмотрим как искать кэш в поисковой системе Яндекс.

Способ №1. Способ такой же как и для системы Google. Заходим на страницу поисковой системы и прописываете адрес страницы которую хотите найти и посмотреть копию. Снова возьму для примера наш сайт и пропишу:

url:loleknbolek.com

Прописываем название страницы, сайта в поисковую строку, нажимаем “Enter” и видим поисковую выдачу, где отображается страница которую вы искали. Смотрим на сниппет и там де УРЛ (адрес) с права от него есть не большая стрелочка вниз, нажимаем на нее и у нас появляется пункт “Сохранённая копия”. Нажимаем на него и нас перекинет на копию страницу от определенного числа.

Способ №2. Используем дополнительные плагины для браузеров. Читайте немного выше всё так же как и для Google.

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

Как очистить кэш в Яндексе и Гугле.

Бывает необходимо убрать страницу из кэша Яндекса или Гугла или вообще скрыть страницу которая ранее индексировалась и кешировалась от посторонних глаз. Для этого необходимо дождаться пока поисковая система сама выкинет данную страницу естественным путем.

Можно запретить индексировать страницу в файле Robots.txt или использовать тег:

Только смотрите аккуратно с тегом, не поставьте его в общий шаблон сайта ибо будет запрет на кэширование всего сайта. Для этих целей лучше всего используйте дополнительные плагины.

Решение рассматривается (пока) только для одного сайта - того, на котором мы находимся. Идея появилась в результате того, что один пользователь сделал юзерскрипт, который переадресует страницу на кеш Гугла, если вместо статьи видим «Доступ к публикации закрыт». Понятно, что это решение будет работать лишь частично, но полного решения пока не существует. Можно повысить вероятность нахождения копии выбором результата из нескольких сервисов. Этим стал заниматься скрипт HabrAjax (наряду с 3 десятками других функций). Теперь (с версии 0.859), если пользователь увидел полупустую страницу, с которой можно перейти лишь на главную, в личную страницу автора (если повезёт) и назад, юзерскрипт предоставляет несколько альтернативных ссылок, в которых можно попытаться найти потерю. И тут начинается самое интересное, потому что ни один сервис не заточен на качественное архивирование одного сайта.

Кстати, статья и исследования порождены интересным опросом А вас раздражает постоянное «Доступ к публикации закрыт»? и скриптом пользователя dotneter - комментарий habrahabr.ru/post/146070/#comment_4914947 .

Требуется, конечно, более качественный сервис, поэтому, кроме описания нынешней скромной функциональности (вероятность найти в Гугл-кеше и на нескольких сайтах-копировщиках), поднимем в статье краудсорсинговые вопросы - чтобы «всем миром» задачу порешать и прийти к качественному решению, тем более, что решение видится близким для тех, кто имеет сервис копирования контента. Но давайте обо всём по порядку, рассмотрим все предложенные на данный момент решения.

Кеш Гугла

В отличие от кеша Яндекса, к нему имеется прямой доступ по ссылке, не надо просить пользователя «затем нажать кнопку „копия“». Однако, все кеширователи, как и известный archive.org, имеют ряд ненужных особенностей.

1) они просто не успевают мгновенно и многократно копировать появившиеся ссылки. Хотя надо отдать должное, что к популярным сайтам обращение у них частое, и за 2 и более часов они кешируют новые страницы. Каждый в своё время.

3) поэтому результат кеширования - как повезёт. Можно обойти все такие кеширующие ссылки, если очень надо, но и оттуда информацию стоит скопировать себе, потому что вскоре может пропасть или замениться «более актуальной» бессмысленной копией пустой страницы.

Кеш archive.org

Он работает на весь интернет с мощностями, меньшими, чем у поисковиков, поэтому обходит страницы какого-то далёкого русскоязычного сайта редко. Частоту можно увидеть здесь: wayback.archive.org/web/20120801000000*/http://habrahabr.ru
Да и цель сайта - запечатлеть фрагменты истории веба, а не все события на каждом сайте. Поэтому мы редко будем попадать на полезную информацию.

Кеш Яндекса

Нет прямой ссылки, поэтому нужно просить (самое простое) пользователя нажать на ссылку «копия» на странице поиска, на которой будет одна эта статья (если её Яндекс вообще успел увидеть).

Как показывает опыт, статья, повисевшая пару часов и закрытая автором, довольно успешно сохраняется в кешах поисковиков. Впоследствии, скорее всего, довольно быстро заменится на пустую. Всё это, конечно, не устроит пользователей веба, который по определению должен хранить попавшую в него информацию.

Из живых я нашёл пока что 4, некоторые давно существовавшие (itgator) на данный момент не работали. В общем, пока что они почти бесполезны, потому что заставляют искать статью по названию или ключевым словам, а не по адресу, по которому пользователь пришёл на закрытую страницу (а по словам отлично ищет Яндекс и не только по одному их сайту). Приведены в скрипте для какой-нибудь полезной информации.

Задача

Перед сообществом стоит задача, не утруждая организаторов сайта, довести продукт до качественного, не теряющего информацию ресурса. Для этого, как правильно заметили в комментариях к опросу, нужен архиватор актуальных полноценных статей (и комментариев к ним заодно).

В настоящее время неполное решение её, как описано выше, выглядит так:

Если искать в Яндексе, то подобранный адрес выведет единственную ссылку (или ничего):


Нажав ссылку «копия», увидим (если повезёт) сохранённую копию (страница выбрана исключительно для актуального на данный момент примера):

В Гугле несколько проще - сразу попадаем на копию, если тоже повезёт, и Гугл успел сохранить именно то, что нам надо, а не дубль отсутствующей страницы.

Забавно, что скрипт теперь предлагает «выбор альтернативных сервисов» и в этом случае («профилактические работы»):

Жду предложений по добавлению сервисов и копировщиков (или хотя бы проектов) (для неавторизованных - на почту spmbt0 на известном гуглоресурсе, далее выберем удобный формат).

UPD 23:00: опытным путём для mail.ru было выяснено строение прямой ссылки на кеш:
"http://hl.mailru.su/gcached?q=cache:"+ window.location Знатоки или инсайдеры, расскажите, что это за ссылка, насколько она стабильна (не изменится ли, например, домен 3-го уровня), что значит приставка «g»-cached? Значит ли это кеш Гугла или это кеш движка Gogo?

Слово кэш можно услышать довольно часто в разных сферах ИТ, сегодня же мы будем разбираться с кэшем страниц сайта. Сам термин означает сохранение поисковыми системами копий страниц от определенного числа, как правило от последнего посещения роботом сайта. Вы можете в любой момент найти и использовать копию (кэш) страницы для своих потребностей.

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

Для чего нужен кэш (копии) страниц

Бывают разные ситуации при работе с сайтами.

Как всегда работы у Вас много, а времени мало и внимательности на все не хватает. Бывают случаи, когда ведутся работы с сайтом, предположим изменение дизайна или мелкие правки по шаблону, тексту. И в один момент понимаете, что где-то допустили ошибку и пропал текст или исчезла часть дизайна сайта. Ну бывает такое и каждый наверное с таким имел дело.

На данный момент, бэкапов у Вас нету, у тоже и не помните как выглядело все изначально. В этом случае помочь сможет копия страницы, которую можно найти в кэше как Яндекса, так и в Гугла, посмотреть как было изначально и поправить.

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

Так же бывает ситуация, когда сайт не доступен, по той или иной причине, а вам необходимо на него зайти. В этом случае может помочь копия страницы которую можно найти ниже перечисленными способами.

В общем я думаю, стало ясно, что пользоваться кэшем страниц нужно и полезно.

Как найти страницу в кэше Google, Yandex

Для начала давайте рассмотрим как искать в поисковой системе Google.

Способ №1.

Вы заходите на страницу поисковой системы и прописываете адрес страницы которую хотите найти и посмотреть копию. Я возьму для примера наш сайт:

Прописываем название страницы, сайта в поисковую строку, нажимаем “Enter” и видим , где отображается страница которую вы искали. Смотрим на сниппет и там де УРЛ (адрес) с права от него есть не большая стрелочка вниз, нажимаем на нее и у нас появляется пункт “Сохранённая копия”. Нажимаем на него и нас перекинет на копию страницу от определенного числа.

Способ №2.

Способ можно назвать полуавтоматическим, так как необходимо скопировать адрес, что находится ниже и вместо site.ru подставить домен своего сайта. В результате Вы получите туже самую копию страницы.

http://webcache.googleusercontent.com/search?q=cache:site.ru

Способ №3.

Можно просматривать кэш с помощью плагинов для браузеров или онлайн сервисов. Я использую для этих целей .


Здесь можно посмотреть когда последний раз заходил робот на ресурс, соответственно и копия страницы будет за это число.

Теперь рассмотрим как искать кэш в поисковой системе Яндекс.

Способ №1.

Способ такой же как и для системы Google. Заходим на страницу поисковой системы и прописываете адрес страницы которую хотите найти и посмотреть копию. Снова возьму для примера наш сайт и пропишу:

Прописываем название страницы, сайта в поисковую строку, нажимаем “Enter” и видим поисковую выдачу, где отображается страница которую вы искали. Смотрим на сниппет и там де с права от него есть не большая стрелочка вниз, нажимаем на нее и у нас появляется пункт “Сохранённая копия”. Нажимаем на него и нас перекинет на копию страницу от определенного числа.


Способ №2.

Используем дополнительные плагины для браузеров. Читайте немного выше всё так же как и для Google.

Если страница не находится в , то большая вероятность того, что ее нету и в кэше. Если страница была ранее в индексе, то возможно она сохранилась в нем.

Как очистить кэш в Yandex, Google

Бывает необходимо убрать страницу из кэша Яндекса или Гугла или вообще скрыть страницу которая ранее индексировалась и кешировалась от посторонних глаз. Для этого необходимо дождаться пока поисковая система сама выкинет данную страницу естественным путем если Вы ее предварительно удалили. Можно запретить индексировать страницу в файле или использовать тег:

Только смотрите аккуратно с тегом, не поставьте его в общий шаблон сайта ибо будет запрет на кэширование всего сайта. Для этих целей лучше всего используйте дополнительные плагины или программистов которые ранее занимались такой работой.

Теперь давайте посмотрим как средствами поисковой системы Google и Яндекс можно очистить кэш (очистить, удалить страницу).

Очистить кэш страницы в Google

Поисковая система Google к этому вопросу подошла с правильной стороны и создала такой инструмент как «Удалить URL-адреса » в Webmaster Tools. Что бы им воспользоваться необходимо зайти в инструменты вебмастера по адресу:

www.google.com/webmasters/


Очистить кэш страницы в Google Webmaster

Для того, что бы очистить кеш или удалить полностью страницу (а так же можно сразу удалить и очистить кэш вместе), необходимо нажать на кнопку «Временно скрыть » и ввести url адрес страницы которую необходимо очистить и нажать кнопку «Продолжить «.


Теперь в данном окне при нажатии на список «Тип запроса » можно увидеть несколько способов удаления и очистки как страницы с индекса гугла так и очистки кєша.

  1. Если Вам необходимо полностью удалить страницу и cache, то используем первый способ.
  2. Если необходимо просто очистить его, то используем второй способ. Как правило для нашего примера нужно использовать именно его. Страница остается в индексе, но кэш удаляется и при следующем приходе робота, она снова появится там.
  3. Если необходимо временно скрыть, то используем третий способ. Используется в том случае когда не успевают наполнятся страницы качественным контентом. В данном случае скрыть ее на некоторое время будет лучше.

Как только выбираете один из способов, в данном случае 2й, нажимаем на кнопку «Отправить запрос «.


После нажатия получаем страницу, где можно увидеть, что данная страница добавлена на удаление из кэша и находится в статуже «Ожидание «. Теперь остается только ждать. Как правило данная процедура занимает от нескольких минут до нескольких часов.

Если Вы не правильно указали страницу и хотите сделать отмену, то можно нажать на кнопку «Отмена «.


После того как вы через некоторое время зайдете в инструмент «Удалить URL-адреса», можно будет увидеть статус «Выполнено». Это означает, что робот Гугл зашел на страницу и очистил ее историю.

Очистить (удалить) страницу в Yandex

У поисковой системы Яндекс есть похожий инструмент в инструментах для вебмастеров, но здесь есть одно «НО». Очистки кэша как такового нету, можно целиком удалить страницу из индекса ПС и при этом удалится вся ее история.

Для того, что бы воспользоваться данным инструментом необходимо зайти в Yandex webmaster по ссылке:

webmaster.yandex.ua/delurl.xml

и в строку ввести необходимый урл.


Поисковая система исключит данный адрес через некоторое время «АП». Как правило у Яндекса на это уходит пару ней, поэтому необходимо будет подождать.

Если у Вас есть вопросы задавайте их в комментариях, мы всегда на связи!

Иногда, зайдя на (ранее существовавшую) страницу, мы получаем 404 ошибку — страница не найдена. Эта страница удалена, сайт не доступен и т. д., но как просмотреть удалённую страницу ? Попробую дать ответ на этот вопрос и предложить четыре готовых варианта решения этой задачи.

Вариант 1: автономный режим браузера

Для экономии трафика и увеличения скорости загрузки страниц, браузеры используют кэш. Что такое кэш? Кэш (от англ. cache ) — дисковое пространство на компьютере, выделенное под временное хранение файлов, к которым относятся и веб-страницы.

Так что попробуйте просмотреть удаленную страницу из кэша браузера. Для этого — перейдите в автономный режим .

Примечание : просмотр страниц в автономном режиме возможен, только если пользователь посещал страницу ранее и она ещё не удалена из кэша.

Как включить автономный режим работы браузера?

Для Google Chrome , Яндекс.Браузер и др., автономный режим доступен только как эксперимент. Включите его на странице: chrome://flags/ — найдите там «Автономный режим кеша» и кликните ссылку «Включить ».


Включение и выключение автономного режима в браузере Google Chrome

В Firefox (29 и старше) откройте меню (кнопка с тремя полосками) и кликнуть пункт «Разработка » (гаечный ключ) , а потом пункт «Работать автономно ».

Включение и выключение автономного режима в браузере Firefox

В Opera кликните кнопку «Opera», найдите в меню пункт «Настройки », а потом кликните пункт «Работать автономно ».

Как включить или отключить автономный режим в Opera?

В Internet Explorer — нажмите кнопку Alt , (в появившемся меню) выберите пункт «Файл » и кликните пункт меню «Автономный режим ».

Как отключить автономный режим в Internet Explorer 11?

Уточню — в IE 11 разработчики удалили переключение автономного режима. Возникает вопрос — как отключить автономный режим в Internet Explorer 11? Выполнить обратные действия — не получится, сбросьте настройку браузера.

Для этого закройте запущенные приложения, в том числе и браузер. Нажмите комбинацию клавиш Win +R и (в открывшемся окне «Выполнить») введите: inetcpl.cpl , нажмите кнопку Enter . В открывшемся окне «Свойства: Интернет» перейдите на вкладку «Дополнительно ». На открывшейся вкладке найдите и кликните кнопку «Восстановить дополнительные параметры », а потом и появившуюся кнопку «Сброс… ». В окне подтверждения установите галочку «Удалить личные настройки » и нажмите кнопку «Сброс ».

Вариант 2: копии страниц в поисковиках

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

В Google — используйте оператор info: , с указанием нужного URL-адреса. Пример:


В Яндекс — используйте оператор url: , с указанием нужного URL-адреса. Пример:


Наведите курсор мыши на (зелёный) URL-адрес в сниппете и кликните появившуюся ссылку «копия ».

Проблема в том, что поисковики хранят только последнюю проиндексированную копию страницы. Если страница удалена, со временем, она станет недоступна и в поисковиках.

Вариант 3: WayBack Machine

Сервис WayBack Machine — Интернет архив, который содержит историю существования сайтов.


Просмотр истории сайта на WayBack Machine

Введите нужный URL-адрес, а сервис попытается найти копию указанной страницы в своей базе с привязкой к дате. Но сервис индексирует далеко не все страницы и сайты.

Вариант 4: Archive.today

Простым и (к сожалению) пассивным сервис для создания копий веб-страниц является Archive.today . Получить доступ к удалённой странице можно, если она была скопирована другим пользователем в архив сервис. Для этого введите URL-адрес в первую (красную) форму и нажать кнопку «submit url ».


После этого, попробуйте найти страницу, используя вторую (синюю) форму.


Рекомендую! Подумал: А что делать, если страница не удалена? Бывает же так, что просто невозможно зайти на сайт. Нашел статью Виктора Томилина , которая так и называется «Не могу зайти на сайт » — где автор не просто описывает 4 способа решения проблемы, но и записал наглядное видео.
в 22:40 Изменить сообщение 12 комментариев
  • Перевод

Довольно подробное и интересное изложение материала, касающегося кэша и его использования. Часть 2 .

От переводчика: об опечатках и неточностях просьба сообщать в личку. Спасибо.

Веб-кэш располагается между одним или несколькими веб-серверами и клиентом, или множеством клиентов, и следит за входящими запросами, сохраняя при этом копии ответов - HTML-страниц, изображений и файлов (совокупно известных, как представления (representations); прим. переводчика - позвольте я буду употреблять слово “контент” - оно, на мой взгляд, не так режет слух), для собственных нужд. Затем, если поступает другой запрос с аналогичным url-адресом, кэш может использовать сохраненный прежде ответ, вместо повторного запроса к серверу.

Существует две основные причины, по которым используется веб-кэш:

1. Уменьшение времени ожидания - так как данные по запросу берутся из кэша (который располагается “ближе” к клиенту), требуется меньше времени для получения и отображения контента на стороне клиента. Это делает Веб более отзывчивым (прим. переводчика - “отзывчивым” в контексте быстроты реакции на запрос, а не эмоционально).

2. Снижение сетевого трафика - повторное использование контента снижает объем данных, передаваемых клиенту. Это, в свою очередь, экономит деньги, если клиент платит за трафик, и сохраняет низкими и более гибкими требования к пропускной способности канала.

Виды веб-кэшей

Кэш браузера (Browser cache)
Если вы изучите окно настроек любого современного веб-браузера (например, Internet Explorer, Safari или Mozilla), вы, вероятно, заметите параметр настройки «Кэш». Эта опция позволяет выделить область жесткого диска на вашем компьютере для хранения просмотренного ранее контента. Кэш браузера работает согласно довольно простым правилам. Он просто проверяет являются ли данные “свежими”, обычно один раз за сессию (то есть, один раз в текущем сеансе браузера).

Этот кэш особенно полезен, когда пользователь нажимает кнопку “Назад” или кликает на ссылку, чтобы увидеть страницу, которую только что просматривал. Также, если вы используете одни и те же изображения навигации на вашем сайте, они будут выбираться из браузерного кэша почти мгновенно.

Прокси-кэш (Proxy cache)
Прокси-кэш работает по аналогичному принципу, но в гораздо большем масштабе. Прокси обслуживают сотни или тысячи пользователей; большие корпорации и интернет-провайдеры часто настраивают их на своих файрволах или используют как отдельные устройства (intermediaries).

Поскольку прокси не являются частью клиента или исходного сервера, но при этом обращены в сеть, запросы должны быть к ним как-то переадресованы. Одним из способов является использование настроек браузера для того, чтобы вручную указать ему к какому прокси обращаться; другой способ - использование перехвата (interception proxy). В этом случае прокси обрабатывают веб-запросы, перенаправленные к ним сетью, так, что клиенту нет нужды настраивать их или даже знать об их существовании.

Прокси-кэши являются своего рода общей кэш-памятью (shared cache): вместо обслуживания одного человека, они работают с большим числом пользователей и поэтому очень хороши в сокращении времени ожидания и сетевого трафика. В основном, из-за того, что популярный контент запрашивается много раз.

Кэш-шлюз (Gateway Cache)
Также известные как “реверсивные прокси-кэши” (reverse proxy cache) или “суррогаты” (surrogate cache) шлюзы тоже являются посредниками, но вместо того, чтобы использоваться системными администраторами для сохранения пропускной способности канала, они (шлюзы) обычно используются веб-мастерами для того, чтобы сделать их сайты более масштабируемыми, надежными и эффективными.

Запросы могут быть перенаправлены на шлюзы рядом методов, но обычно используется балансировщик нагрузки в той или иной форме.

Сети доставки контента (content delivery networks, CDN) распространяют шлюзы по всему интернету (или некоторой его части) и отдают кэшированный контент заинтересованным веб-сайтам. Speedera и Akamai являются примерами CDN.

Это учебное пособие преимущественно сфокусировано на браузерных кэшах и прокси, но некоторая информация подходит также и тем, кому интересны шлюзы.

Почему я должен им пользоваться

Кэширование является одной из наиболее неправильно понятых технологий в интернете. Веб-мастера, в частности, боятся потерять контроль над их сайтом, потому что прокси могут “скрыть” их пользователей, сделав сложным наблюдение посещаемости.

К несчастью для них (веб-мастеров), даже если бы веб-кэша не существовало, есть слишком много переменных в интернете, чтобы гарантировать, что владельцы сайтов будут в состоянии получить точную картину того, как пользователи обращаются с сайтом. Если это является для вас большой проблемой, данное руководство научит вас как получить необходимую статистику, не делая ваш сайт “кэшененавистником”.

Другой проблемой является то, что кэш может хранить содержимое, которое устарело или просрочено.

С другой стороны, если вы ответственно подходите к проектированию вашего веб-сайта, кэш может помочь с более быстрой загрузкой и сохранением нагрузки на сервер и интернет-соединение в рамках допустимого. Разница может быть впечатляющей: загрузка сайта, не работающего с кэшем, может потребовать нескольких секунд; в то время как преимущества использования кэширования могут сделать её кажущейся мгновенной. Пользователи по достоинству оценят малое время загрузки сайта и, возможно, будут посещать его чаще.

Подумайте об этом в таком ключе: многие крупные интернет-компании тратят миллионы долларов на настройку ферм серверов по всему миру для репликации контента для того, чтобы ускорить, как только можно, доступ к данным для своих пользователей. Кэш делает то же самое для вас и он гораздо ближе к конечному пользователю.

CDN, с этой точки зрения, являются интересной разработкой, потому что, в отличие от многих прокси-кэшей, их шлюзы приведены в соответствие с интересами кэшируемого веб-сайта. Тем не менее, даже тогда, когда вы используете CDN, вы все равно должны учитывать, что там будет прокси и последующее кэширование в браузере.

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

Как работает веб-кэш

Все виды кэшей обладают определенным набором правил, которые они используют, чтобы определить, когда брать контент из кэша, если он доступен. Некоторые из эти правил установлены протоколами (HTTP 1.0/HTTP 1.1), некоторые - администраторами кэша (пользователями браузера или администраторами прокси).

Вообще говоря, это самые общие правила (не волнуйтесь, если вы не понимаете детали, они будут объяснены ниже):

  1. Если заголовки ответа сообщают кэшу не сохранять их, он не сохранит.
  2. Если запрос авторизованный (authorized) или безопасный (то есть, HTTPS), он не будет закэширован.
  3. Кэшированный контент считается “свежим” (то есть, может быть отправлен клиенту без проверки с исходного сервера), если:
    • У него установлено время истечения или другой заголовок, контролирующий время жизни, и он еще не истек.
    • Если кэш недавно проверял контент и тот был модифицирован достаточно давно.
    Свежий контент берется непосредственно из кэша, без проверки с сервера.
  4. Если контент является устаревшим, исходному серверу будет предложено провалидировать его или сообщить кэшу, является ли имеющаяся копия по-прежнему актуальной.
  5. При определенных обстоятельствах - например, когда он отключен от сети - кэш может сохранять устаревшие ответы без проверки с исходного сервера.
Если в ответе не присутствует валидатора (ETag или Last-Modified заголовок), и он не содержит никакой явной информации о свежести, контент, обычно (но не всегда) будет считаться некэшируемым.

Свежесть (freshness) и валидация (validation) являются наиболее важными способами, с помощью которых кэш работает с контентом. Свежий контент будет доступен мгновенно из кэша; валидное же содержимое избежит повторной отправки всех пакетов, если оно не было изменено.