ERR_CACHE_MISS: как исправить в Chrome, Edge и на Android

Ключевой вывод

ERR_CACHE_MISS означает, что Chrome понадобилась сохранённая копия страницы, а её не оказалось. Обычно вы вернулись кнопкой «Назад» на страницу, созданную формой (POST-запросом), и вместо повторной отправки формы Chrome показывает «Подтвердите повторную отправку формы». Обновите страницу и нажмите «Продолжить», только если повтор действия безопасен (поиск, а не оплата); иначе откройте страницу заново с сайта. В приложениях Android это обычно значит, что WebView не может использовать сеть. Владельцы сайтов предотвращают ошибку паттерном Post/Redirect/Get.

Проверьте сейчас

Руководство по исправлению ошибки ERR_CACHE_MISS в Chrome — экран ошибки кэша и пошаговые решения для пользователей и разработчиков
Руководство по исправлению ошибки ERR_CACHE_MISS в Chrome — экран ошибки кэша и пошаговые решения для пользователей и разработчиков
Начать чтение
  1. Что такое ERR_CACHE_MISS?
  2. Как выглядит ERR_CACHE_MISS
  3. Причины возникновения ERR_CACHE_MISS
  4. ERR_CACHE_MISS и «Подтвердите повторную отправку формы»: в чём разница
  5. Как исправить ERR_CACHE_MISS (для пользователей)
  6. Способ 1: обновить страницу и отправить форму снова, только если это безопасно
  7. Способ 2: очистить кэш (только если ошибка повторяется)
  8. Способ 3: проверить в режиме инкогнито
  9. Способ 4: отключить расширения браузера
  10. Способ 5: обновить Chrome (и Android System WebView)
  11. Как исправить ERR_CACHE_MISS (для разработчиков)
  12. Паттерн Post/Redirect/Get (PRG)
  13. Проверьте заголовки Cache-Control
  14. Исправление конфликтов кэширования WordPress
  15. ERR_CACHE_MISS на Android (приложения и WebView)
  16. ERR_CACHE_MISS в других браузерах
  17. Связанные ошибки кэша Chrome
  18. Часто задаваемые вопросы

Что такое ERR_CACHE_MISS?

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

Ошибка не покидает браузер и не является кодом состояния HTTP. В списке ошибок Chromium она определена как ошибка -400: «The cache does not have the requested entry» (в кэше нет запрошенной записи) (net_error_list.h). Chrome хранит копии результатов форм, чтобы кнопка «Назад» могла показать их снова; если копии нет, восстановить страницу можно только повторной отправкой формы, и это решение Chrome оставляет вам.

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

Отправляет ли страница no-store? Проверьте её заголовки

Как выглядит ERR_CACHE_MISS

Chrome и Edge показывают одну из двух страниц, а под сообщением написано ERR_CACHE_MISS:

  • Подтвердите повторную отправку формы — после «Назад» или «Вперёд» на страницу, созданную формой: «Для корректного отображения веб-страницы требуются введенные ранее данные. Их можно отправить повторно, но в этом случае все действия на странице будут выполнены снова». Ниже: «Чтобы повторно ввести данные, необходимые для загрузки страницы, нажмите "Обновить"».
  • Не удалось загрузить сайт из кеша — с текстом «Невозможно прочитать копию сайта, сохраненную в кеше» и кнопкой Перезагрузить: страницы, которую Chrome мог взять только из кэша, там не оказалось
  • Диалог повторной отправки — когда вы обновляете первую страницу: «На странице, которую вы ищете, использовалась введенная вами информация. При возврате на эту страницу может потребоваться повторить выполненные ранее действия. Продолжить?» с кнопкой Продолжить
  • net::ERR_CACHE_MISS — та же ошибка в консоли DevTools или в журнале WebView приложения Android

