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

ERR_SPDY_PROTOCOL_ERROR: сбой протокола HTTP/2

ERR_SPDY_PROTOCOL_ERROR в Chrome: почему возникают ошибки на уровне HTTP/2, какую роль играют антивирус и прокси и как исправить сбой по шагам.

Разговор по правилам HTTP/2 нарушен

В коде ошибки сохранилось название SPDY: так называлась разработка Google, из которой вырос HTTP/2. Поэтому ERR_SPDY_PROTOCOL_ERROR в современном Chrome означает нарушение правил именно HTTP/2. Одна из сторон прислала кадр, размер которого превышает допустимый, неправильные заголовки либо нарушила порядок обмена.

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

Убедитесь, что время на компьютере корректно и браузер обновлён: старые версии клиента иногда неверно реализуют детали протокола, с которыми уже справились новые.

Почему возникает

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

Со стороны клиента — антивирус и защитные модули, вмешивающиеся в шифрованный трафик и не полностью поддерживающие HTTP/2, повреждённый кеш и сокеты браузера, расширения, а также прокси, неверно передающий соединение. Ошибку нередко связывают с накопленными cookie: раздутые заголовки превышают допустимый предел, и соединение закрывается.

Как проверить: ERR_SPDY_PROTOCOL_ERROR

Очистите cookie и кеш проблемного сайта или откройте его в режиме инкогнито. Если ошибка пропала, дело было в накопленных данных. Затем очистите кеш сокетов в служебном разделе chrome://net-internals, если он доступен в вашей версии, и перезапустите браузер.

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

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

Способы исправления: ERR_SPDY_PROTOCOL_ERROR

Удалите cookie сайта, отключите расширения, обновите браузер. Проверьте антивирус и, если он вмешивается в HTTPS, обновите его или исключите проблемный сайт. Перезапустите роутер, если ошибка возникает на нескольких сайтах.

Отключение поддержки HTTP/2 в браузере не всегда возможно и не рекомендуется как постоянная мера. Как временный способ диагностики иногда используют запуск с отключённым протоколом, но исправлять нужно причину, а не отказываться от технологии.

Что делать владельцу сайта

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

Для проверки протестируйте сайт разными клиентами с HTTP/2 и без него, сравнив поведение. Если без HTTP/2 сбой пропадает, ищите ошибку в реализации протокола на конкретном узле цепочки.

Размер заголовков и cookie: частая скрытая причина

В HTTP/2 заголовки сжимаются специальным алгоритмом и имеют ограничения по размеру. Когда сайт накапливает множество cookie — от рекламы, аналитики, тестовых окружений — запросы разрастаются. Сервер или балансировщик отклоняет слишком большие заголовки, и соединение закрывается с ошибкой протокола.

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

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

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

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

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

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