Битлента
Ошибки и коды3 мин чтения·

ERR_INVALID_RESPONSE: сервер прислал некорректный ответ

ERR_INVALID_RESPONSE в Chrome: почему браузер не может разобрать ответ сервера, при чём тут промежуточный сервер и антивирус и как искать причину на клиенте и сервере.

Ответ не похож на HTTP

ERR_INVALID_RESPONSE показывается, когда получено что-то, что браузер не смог разобрать как корректный HTTP-ответ. Это может быть некорректная строка статуса, повреждённые заголовки, недопустимое сочетание полей или мусор вместо данных.

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

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

Что чаще всего вызывает

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

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

Последовательность проверки

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

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Что можно исправить

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

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

Когда ждать исправления

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

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

Что показывает панель разработчика

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

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

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

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
httpchromeсервер

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

Читайте также