Причины возникновения ERR_CACHE_MISS

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

  • Переход «Назад» или «Вперёд» к результату формы — Chrome сохраняет страницу, которую вернула форма (POST-запрос), чтобы «Назад» мог показать её снова. Если копия исчезла, Chrome пришлось бы повторно отправить форму, поэтому он останавливается и спрашивает.
  • Страница запретила себя сохранять — страница результата с заголовком Cache-Control: no-store никогда не сохраняется, поэтому «Назад» к ней всегда приводит на страницу подтверждения повторной отправки.
  • Очищенный или урезанный кэш — удаление данных браузера или очистка кэша самим Chrome ради экономии места удаляют сохранённую копию страницы результата.
  • Загрузка только из кэша — WebView на Android без доступа к сети, офлайн-режим приложения или скрипт, запрашивающий только кэшированную копию, завершаются ошибкой ERR_CACHE_MISS, если ничего не сохранено.
  • Повреждённый кэш — по заметкам самого Chromium, нечитаемый кэш обычно появляется после некорректного завершения работы. Тогда показывается страница «Не удалось загрузить сайт из кеша», часто с ошибкой ERR_CACHE_READ_FAILURE.
  • Расширение, которое меняет запросы — изредка расширение, блокирующее или изменяющее запросы, мешает странице нормально загрузиться. Окно в режиме инкогнито позволяет исключить эту причину.

ERR_CACHE_MISS и «Подтвердите повторную отправку формы»: в чём разница

Они связаны, но появляются в разные моменты. Обновление страницы, созданной формой, сразу открывает диалог «Подтвердите повторную отправку формы». Если позже вернуться на эту страницу кнопками «Назад» или «Вперёд», а копии у Chrome уже нет, откроется страница «Подтвердите повторную отправку формы» с кодом ERR_CACHE_MISS; обновление этой страницы открывает тот же диалог. Продолжить отправляет форму снова, Отмена оставляет всё как есть.

Chrome не решает за вас, потому что отправка формы (POST) не является «безопасным» запросом в терминах HTTP: повторная отправка может повторить то, что запрос сделал.

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

Как исправить ERR_CACHE_MISS (для пользователей)

Пробуйте способы по порядку. Первый решает обычный случай: страницу формы, на которую вы вернулись кнопкой «Назад». Если не открывается весь сайт, проверьте, не упал ли он для всех, с помощью инструмента Проверка доступности сайта.

Способ 1: обновить страницу и отправить форму снова, только если это безопасно

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

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

bash
# Windows / Linux
Ctrl + Shift + R

# Mac
Cmd + Shift + R

# Windows / Linux alternative
Ctrl + F5  (or Shift + F5)

При открытых DevTools (F12) можно также нажать правой кнопкой на кнопку обновления и выбрать Очистка кеша и жесткая перезагрузка.

Способ 2: очистить кэш (только если ошибка повторяется)

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

  • Шаг 1: Нажмите Ctrl+Shift+Delete (Mac: Cmd+Shift+Delete), чтобы открыть окно Удалить данные о работе в браузере
  • Шаг 2: Выберите временной диапазон Все время
  • Шаг 3: Отметьте Кешированные файлы и изображения (файлы cookie — по желанию, см. ниже)
  • Шаг 4: Нажмите Удалить данные и перезапустите Chrome

Способ 3: проверить в режиме инкогнито

Окно в режиме инкогнито открывается с пустым кэшем и без ваших расширений (если вы не разрешили их там). Откройте его сочетанием Ctrl+Shift+N (Windows, Linux) или Cmd+Shift+N (Mac) и загрузите ту же страницу с сайта, а не кнопкой «Назад».

Если в режиме инкогнито страница работает, а в обычном окне нет, дело в расширении или в кэше: попробуйте способы 2 и 4.

Способ 4: отключить расширения браузера

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

Откройте chrome://extensions/, отключите все расширения и снова загрузите страницу. Если ошибка исчезла, включайте их по одному, чтобы найти виновника.

