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

HTTP 400 Bad Request: сервер не смог понять запрос

Что значит HTTP 400 Bad Request, какие бывают причины — от повреждённых cookie до неверного адреса — и как исправить ошибку пользователю и владельцу сайта.

Смысл кода

Код 400 Bad Request относится к семейству ошибок клиента. Он означает, что сервер не может или не хочет обработать запрос, потому что тот выглядит некорректным: искажённый синтаксис, недопустимые символы, слишком большие заголовки, неверное оформление тела. Иными словами, ответ говорит не «страницы нет» и не «нельзя», а «я не понял, что вы прислали».

Сообщение может выглядеть по-разному: «Bad Request», «Ошибка 400», «Ваш браузер отправил запрос, который этот сервер не смог понять». Формулировку выбирает конкретный сервер.

Причины для обычного посетителя

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

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

Что сделать посетителю

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

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

Если ничего не помогает, сообщите владельцу сайта, что именно вы делали.

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

Что проверить владельцу

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

Отдельно проверьте, как приложение формирует запросы: некорректно закодированные параметры, неправильный Content-Type, неверный JSON. Для API полезно возвращать в теле ответа понятное описание ошибки, а не пустую страницу. Проверьте также работу балансировщика и шлюза перед приложением, которые могут иметь собственные лимиты.

Чем 400 отличается от похожих кодов

Код 404 говорит, что ресурс не найден. Код 403 означает запрет, 401 требует аутентификацию, 422 сообщает, что запрос синтаксически верен, но данные не подошли. 400 — общий случай, когда запрос сформирован неправильно. Для разработчика API это значит: если можно указать более точный код, лучше сделать это.

Если ошибка 400 появляется без вашего вмешательства, например при обычном обращении к главной странице, вероятнее всего, проблема в cookie или неверном формировании запроса на вашей стороне.

Особые случаи: заголовки, cookie и шлюзы перед сайтом

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

Если вы владелец сайта и видите всплеск ошибок 400 после обновления, проверьте, не добавилась ли новая cookie с длинным значением, и не изменились ли лимиты у CDN или шлюза. Один и тот же запрос, отправленный напрямую и через промежуточный сервер, может давать разные ответы, если лимиты различаются. Ответ на такой вопрос быстро даёт сравнительный запрос утилитой curl с теми же заголовками.

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

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

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

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