Что такое кэш: браузера, сайта и DNS — и почему вам всегда советуют его очистить
«Очистите кэш и попробуйте снова» — первая фраза любой поддержки. Разбираем, что такое кэш на самом деле, где он прячется, почему из-за него вы видите старую версию сайта и в каких случаях очистка ничего не изменит.
Кэш — это временное хранилище копий уже полученных данных, из которого устройство берёт их повторно, чтобы не скачивать заново. Кэш браузера хранит картинки, стили и скрипты сайтов, кэш DNS — адреса серверов, кэш сайта и CDN — готовые страницы. Кэш ускоряет работу, но иногда отдаёт устаревшую копию вместо свежей.
Зачем нужен кэш и как он работает
Кэш нужен, чтобы не тратить время и трафик на одни и те же файлы. При первом заходе на сайт браузер скачивает логотип, шрифты, стили и скрипты, а при втором берёт их с диска за миллисекунды вместо повторной загрузки из интернета.
Бытовая аналогия — ксерокопия справочника. Один раз вы сходили в библиотеку, сняли копию нужной страницы и дальше смотрите в неё дома. Быстро и удобно, пока в библиотеке не вышло новое издание: ваша копия об этом не знает.
Чтобы копия не жила вечно, у каждого файла есть срок годности. Сервер сообщает его в заголовке ответа Cache-Control: например, «max-age=604800» означает «храни 7 дней». Пока срок не вышел, браузер даже не спрашивает сервер и берёт файл из кэша. Когда срок истёк, браузер отправляет короткий вопрос «файл изменился?», и сервер отвечает либо «нет» (код 304 Not Modified — тогда снова используется копия), либо присылает новую версию. Если сервер срок не указал, браузер назначает его сам: по правилам HTTP-кэширования, описанным в документации MDN, это примерно 10% времени с последнего изменения файла.
Где живёт кэш: браузер, сайт, CDN, DNS и приложения
Кэш есть на каждом участке пути между вами и сайтом: в браузере, в операционной системе, у интернет-провайдера, в сети доставки контента и на самом сервере сайта. Поэтому «очистить кэш» — не одно действие, а пять разных, и поддержка обычно имеет в виду только первое.
| Вид кэша | Что хранит | Сколько живёт | Кто очищает |
|---|---|---|---|
| Браузера | Картинки, стили, скрипты, шрифты, иногда целые страницы | От минут до года — сколько указал сайт | Вы, через настройки браузера |
| DNS | Соответствие «имя сайта → IP-адрес сервера» | Обычно от 5 минут до суток (значение TTL записи) | Система и браузер сами по истечении срока; вручную — командой |
| CDN и прокси | Копии файлов и страниц на серверах поближе к посетителю | Часы и дни, по настройкам владельца сайта | Владелец сайта в панели CDN |
| Сайта (серверный) | Готовые HTML-страницы, результаты запросов к базе | Минуты и часы, по настройкам плагина или движка | Владелец сайта в админке |
| Приложения | Фото, видео, документы из мессенджеров и соцсетей | Пока не кончится место или лимит приложения | Вы, в настройках приложения или телефона |
Главный вывод из таблицы: обычный пользователь управляет только двумя видами кэша — браузера и приложений. Кэш DNS обновится сам, когда истечёт срок записи, а кэш CDN и сервера сбрасывает владелец сайта.
Отдельно про DNS. DNS (Domain Name System) — это «телефонная книга» интернета: она переводит имя сайта в IP-адрес сервера. Ваш компьютер запоминает ответ на срок TTL (time to live — время жизни записи), который задаёт владелец домена. Если сайт переехал на новый сервер, а срок старой записи ещё не вышел, вы попадёте по старому адресу. Подробно эту ситуацию разбирает статья про кэш DNS. Про CDN (Content Delivery Network — сеть серверов, раздающих копии сайта из разных городов) есть отдельный разбор.
Почему из-за кэша вы видите старую версию сайта или ошибку, которой уже нет
Вы видите старую версию, потому что срок годности копии ещё не истёк и браузер честно показывает её, не обращаясь к серверу. Ошибка «застревает» по той же причине: если сайт полчаса назад отдавал сломанную страницу, а браузер или CDN успели её сохранить, вы будете получать сломанную копию, пока не выйдет её срок или кто-то не сбросит кэш.
Типичная картина: дизайнер поменял логотип, разработчик обновил стили, владелец сайта обновляет страницу и видит старый вариант. Разработчик открывает тот же адрес и видит новый — у него в кэше файла не было. Оба правы: они смотрят на разные копии.
| Симптом | Какой кэш виноват | Что делать |
|---|---|---|
| Правки на сайте видны с другого устройства, но не с вашего | Браузера | Обновить страницу с зажатым Shift (Shift+F5 или Ctrl+Shift+R), затем очистить кэш браузера |
| Правки не видит никто, включая разработчика | Сайта или CDN | Сбросить кэш в админке сайта и в панели CDN |
| Сайт переехал на новый хостинг, у вас открывается старый или не открывается | DNS | Подождать до суток или сбросить кэш DNS командой ipconfig /flushdns (Windows) |
| Страница выглядит «поехавшей»: текст без оформления, кнопки не работают | Браузера (устаревшие стили и скрипты) | Очистить кэш браузера за всё время |
| Сайт не открывается ни у кого и ни откуда | Кэш ни при чём | Проблема на сервере или у хостинга — писать владельцу или в поддержку хостинга |
Самое частое из этой таблицы — первая строка: правки видны с телефона, но не с рабочего компьютера. В этом случае достаточно обновить страницу с зажатым Shift — Яндекс Браузер в своей справке называет именно это сочетание способом «очистить кэш страницы» без удаления всего остального.
Безопасно ли очищать кэш браузера и что при этом пропадёт
Очищать кэш безопасно: пароли, закладки, история и вкладки при этом не удаляются. Пропадают только сохранённые копии файлов, поэтому единственное последствие — первые заходы на знакомые сайты пройдут медленнее, пока копии не скачаются заново.
Схема диалога очистки: чтобы удалить только кэш, оставьте одну галочку — «Изображения и другие файлы, сохранённые в кеше», остальные снимите.
Путаница возникает из-за того, что в диалоге очистки кэш стоит рядом с файлами cookie. Cookie — это маленькие записи, по которым сайт узнаёт вас и держит вход в аккаунт. В Chrome эти два пункта называются «Изображения и кеш» и «Файлы cookie и данные сайтов», в Яндекс Браузере — «Файлы, сохранённые в кеше» и «Файлы cookie и другие данные сайтов и модулей». Если отметить только кэш, вы останетесь залогинены везде. Если отметить и cookie, придётся заново входить на сайты: справка Google прямо предупреждает, что «вам придётся заново войти на них в аккаунты», а «некоторые сайты могут открываться медленнее, чем раньше».
Сохранённые в браузере пароли живут отдельно и очисткой кэша не затрагиваются. Но если вы входите на сайт «по памяти браузера», не помня пароль, перед удалением cookie убедитесь, что пароль записан в менеджере паролей.
| Что вы удаляете | Пароли | Вход на сайтах | Корзина, настройки сайтов | Скорость первого захода |
|---|---|---|---|---|
| Только кэш | Остаются | Остаётся | Остаются | Ниже на 1–2 захода |
| Кэш + cookie | Остаются | Слетает | Сбрасываются | Ниже на 1–2 захода |
Пошаговая инструкция для Chrome, Safari, Яндекс Браузера и телефонов вынесена в отдельную статью — как очистить кэш браузера. Там же — как удалить кэш одного сайта, не трогая остальные.
Когда очистка кэша не поможет и как это понять
Очистка кэша не поможет, если сайт действительно не работает: сервер выключен, хостинг не оплачен, домен просрочен или на сервере ошибка. Кэш отвечает только за то, что вы видите старую копию, а не за то, что сервер не отдаёт новую.
Отличить одно от другого можно за минуту без технических знаний:
- Откройте сайт в режиме инкогнито. В нём браузер не использует старый кэш и cookie. Открылся правильно — проблема была в вашем кэше.
- Откройте сайт с телефона через мобильный интернет. Это другой браузер, другая сеть и другой DNS. Не открывается и там — кэш ни при чём.
- Посмотрите на текст ошибки. Коды 500, 502, 503 и 504 — это ответ сервера, он их не из кэша достаёт. Надпись «Не удаётся получить доступ к сайту» или «Сервер не найден» — проблема с DNS или сетью.
- Спросите кого-то из другого города. Если у коллеги сайт открывается, а у вас нет, дело в вашем устройстве, сети или кэше DNS провайдера.
Если по всем признакам сайт лежит, а вы его владелец, кэш чистить бессмысленно — нужно писать в поддержку хостинга. Чтобы не гадать, есть ли проблема на стороне сервера, владельцы сайтов ставят автоматическую проверку доступности страницы: она регулярно запрашивает сайт и фиксирует код ответа. А проверка DNS-записей покажет, что домен указывает на правильный сервер и запись не изменилась без вашего ведома.
У сервиса мониторинга нет кэша браузера: каждый запрос он отправляет заново, как первый посетитель, и получает то, что сервер отдаёт прямо сейчас. Поэтому спор «у меня открывается, а у клиентов нет» решается объективно. Пруфен раз в 2 минуты открывает ваш сайт из 20 городов и пишет вам в Telegram, Макс или на почту, если он перестал открываться, — и отдельным сообщением, когда снова заработал.
- Кэш — временная копия данных, чтобы не скачивать их повторно.
- Кэш есть у браузера, DNS, CDN, сервера сайта и приложений — это разные кэши.
- Старая версия сайта видна, пока не истёк срок хранения копии.
- Очистка кэша не трогает пароли, закладки и историю.
- Вход на сайтах слетает только при удалении cookie, не кэша.
- Быстрая проверка: режим инкогнито или телефон через мобильный интернет.
- Ошибки 500–504 приходят с сервера — очистка кэша их не уберёт.
Частые вопросы
Как часто нужно чистить кэш браузера? По расписанию — не нужно. Браузер сам удаляет устаревшие копии и освобождает место, когда его не хватает. Чистить кэш имеет смысл по поводу: сайт показывает старую версию, страница выглядит сломанной, поддержка попросила проверить. Яндекс Браузер в справке называет ещё один повод — браузер долго запускается или медленно работает.
Чем кэш отличается от cookie? Кэш хранит файлы сайта — картинки, стили, скрипты, — чтобы быстрее их показывать. Cookie хранят сведения о вас для сайта: что вы вошли в аккаунт, какой город выбрали, что положили в корзину. Удаление кэша сайт не заметит, удаление cookie — заметит и попросит войти заново.
Что такое кэш в телефоне и почему он занимает гигабайты? Это тот же принцип, но для приложений: мессенджеры и соцсети сохраняют просмотренные фото и видео, чтобы не скачивать их заново. Со временем таких копий набираются гигабайты. Их можно удалить в настройках приложения или телефона — сами сообщения и фото в облаке от этого не исчезнут.
Можно ли сделать так, чтобы посетители сразу видели обновления сайта? Да, это задача разработчика: при каждом изменении файла менять его имя или добавлять версию в адрес (например, style.css?v=12). Браузер считает это новым файлом и скачивает его, а старые копии продолжают лежать без вреда. Так делают все крупные сайты, и именно поэтому просить посетителей чистить кэш не приходится.
Почему поддержка всегда начинает с «очистите кэш»? Потому что это самая дешёвая проверка: она занимает минуту, ничего не ломает и отсекает целый класс проблем со старыми копиями файлов. Если после очистки ошибка осталась, поддержка понимает, что дело не в вашем браузере, и переходит к проверке сервера.