Способ 5: обновить Chrome (и Android System WebView)

Откройте chrome://settings/help, чтобы установить доступное обновление; Chrome применит его после перезапуска. На Android обновите в Google Play и Chrome, и Android System WebView: приложения, которые показывают веб-страницы, используют WebView.

Если ошибка появилась сразу после обновления и возникает на страницах без форм, проверьте в трекере ошибок Chromium, нет ли известной проблемы с вашей версией.

Как исправить ERR_CACHE_MISS (для разработчиков)

Если посетители видят ERR_CACHE_MISS на вашем сайте, они почти наверняка возвращаются кнопкой «Назад» на страницу, которую сервер отрисовал прямо в ответ на POST формы. Исправлять нужно на сервере: Post/Redirect/Get.

Паттерн Post/Redirect/Get (PRG)

Паттерн Post/Redirect/Get (PRG) — окончательное решение проблемы ERR_CACHE_MISS. Идея проста: обработав отправку формы методом POST, ответьте HTTP-перенаправлением (302 или 303) на страницу подтверждения, открываемую через GET, вместо того чтобы сразу отрисовывать ответ.

Без PRG история браузера заканчивается POST-запросом. Если пользователь обновляет страницу, Chrome предлагает отправить форму снова; если он возвращается к ней кнопками «Назад» или «Вперёд», а копии уже нет, Chrome показывает ERR_CACHE_MISS. С PRG история заканчивается безопасным GET-запросом, который можно обновлять и на который можно возвращаться без всяких проблем.

bash
# Without PRG (causes ERR_CACHE_MISS):
POST /checkout → 200 OK (render confirmation page)
# User reloads → "Confirm Form Resubmission" dialog
# User comes back with Back/Forward, copy gone → ERR_CACHE_MISS

# 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)

Для перенаправления используйте 303 See Other (предпочтительно) или 302 Found. RFC 9110 говорит, что 303 «в основном используется, чтобы результат действия POST перенаправил пользовательский агент на другой ресурс», а это ровно то, что нужно. Проверка редиректов от DNS Robot покажет, какой код состояния на самом деле возвращает обработчик вашей формы.

Проверьте заголовки Cache-Control

Посмотрите, что отправляет страница результата вашей формы, в Chrome DevTools (F12 → Сеть → нужный запрос → Заголовки) или снаружи с помощью инструмента Проверка HTTP-заголовков от DNS Robot.

На странице, созданной формой, Cache-Control: no-store не даёт Chrome сохранить копию, нужную для «Назад», поэтому каждый возврат приводит на страницу повторной отправки. Оставьте no-store на страницах с личными или платёжными данными и используйте PRG, чтобы результат в любом случае был обычной GET-страницей.

На странице результата формыЧто сохраняетсяЧто показывает «Назад»
Cache-Control: no-storeНичегоПодтвердите повторную отправку формы (ERR_CACHE_MISS)
no-cache или max-age=…Копия, хранимая для историиСохранённую копию
PRG: 303 на GET-страницуОбычная GET-страницаСаму страницу; обновлять безопасно

Исправление конфликтов кэширования WordPress

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

Если вы используете WooCommerce, убедитесь, что плагин кэширования исключает динамические страницы: корзину, оформление заказа и «Мой аккаунт» никогда нельзя кэшировать. В WP Super Cache, W3 Total Cache и LiteSpeed Cache для этого есть настройки.

  • Очистите все кэши — одновременно сбросьте кэш плагина, кэш хостинга (если есть) и кэш CDN
  • Отключите конфликтующие плагины — никогда не используйте два плагина полностраничного кэширования одновременно
  • Исключите динамические страницы — корзина, оформление заказа и страница входа должны быть исключены из кэша
  • Проверьте серверный кэш — ваш хостинг-провайдер может добавлять собственный кэш-слой (Varnish, LiteSpeed и т.д.), конфликтующий с вашим плагином

