ERR_CACHE_MISS: что означает и как исправить (Chrome)

Что такое ERR_CACHE_MISS?
ERR_CACHE_MISS -- это внутренний код ошибки Chromium (error -400), означающий, что браузер попытался загрузить страницу из локального кэша, но соответствующая запись отсутствует. Это не HTTP-код состояния -- ошибка не покидает пределов вашего браузера. В исходном коде Chromium (net_error_list.h) она определена как: «The cache does not have the requested entry» (В кэше нет запрошенной записи).
Обычно это происходит, когда вы отправляете форму (POST-запрос), переходите на другую страницу, а затем нажимаете кнопку «Назад» или «Обновить». Ответы на POST-запросы по умолчанию не кэшируются согласно спецификации HTTP (RFC 9111), поэтому Chrome нечего отображать при попытке вернуться на эту страницу.
ERR_CACHE_MISS -- не угроза безопасности и не указывает на проблему с сервером сайта. Это механизм защиты на стороне браузера, который предотвращает случайную повторную отправку формы, способную привести к двойной оплате, дублированию заказов или созданию повторных записей в базе данных.
Как выглядит ERR_CACHE_MISS
Chrome отображает эту ошибку как полноэкранное сообщение с текстом «This site can't be reached» или «Confirm Form Resubmission». Конкретное сообщение зависит от контекста. Вот наиболее распространённые варианты.
ERR_CACHE_MISS -- стандартная страница ошибки, отображаемая в адресной строке
net::ERR_CACHE_MISS -- полный код ошибки в консоли DevTools
Confirm Form Resubmission -- диалоговое окно Chrome перед повторной отправкой данных POST
This webpage requires data that you entered earlier -- подробный текст внутри диалога повторной отправки
err_cache_miss -- вариант в нижнем регистре, который часто ищут пользователи
Причины возникновения ERR_CACHE_MISS
У этой ошибки есть как клиентские, так и серверные причины. Понимание того, какая из них относится к вашей ситуации, определяет правильный способ исправления.
Отправка формы + «Назад»/«Обновить» -- причина №1. Вы отправляете форму (POST-запрос), затем нажимаете «Назад» или «Обновить». Chrome не может получить ответ POST из кэша, поскольку ответы на POST-запросы по умолчанию не кэшируются.
Агрессивные заголовки Cache-Control -- сервер отправляет
Cache-Control: no-store, запрещая Chrome кэшировать ответ. При возврате назад загружать нечего.Повреждённый кэш браузера -- локальные файлы кэша повредились, часто после сбоя, принудительного выключения или ошибки диска.
Расширения браузера -- блокировщики рекламы, расширения для приватности и VPN-расширения перехватывают сетевые запросы и могут нарушить работу кэша. Это удивительно частая причина.
Устаревшая версия Chrome -- в старых версиях могут быть ошибки обработки кэша, исправленные в новых релизах.
Антивирус или защитное ПО -- некоторые программы с функциями «веб-защиты» или «сканирования HTTPS» перехватывают трафик между Chrome и сервером, нарушая поведение кэша.
Несколько вкладок с одной формой -- открытие одной и той же страницы оформления заказа или формы в нескольких вкладках может вызвать конфликты кэша.
Смена VPN или прокси в ходе сессии -- переключение VPN-сервера или подключение к другой сети делает записи кэша от предыдущего соединения недействительными.
ERR_CACHE_MISS и Confirm Form Resubmission
Эти два сообщения связаны между собой, но появляются в разных ситуациях. Диалог «Confirm Form Resubmission» возникает, когда Chrome потенциально может повторно отправить POST-данные -- он запрашивает ваше разрешение. ERR_CACHE_MISS появляется, когда Chrome вообще не может получить кэшированную страницу и повторная отправка невозможна.
Типичная последовательность: вы отправляете форму (POST) → Chrome отображает ответ → вы нажимаете «Назад» или «Обновить» → Chrome показывает либо диалог повторной отправки, ЛИБО ERR_CACHE_MISS, в зависимости от заголовков кэша сервера и доступности данных формы.
Зачем браузеры это делают? Потому что POST-запросы являются «небезопасными» методами согласно спецификации HTTP. Автоматическая повторная отправка POST-данных без согласия пользователя может привести к реальным проблемам -- двойным списаниям с кредитной карты, дублированию заказов или появлению дублей в базе данных. Браузер вас защищает.
Как исправить ERR_CACHE_MISS (для пользователей)
Если вы столкнулись с этой ошибкой при просмотре сайтов, она почти всегда исправляется средствами браузера. Начните с самого простого способа и двигайтесь по списку.
Способ 1: Жёсткое обновление страницы
Жёсткое обновление (hard refresh) обходит кэш браузера и загружает полностью свежую копию страницы с сервера. Это самый быстрый способ, который устраняет ошибку в большинстве случаев.
# Windows / Linux
Ctrl + Shift + R
# Mac
Cmd + Shift + R
# Alternative (all platforms)
Ctrl + F5Если обычное жёсткое обновление не помогает, попробуйте щёлкнуть правой кнопкой мыши по кнопке перезагрузки (при открытых DevTools) и выбрать «Empty Cache and Hard Reload» для максимально полного сброса.
Способ 2: Очистить кэш браузера
Если жёсткое обновление не помогло, полностью очистите кэшированные данные Chrome. Это удалит все повреждённые записи кэша и заставит Chrome начать с чистого листа.
Шаг 1: Откройте настройки Chrome (три точки → Настройки) или введите
chrome://settings/clearBrowserDataв адресную строкуШаг 2: Перейдите на вкладку Дополнительные
Шаг 3: Установите временной диапазон За всё время
Шаг 4: Отметьте Изображения и другие файлы, сохранённые в кэше и Файлы cookie и другие данные сайтов
Шаг 5: Нажмите Удалить данные
Способ 3: Проверить в режиме инкогнито
Режим инкогнито запускает Chrome с чистого листа -- без расширений, без кэшированных данных, без cookies. Если страница загружается в инкогнито, но не в обычном режиме, проблема вызвана расширением браузера или повреждённым кэшем.
Откройте окно инкогнито сочетанием Ctrl+Shift+N (Windows/Linux) или Cmd+Shift+N (Mac) и перейдите на ту же страницу. Если она загружается, виновато одно из ваших расширений.
Способ 4: Отключить расширения браузера
Расширения, изменяющие загрузку страниц, блокирующие запросы или перехватывающие сетевой трафик -- частая причина ERR_CACHE_MISS. Блокировщики рекламы, расширения для приватности и VPN-расширения -- главные подозреваемые.
Перейдите в chrome://extensions/, отключите все расширения, затем перезагрузите страницу. Если ошибка пропала, включайте расширения по одному, чтобы найти причину.
Способ 5: Обновить Chrome
В старых версиях Chrome могут быть ошибки обработки кэша. Перейдите в chrome://settings/help, чтобы проверить наличие обновлений. Chrome обычно обновляется автоматически, но обновление вступает в силу только после перезапуска.
Если ошибка появилась после обновления Chrome, это может быть новый баг. Проверьте трекер ошибок Chromium на наличие известных проблем с вашей версией.
Способ 6: Очистить DNS-кэш
Очистка DNS-кэша удаляет устаревшие DNS-записи, которые могут вызывать проблемы с подключением. Это помогает устранить ERR_CACHE_MISS, когда ошибка связана с сетевым кэшированием, а не с кэшем браузера.
# Windows (Command Prompt as Admin)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
# Linux
sudo systemd-resolve --flush-caches
# Chrome internal DNS cache
# Visit chrome://net-internals/#dns → Click "Clear host cache"Вы можете проверить конфигурацию DNS с помощью инструмента DNS Lookup от DNS Robot, чтобы убедиться, что ваш домен резолвится корректно.
Способ 7: Сбросить сетевые настройки
Если ничего из вышеперечисленного не помогает, сброс сетевого стека может исправить глубокие проблемы с подключением, вызывающие ошибки кэша.
# Windows (Command Prompt as Admin)
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
# Then restart your computerКак исправить ERR_CACHE_MISS (для разработчиков)
Если пользователи сообщают об ошибках ERR_CACHE_MISS на вашем сайте, исправление должно быть на стороне сервера. Самое важное -- реализовать паттерн Post/Redirect/Get.
Паттерн Post/Redirect/Get (PRG)
Паттерн Post/Redirect/Get (PRG) -- это окончательное решение проблемы ERR_CACHE_MISS. Он является лучшей практикой веб-разработки с 2003 года. Концепция проста: после обработки POST-отправки формы ответьте HTTP-перенаправлением (302 или 303) на GET-страницу подтверждения, вместо того чтобы отображать ответ напрямую.
Без PRG последняя запись в истории браузера -- POST-запрос. Когда пользователь нажимает «Назад» или «Обновить», Chrome вынужден повторно отправить POST-данные (или показать ERR_CACHE_MISS). С PRG последняя запись в истории -- безопасный GET-запрос, который можно обновить или вернуться к нему без каких-либо проблем.
# Without PRG (causes ERR_CACHE_MISS):
POST /checkout → 200 OK (render confirmation page)
# User refreshes → ERR_CACHE_MISS or "Confirm Form Resubmission"
# With PRG (no cache issues):
POST /checkout → 303 See Other → Location: /order/12345
GET /order/12345 → 200 OK (render confirmation page)
# User refreshes → Normal page reload (safe GET request)Используйте HTTP 303 See Other (предпочтительно) или 302 Found для перенаправления. Код 303 явно преобразует POST в GET согласно спецификации HTTP -- именно такое поведение вам нужно.
Проверьте заголовки Cache-Control
Чрезмерно строгие заголовки Cache-Control вызывают ненужные ошибки ERR_CACHE_MISS. Используйте Chrome DevTools (F12 → вкладка Network) для проверки заголовков ответа ваших страниц.
Заголовок Cache-Control: no-store запрещает Chrome кэшировать ответ -- это самый строгий вариант. Если ваша страница не содержит конфиденциальных данных (например, финансовых транзакций), используйте no-cache, который разрешает кэширование, но требует ревалидации.
Вы можете проверить HTTP-заголовки вашего сервера с помощью инструмента проверки HTTP-заголовков DNS Robot, чтобы увидеть, какие именно директивы Cache-Control отправляет ваш сервер.
| Директива | Поведение кэша | Риск ERR_CACHE_MISS |
|---|---|---|
| no-store | Никогда не сохранять ответ в кэше | Высокий -- кнопка «Назад» всегда даёт сбой |
| no-cache | Кэшировать, но ревалидировать перед использованием | Низкий -- Chrome отдаёт из кэша при нажатии «Назад» |
| max-age=3600 | Кэшировать 1 час без ревалидации | Отсутствует -- страница загружается из кэша |
| private, max-age=0 | Кэшировать, но всегда ревалидировать | Низкий -- аналогично no-cache |
Исправление конфликтов кэширования WordPress
Сайты WordPress с плагинами кэширования особенно подвержены ошибкам ERR_CACHE_MISS. Конфликтующие правила кэширования между плагинами, кэш-слоем хостинг-провайдера и CDN могут создавать несогласованное поведение кэша.
Если вы используете WooCommerce, убедитесь, что ваш плагин кэширования исключает динамические страницы -- корзина, оформление заказа и личный кабинет никогда не должны кэшироваться. Большинство популярных плагинов (WP Super Cache, W3 Total Cache, LiteSpeed Cache) имеют специальные настройки для WooCommerce.
Очистите все кэши -- одновременно сбросьте кэш плагина, кэш хостинга (если есть) и кэш CDN
Отключите конфликтующие плагины -- никогда не используйте два плагина полностраничного кэширования одновременно
Исключите динамические страницы -- корзина, оформление заказа и страница входа должны быть исключены из кэша
Проверьте серверный кэш -- ваш хостинг-провайдер может добавлять собственный кэш-слой (Varnish, LiteSpeed и т.д.), конфликтующий с вашим плагином
ERR_CACHE_MISS на Android (WebView)
Android-разработчики часто сталкиваются с net::ERR_CACHE_MISS при использовании WebView для загрузки веб-страниц внутри приложений. Это распространённая проблема в проектах на Android, Flutter и React Native.
Самая частая причина -- отсутствие разрешения INTERNET в AndroidManifest.xml. Без него WebView не может выполнять сетевые запросы и обращается к кэшу, которого при первой загрузке не существует.
<!-- AndroidManifest.xml — Add this permission -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />Если разрешение уже добавлено, попробуйте установить режим кэша WebView в LOAD_DEFAULT или LOAD_NO_CACHE, чтобы обойти устаревшие записи кэша. Для Flutter-приложений убедитесь, что плагин webview_flutter обновлён до последней версии.
ERR_CACHE_MISS в других браузерах
ERR_CACHE_MISS -- это код ошибки, специфичный для Chromium. Все браузеры на базе Chromium (Chrome, Edge, Brave, Opera, Vivaldi, Arc) показывают одну и ту же ошибку. Другие движки браузеров отображают иные сообщения для той же проблемы.
| Браузер | Сообщение об ошибке | Примечания |
|---|---|---|
| Chrome / Edge / Brave / Opera | ERR_CACHE_MISS | На базе Chromium -- идентичная ошибка |
| Firefox | Document Expired | Показывает: «This document is no longer available» |
| Safari | Диалог повторной отправки формы | Показывает: «Are you sure you want to send a form again?» |
Сообщение «Document Expired» в Firefox -- наиболее известный аналог. Оно появляется с текстом: «This document is no longer available. The requested page contains data from a form submission (POSTDATA). This data is no longer available.» Способ исправления тот же -- очистить кэш или использовать паттерн PRG на стороне сервера.
Связанные ошибки кэша Chrome
Chrome имеет несколько кодов ошибок, связанных с кэшем. Все они начинаются с ERR_CACHE_, но указывают на разные проблемы.
| Код ошибки | Значение | Типичная причина |
|---|---|---|
| ERR_CACHE_MISS (-400) | Запись в кэше отсутствует | POST + «Назад»/«Обновить», заголовок no-store |
| ERR_CACHE_READ_FAILURE (-401) | Невозможно прочитать из дискового кэша | Повреждённые файлы кэша, ошибка диска |
| ERR_CACHE_WRITE_FAILURE (-402) | Невозможно записать в дисковый кэш | Заполненный диск, проблема с правами доступа |
| ERR_CACHE_OPERATION_NOT_SUPPORTED (-403) | Операция не поддерживается для данной записи | Неподдерживаемый тип содержимого в кэше |
| ERR_CACHE_CHECKSUM_MISMATCH (-408) | Данные кэша не прошли проверку целостности | Повреждённый кэш, прерванная запись |
Для всех этих ошибок очистка кэша браузера (Способ 2 выше) -- универсальное решение со стороны пользователя. Если ошибка сохраняется после очистки кэша, проблема либо в расширении, либо в серверной конфигурации.
Проверьте ваши HTTP-заголовки
Используйте бесплатный инструмент проверки HTTP-заголовков DNS Robot, чтобы проанализировать заголовки Cache-Control вашего сервера и другие директивы ответа, влияющие на кэширование в браузере.
Try Проверка HTTP-заголовковFrequently Asked Questions
ERR_CACHE_MISS означает, что Chrome попытался загрузить кэшированную версию страницы, но запись в кэше отсутствует. Это ошибка на стороне браузера (не ошибка сервера), которая чаще всего появляется после отправки формы и нажатия кнопки «Назад» или «Обновить».