ERR_FAILED — общая ошибка браузеров на Chromium: Chrome, Яндекс Браузера, Edge, Opera. Браузер сообщает, что страница или файл не загрузились, но причину не называет. На экране обычно серая страница «Не удается получить доступ к сайту», а в консоли разработчика — строка «Failed to load resource: net::ERR_FAILED».
Мы проверили на стенде Chromium 149, в каких ситуациях появляется ERR_FAILED и что действительно помогает. И обошли 2056 сайтов, чтобы посмотреть, у скольких из них есть service worker — одна из причин, о которой мало пишут.
Что означает ошибка ERR_FAILED
В исходном коде Chromium, в списке сетевых ошибок net_error_list.h, у неё
номер −2 и комментарий:
// A generic failure occurred. NET_ERROR(FAILED, -2)
Номера до −99 в этом файле относятся к системным ошибкам, от −100 до −199 — к ошибкам соединения. ERR_FAILED стоит в самом начале списка: это не конкретная проблема сети, а «что-то пошло не так», когда точнее назвать причину браузер не может. В справке Google Chrome по кодам ошибок ERR_FAILED отдельно не описан.
Чем ERR_FAILED отличается от похожих ошибок
| Ошибка | Код | Что случилось |
|---|---|---|
| ERR_FAILED | −2 | общий сбой, причина не уточняется |
| ERR_CONNECTION_FAILED | −104 | не удалось установить соединение с сервером |
| ERR_PROXY_CONNECTION_FAILED | — | нет связи с прокси-сервером |
| ERR_TUNNEL_CONNECTION_FAILED | — | прокси не смог открыть туннель для HTTPS |
| ERR_CONNECTION_RESET | — | соединение сброшено |
| ERR_UNKNOWN_URL_SCHEME | −302 | неизвестная схема адреса: tel:, whatsapp://, опечатка htps:// |
Если у вас ошибка с более точным кодом, начинайте с него: он прямо указывает на причину.
Стенд: когда появляется ERR_FAILED
Service worker отвечает ошибкой
Service worker — скрипт сайта, который браузер сохраняет и запускает при каждом заходе. Он может перехватывать запросы и отвечать на них сам, например показывать сохранённую страницу без интернета. Если такой скрипт ломается, ошибку видит посетитель, хотя сервер работает.
Мы зарегистрировали на стенде service worker в трёх вариантах сбоя: он
возвращает ошибку (Response.error()), его ответ завершается отказом и он
пытается загрузить страницу с недоступного адреса. Результат одинаковый:
| Действие посетителя | Результат |
|---|---|
| Переход на страницу сайта | ERR_FAILED |
| Обновить, F5 | ERR_FAILED |
| Ctrl+Shift+R, обновить без кэша | страница открылась |
| Следующий обычный переход | снова ERR_FAILED |
| Удалить данные сайта | страница открылась и дальше работает |
Сервер при этом отвечал нормально — до него запрос просто не доходил. Спецификация Service Workers это поведение описывает: если ответ скрипта завершается отказом, «a network error is returned to Fetch», то есть браузер получает сетевую ошибку.
Важное наблюдение: Ctrl+Shift+R помогает только на один раз. Скрипт остаётся в браузере, и при следующем переходе ошибка возвращается. Убрать её насовсем помогает очистка данных сайта или исправление скрипта на стороне сайта.
CORS: ошибка в консоли разработчика
Вторая частая ситуация — ERR_FAILED в консоли, а не на экране. Мы запросили из страницы данные с другого адреса:
| Запрос | Что в консоли |
|---|---|
| Сервер не прислал заголовок Access-Control-Allow-Origin | «blocked by CORS policy» и «Failed to load resource: net::ERR_FAILED» |
| Предварительный запрос OPTIONS получил 404 | то же, основной запрос не отправлен вовсе |
| Заголовок разрешения есть | ответ получен |
Интересная деталь: в первом случае сервер получил запрос и ответил 200 — в журнале сервера он есть. Заблокировал ответ браузер, а скрипт страницы получил только «TypeError: Failed to fetch». Поэтому ошибка выглядит как сбой сети, хотя сеть в порядке: не хватает заголовка на сервере.
Сколько сайтов используют service worker: обход
Мы запросили главные страницы 2056 сайтов и проверили стандартные адреса /sw.js и /service-worker.js, а также адреса, которые сайт регистрирует прямо в коде главной. Ответили 1459 сайтов.
Файл service worker нашёлся у 42 из них. У 13 скрипт перехватывает запросы и отвечает на них сам (обработчик fetch с respondWith) — именно такой скрипт при сбое даёт ERR_FAILED, как на нашем стенде. У остальных 29 скрипт запросы не перехватывает, и такой ошибки он не вызовет.
Доля небольшая — 13 из 1459, но для посетителей этих сайтов причина реальная: если скрипт перестал работать после обновления сайта, ERR_FAILED будет у всех, кто заходил раньше, и не будет у новых посетителей.
Почему возникает ERR_FAILED: частые причины
- Данные сайта в браузере. Сбойный service worker, повреждённые сохранённые данные — ошибка на одном сайте, в режиме инкогнито всё работает.
- Расширения. Блокировщики рекламы, VPN-расширения и программы для загрузки могут прерывать запросы.
- Прокси и VPN. Неправильный прокси в настройках системы или расширение, которое его задаёт.
- Антивирус и сетевые фильтры. Защитные программы, которые проверяют HTTPS-трафик, иногда обрывают загрузку.
- Политики браузера. На рабочем компьютере администратор может ограничить сайты или задать прокси политикой.
- Ошибки на стороне сайта. CORS, сбойный service worker после обновления, неправильные заголовки ответа.
Быстрая диагностика: с чего начать
Прежде чем менять настройки, выполните простые проверки — они решают вопрос чаще, чем кажется:
- Повторите попытку через пару минут. Иногда сбой временный: сайт перезапускается или сеть была нестабильна.
- Перезагрузите роутер. Выключите на 30 секунд и включите снова — это сбрасывает его состояние и подключение к провайдеру.
- Откройте сайт с телефона через мобильный интернет. Если там всё работает, проблема на вашем компьютере или в домашней сети.
- Вспомните, что изменилось недавно. Новое расширение, приложение для VPN, обновление антивируса — вероятный виновник.
Когда виноват сам сайт, а не ваше устройство
Ошибка не обязательно на вашей стороне. Признаки, что дело в самом ресурсе:
- ошибка у всех пользователей, на любом устройстве и в любой сети;
- ошибка появилась на одном сайте сразу после его обновления — например, сломался service worker, как на нашем стенде;
- другие сайты и сервисы открываются нормально.
Проверить доступность сайта можно через независимые сервисы проверки или попросив знакомого открыть его со своего ноутбука. Если сайт недоступен у всех, ничего менять у себя не нужно — остаётся подождать или написать владельцу.
Что не стоит делать сразу
- Не сбрасывайте все настройки браузера. Это удалит закладки, автоматически сохранённые пароли и данные для авторизации на многих сайтах, а причина может быть в одной записи.
- Не меняйте системные настройки сети наугад. Неверная конфигурация DNS или маршрута приведёт к новым ошибкам.
- Не скачивайте незнакомые программы-«оптимизаторы». Многие из них сами вмешиваются в сеть и ставят свой прокси.
- Не отключайте защиту насовсем. Антивирус и брандмауэр можно выключить на минуту для проверки, но не оставлять без защиты.
Как исправить ERR_FAILED: порядок действий
1. Сравните браузер, устройство и сеть
Откройте сайт в другом браузере, на другом устройстве и через другую сеть, например мобильный интернет. Так вы быстро поймёте, где искать: в браузере, в компьютере или в сети.
2. Откройте сайт в режиме инкогнито
Ctrl+Shift+N в Chrome. В режиме инкогнито нет сохранённых данных сайта и обычно не работают расширения. Если там страница открылась — причина в данных сайта или в расширениях.
3. Очистите данные проблемного сайта
Нажмите на значок слева от адреса → «Настройки сайтов» → «Удалить данные».
Или откройте chrome://settings/content/all, найдите сайт и удалите его
данные. Это убирает и service worker — на нашем стенде именно это вернуло
сайт насовсем. Для разовой проверки можно нажать Ctrl+Shift+R.
4. Проверьте расширения по одному
Откройте chrome://extensions, отключите все и включайте по одному,
каждый раз проверяя сайт. Так вы найдёте конкретное расширение, а не
будете удалять всё подряд.
5. Проверьте прокси и VPN
В Windows 10 и 11: «Параметры» → «Сеть и Интернет» → «Прокси». Отключите
«Использовать прокси-сервер», если вы его не настраивали. На macOS —
«Системные настройки» → «Сеть» → подключение → «Подробнее» → «Прокси». В
Chrome откройте chrome://policy: если прокси задан политикой, его меняет
администратор или программа, а не вы.
6. Проверьте антивирус и сетевые фильтры
Временно отключите проверку веб-трафика в антивирусе. Помогло — добавьте браузер или сайт в исключения, а защиту включите обратно.
7. Сбросьте сетевые настройки
Командная строка от имени администратора:
ipconfig /flushdns
netsh winsock reset
Затем перезагрузите компьютер. Это не первый шаг: если ошибка на одном сайте, сброс сети её обычно не исправит.
8. Проверьте компьютер на вирусы
Если ERR_FAILED появилась на многих сайтах одновременно, в системе сам
собой появился прокси, а на странице chrome://policy есть политики,
которые вы не ставили, — запустите проверку официальным антивирусом.
Такие симптомы — признак нежелательной программы, которая перенаправляет
трафик.
9. Создайте новый профиль браузера
Если ошибка остаётся в одном профиле, а в новом всё работает, перенесите закладки и работайте в новом. Переустановка браузера нужна редко.
Сравнение способов решения
| Способ | Когда помогает | Сложность |
|---|---|---|
| Ctrl+Shift+R | разово обойти service worker и кэш | просто |
| Режим инкогнито | определить, виноваты ли данные сайта или расширения | просто |
| Удаление данных сайта | ошибка на одном сайте, сбойный service worker | просто |
| Отключение расширений | ошибка на нескольких сайтах в одном браузере | средне |
| Проверка прокси и VPN | ошибка на всех сайтах, другой браузер тоже не работает | средне |
| Сброс сетевых настроек | нестабильная работа сети в целом | средне |
| Новый профиль браузера | ошибка только в одном профиле | сложнее |
ERR_FAILED в Яндекс Браузере
Яндекс Браузер построен на Chromium, поэтому код и причины те же. Данные
сайта удаляются через значок замка слева от адреса, расширения — на
странице browser://tune. Проверьте также встроенный VPN и блокировщики,
если они включены.
«Failed to load resource: net::ERR_FAILED» в консоли
Если вы разработчик и видите эту строку в консоли:
- Посмотрите соседние сообщения. «blocked by CORS policy» значит, что сервер не прислал заголовок Access-Control-Allow-Origin или не ответил на предварительный запрос OPTIONS.
- Откройте вкладку Network: у запроса будет статус «(failed)» или «CORS error».
- Проверьте, не перехватывает ли запрос service worker: вкладка Application → Service Workers. Флажок «Bypass for network» отключает его на время проверки.
Если вы владелец сайта
- Проверьте, что сайт открывается в чистом браузере и с другого устройства, — это исключит проблему на стороне посетителя.
- Если на сайте есть service worker, проверьте, что он корректно обрабатывает ошибки: при сбое лучше отдать запрос сети, чем вернуть ошибку. После обновления сайта старый скрипт у посетителей может остаться.
- Для запросов с других адресов настройте заголовки CORS и ответ на OPTIONS.
- Если сломанный service worker уже у посетителей, можно отдать заголовок
Clear-Site-Data: "storage"с главной страницы — браузер удалит данные сайта, включая скрипт. Это сотрёт и другие сохранённые данные, поэтому применяйте его как экстренную меру.
Источники
- Chromium, net/base/net_error_list.h — FAILED −2, CONNECTION_FAILED −104
- Спецификация Service Workers, раздел event.respondWith — w3c.github.io/ServiceWorker
- Справка Google Chrome, коды ошибок — support.google.com/chrome/answer/95669
Похожие ошибки
- ERR_CONNECTION_RESET — соединение сброшено.
- ERR_CACHE_MISS — нужно отправить данные формы заново.
- ERR_NETWORK_CHANGED — во время загрузки сменилась сеть.
- ERR_NAME_NOT_RESOLVED — не найден адрес сайта.
- ERR_FILE_NOT_FOUND — не найден файл на диске или в папке расширения.
Границы замера
Стенд — Chromium 149 под Linux, сервер на локальном адресе, 18.10.2026. Ctrl+Shift+R воспроизведён командой перезагрузки без кэша через протокол отладки, очистка данных — командой Storage.clearDataForOrigin. Обход — главная страница и два стандартных адреса на каждом сайте; service worker с нестандартным адресом, который регистрируется из отдельного файла скриптов, мы не нашли бы, поэтому 42 — нижняя граница. Наличие обработчика не значит, что скрипт сломан: сбой мы воспроизводили только на стенде. Заголовок Clear-Site-Data на стенде не проверяли.
Коротко
ERR_FAILED — общая ошибка Chromium, код −2: загрузка не удалась, причина не названа. Если ошибка на одном сайте, начните с режима инкогнито и очистки данных сайта — так убирается и сбойный service worker, который на нашем стенде давал ERR_FAILED на каждом переходе. Дальше — расширения, прокси, антивирус и сетевые настройки. В консоли разработчика тот же код чаще всего означает блокировку CORS.