ERR_CACHE_MISS на Android (приложения и WebView)

Если ошибка появляется внутри приложения (во встроенном браузере, на экране входа или оплаты), обновите Chrome и Android System WebView в Google Play, а затем очистите кэш приложения: Настройки → Приложения → нужное приложение → Хранилище и кеш (на некоторых телефонах — «Хранилище») → Очистить кеш. Если ошибка не исчезает, исправлять нужно само приложение: сообщите о ней его разработчику.

Если вы разрабатываете приложение: WebView нужно разрешение INTERNET. Без него Android по умолчанию блокирует сетевые загрузки WebView (setBlockNetworkLoads по умолчанию равно true), поэтому страницы могут браться только из кэша и завершаются ошибкой net::ERR_CACHE_MISS.

xml
<!-- AndroidManifest.xml, inside <manifest> -->
<uses-permission android:name="android.permission.INTERNET" />

Затем проверьте режим кэша: LOAD_CACHE_ONLY («Don't use the network, load from the cache», то есть не использовать сеть и загружать из кэша; его часто включают для офлайн-режима) завершается ошибкой ERR_CACHE_MISS для всего, чего ещё нет в кэше, поэтому используйте LOAD_DEFAULT. В приложениях на Flutter и React Native разрешение тоже указывается в AndroidManifest.xml Android-проекта.

ERR_CACHE_MISS в других браузерах

ERR_CACHE_MISS — код Chromium, поэтому Chrome, Edge, Brave, Opera и Vivaldi показывают одни и те же страницы. Другие браузеры останавливаются в той же ситуации, но своими словами.

БраузерЧто показываетПримечания
Chrome / Edge / Brave / OperaПодтвердите повторную отправку формы или Не удалось загрузить сайт из кешаТе же страницы и код Chromium (ERR_CACHE_MISS)
FirefoxДокумент просрочен«Запрошенный документ недоступен в кеше Firefox»
SafariДиалог перед повторной отправкой формыСпрашивает, отправить ли форму снова

Страница Firefox называется «Документ просрочен» (в английской версии «Document Expired»): «Запрошенный документ недоступен в кеше Firefox. В целях безопасности Firefox не производит автоматический повторный запрос важных документов. Нажмите „Попробовать снова“, чтобы повторно запросить документ с веб-сайта». Решение то же: обновляйте страницу, только если повторная отправка безопасна, или используйте PRG на сервере.

Ошибки кэша Chrome начинаются с префикса ERR_CACHE_. До страницы ошибки доходят лишь некоторые; большинство (например, -408, несовпадение контрольной суммы) остаются внутри кэша.

Код ошибкиОпределение ChromiumЧастая причина
ERR_CACHE_MISS (-400)The cache does not have the requested entry (в кэше нет запрошенной записи)«Назад» к результату формы; загрузка только из кэша
ERR_CACHE_READ_FAILURE (-401)Unable to read from the disk cache (не удаётся прочитать дисковый кэш)Кэш, повреждённый сбоем или некорректным завершением работы
ERR_CACHE_WRITE_FAILURE (-402)Unable to write to the disk cache (не удаётся записать в дисковый кэш)Заполненный диск или проблема с правами доступа

ERR_CACHE_READ_FAILURE показывает ту же страницу «Не удалось загрузить сайт из кеша», и там помогает очистка кэша (способ 2). При ERR_CACHE_MISS начните со способов для форм, описанных выше. Другая ошибка Chrome? Смотрите ERR_CONNECTION_REFUSED или ERR_NAME_NOT_RESOLVED.

Проверьте ваши HTTP-заголовки

Используйте бесплатный инструмент проверки HTTP-заголовков DNS Robot, чтобы проанализировать заголовки Cache-Control вашего сервера и другие директивы ответа, влияющие на кэширование в браузере.

Источники

  1. net_error_list.h (CACHE_MISS -400), Chromium
  2. localized_error.cc (the error pages for ERR_CACHE_MISS), Chromium
  3. RFC 9110 §15.4.4: 303 See Other, IETF
  4. WebSettings (setBlockNetworkLoads, LOAD_CACHE_ONLY), Android Developers

Часто задаваемые вопросы

Что означает ERR_CACHE_MISS?

Chrome понадобилась сохранённая копия страницы, а её не было. Обычно вы вернулись кнопкой «Назад» на страницу, созданную формой, а Chrome не отправляет форму повторно, не спросив вас. Chromium определяет её как ошибку -400, «The cache does not have the requested entry»; это не ошибка HTTP и не ошибка сервера.

Как исправить ERR_CACHE_MISS в Chrome?

Обновите страницу и нажмите «Продолжить», только если повторная отправка формы безвредна, как при поиске. В остальных случаях откройте страницу заново через меню сайта или адресную строку, а не кнопкой «Назад». Если постоянно не загружаются и обычные страницы, удалите в Chrome «Кешированные файлы и изображения».

Что означает «Подтвердите повторную отправку формы»? Нажимать ли «Продолжить»?

Страница, на которую вы возвращаетесь, была создана формой, и чтобы показать её снова, форму нужно отправить ещё раз. Для поиска и фильтров нажимайте «Продолжить». Для оплаты, заказа, бронирования или публикации нажмите «Отмена» и сначала проверьте историю заказов или почту.

Почему ERR_CACHE_MISS появляется при нажатии «Назад»?

Chrome хранит копию страниц с результатами форм, чтобы «Назад» мог их показать. Если страница запретила себя сохранять (Cache-Control: no-store) или копия была удалена, вернуться можно только повторной отправкой формы, поэтому Chrome останавливается и спрашивает.

Является ли ERR_CACHE_MISS вирусом или проблемой безопасности?

Нет. Это Chrome отказывается сам повторять отправку формы, что защищает вас от двойных платежей и повторных заказов. С вашим компьютером и сайтом всё в порядке.

Как исправить ERR_CACHE_MISS на Android?

Обновите Chrome и Android System WebView в Google Play, затем очистите кэш приложения, в котором появляется ошибка (Настройки → Приложения → нужное приложение → Хранилище и кеш → Очистить кеш). Если ошибка постоянно возникает в одном приложении, исправить её должен его разработчик.

Что вызывает net::ERR_CACHE_MISS в Android WebView?

Обычно отсутствие разрешения INTERNET: без него Android по умолчанию блокирует сетевые загрузки WebView, и страницы могут браться только из кэша. Добавьте разрешение в AndroidManifest.xml и не используйте режим кэша LOAD_CACHE_ONLY, если страница ещё не закэширована.

Почему я вижу net::ERR_CACHE_MISS в Chrome DevTools?

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

Как разработчикам предотвратить ERR_CACHE_MISS?

Используйте Post/Redirect/Get: обработав POST формы, ответьте перенаправлением 303 на GET-страницу с результатом. Тогда последней записью в истории будет обычная страница, которую «Назад» и обновление загрузят без повторной отправки данных.

Бывает ли ERR_CACHE_MISS в Edge и других браузерах?

Edge, Brave и Opera работают на Chromium, поэтому показывают те же страницы и код. Firefox показывает «Документ просрочен» (Document Expired), а Safari спрашивает в диалоговом окне, отправить ли форму снова. Причина и способы исправления те же.

Об авторе

Shaik Vahid

Основатель DNS Robot. Вахид много лет работал в поддержке веб-хостинга: исправлял клиентам домены, DNS-записи, SSL-сертификаты и доставку почты. Он создаёт инструменты DNS Robot и пишет эти руководства по ошибкам, с которыми люди сталкиваются на самом деле.

Проверка HTTP-заголовков

Анализ HTTP заголовков ответа и оценка заголовков безопасности