DNS RobotDNS Propagation Checker
ГлавнаяDNSWHOISIPSSL
DNS RobotDNS Propagation Checker

DNS-инструменты нового поколения

Политика конфиденциальностиУсловия использованияО насБлогКонтакты

DNS Инструменты

DNS ПоискТест Скорости DNSДомен в IPNS ПоискMX ПоискПоказать все

Инструменты Email

Проверка SPF записиПроверка DMARCПроверка DKIMТест SMTPАнализ заголовков EmailПоказать все

Инструменты для сайтов

WHOIS ПоискПроверка хостингаДоступность доменаПоиск поддоменовОпределение CMSПоказать все

Сетевые инструменты

Ping инструментТрассировкаПроверка портовПроверка HTTP заголовковПроверка SSL сертификатаПоказать все

IP Инструменты

IP ПоискМой IP адресПроверка IP в чёрных спискахIP в имя хостаASN ПоискПоказать все

Утилиты

Сканер QR кодаГенератор QR кодаUPI QR Code GeneratorWiFi QR Code GeneratorПереводчик азбуки МорзеПоказать все
© 2026 DNS Robot. Разработано: ❤ Shaik Brothers
Все системы работают
Made with
Главная/Блог/400 Bad Request: что значит и как исправить

400 Bad Request: что значит и как исправить

Shaik Vahid30 сент. 2026 г.9 мин чтения
Страница nginx 400 Bad Request: Request Header Or Cookie Too Large и решения, которые стоит попробовать по порядку
Страница nginx 400 Bad Request: Request Header Or Cookie Too Large и решения, которые стоит попробовать по порядку

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

Ошибка 400 Bad Request означает, что сервер получил ваш запрос, но отказался его обрабатывать, потому что что-то в нём выглядело некорректным: сломанный URL, слишком большие или повреждённые cookie и заголовки либо неверные данные, отправленные в API. Если вы посетитель, проверьте URL на лишние символы, затем очистите cookie и кеш одного этого сайта — в большинстве случаев этого достаточно. Если вы владелец сайта, прочитайте страницу ошибки и логи: «Request Header Or Cookie Too Large» означает, что нужно уменьшить cookie или поднять лимиты заголовков, а «plain HTTP request was sent to HTTPS port» — что прокси отправляет обычный HTTP на TLS-порт.

Advertisement

Что такое ошибка 400 Bad Request?

400 Bad Request («неверный запрос») — это код состояния HTTP, который означает, что сервер получил ваш запрос, но не будет его обрабатывать, потому что с самим запросом что-то не так. Стандарт HTTP (RFC 9110, раздел 15.5.1) определяет его так: сервер не может или не хочет обрабатывать запрос «из-за того, что воспринимается как ошибка клиента», например некорректного синтаксиса, неверного формирования сообщения или обманной маршрутизации запроса.

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

Для посетителей это хорошая новость: исправление обычно на вашей стороне и занимает минуту. За большинством ошибок 400 стоит опечатка в ссылке или повреждённый cookie.

Заметка

Ошибка 400 касается самого запроса, а не прав доступа. Если сервер вас понял, но не пускает, вы получите 401 Unauthorized или 403 Forbidden. Если вы отправляете слишком много запросов — 429 Too Many Requests.

Как выглядит ошибка 400

Текст сообщения зависит от серверного ПО, и дополнительная строка часто лучше всего подсказывает причину:

СерверЧто написано на страницеОбычная причина
nginx400 Bad Request: Request Header Or Cookie Too LargeCookie или заголовки превышают лимит nginx
nginx400 Bad Request: The plain HTTP request was sent to HTTPS portОбычный HTTP отправлен на порт, который ждёт HTTPS
ApacheBad Request: Your browser sent a request that this server could not understand.Некорректный запрос или слишком большое поле заголовка
IIS (HTTP.sys)Bad Request - Invalid URL. HTTP Error 400. The request URL is invalid.Недопустимые или неправильно закодированные символы в URL
IIS (HTTP.sys)Bad Request - Request Too Long. The size of the request headers is too long.Слишком много cookie или они слишком большие
Google400. That's an error. Your client has issued a malformed or illegal request.Сломанный URL или повреждённые cookie

Advertisement

Причины ошибки 400 Bad Request

  • Некорректный URL. Лишний знак %, пробел, символ, который следовало закодировать, или ссылка, которая обрезалась или была вставлена дважды.

  • Повреждённые или слишком большие cookie. Сайты, которые ставят много cookie (авторизация, A/B-тесты, аналитика), могут раздуть заголовок Cookie сверх лимита сервера. Cookie, испорченный во время обновления, тоже может быть отклонён.

  • Слишком большие заголовки запроса. Помимо cookie, объём набирают длинные токены авторизации и заголовки, которые добавляют расширения и прокси.

  • Неверные данные, отправленные в API. Не хватает обязательных полей, JSON сформирован с ошибкой или указан неверный заголовок Content-Type.

  • HTTP отправлен на HTTPS-порт. Частая ситуация за балансировщиками нагрузки и обратными прокси.

  • Слишком большой файл. Многие серверы отвечают 413 Content Too Large, но некоторые приложения и фреймворки вместо этого возвращают 400.

Решение 1: проверьте URL

Внимательно посмотрите на адресную строку. На что обратить внимание:

  • Знак %, после которого не идут два шестнадцатеричных символа (%20 — нормально, %2 или %zz — нет).

  • Пробелы, { }, |, \ или другие необычные символы, особенно в ссылках, скопированных из писем, PDF или мессенджеров.

  • Ссылка, вставленная дважды (https://example.com/https://example.com/...) или обрезанная на середине.

  • Очень длинный URL с параметрами отслеживания. Удалите всё, начиная со знака ?, и попробуйте снова.

Совет

Почтовые клиенты и мессенджеры часто оборачивают ссылки в отслеживающие редиректы, которые могут повредить длинные URL. Если ссылка из письма даёт ошибку 400, скопируйте исходный адрес (или наберите адрес сайта сами), а не переходите по ней.

Если вы перешли по ссылке с другого сайта, откройте главную страницу нужного сайта и перейдите к странице оттуда.

Advertisement

Решение 2: очистите cookie одного этого сайта

Это исправляет большинство ошибок 400 на сайтах, которыми вы уже пользовались, особенно если в сообщении упоминаются cookie или заголовки, которые «слишком большие» или «слишком длинные» (too large, too long). Удалять cookie всех сайтов не нужно — только этого:

  • Chrome / Edge: нажмите значок слева от адресной строки → Файлы cookie и данные сайтов (или Настройки сайтов) → удалите данные сайта и обновите страницу.

  • Firefox: нажмите на замок → Удалить куки и данные сайта… (Clear cookies and site data…)

  • Safari (Mac): Safari → Настройки → Конфиденциальность → Управлять данными веб-сайтов… → найдите сайт → Удалить.

  • iPhone: Настройки → Приложения → Safari → Дополнения → Данные сайтов → смахните строку сайта влево, чтобы удалить.

Совет

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

Решение 3: попробуйте режим инкогнито, затем очистите кеш

Откройте страницу в окне инкогнито / приватного просмотра (Ctrl + Shift + N в Chrome и Edge, Ctrl + Shift + P в Firefox, Cmd + Shift + N в Safari). Приватные окна запускаются без cookie и без расширений, поэтому если там страница работает, решение 2 или решение 4 устранит проблему насовсем.

Если и в режиме инкогнито ошибка остаётся, очистите кеш браузера (Ctrl + Shift + Delete → «Изображения и другие файлы, сохраненные в кеше»), а в качестве последнего шага очистите DNS-кеш. DNS редко бывает причиной ошибки 400, но после переезда сайта на другой сервер устаревший адрес может привести вас на сервер, который отклоняет ваш запрос.

Advertisement

Решение 4: отключите расширения и проверьте размер файлов

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

Если ошибка появляется при загрузке файла, попробуйте файл поменьше. Сожмите изображения или разделите большие файлы. Так вы узнаете, не отклоняет ли сервер файл из-за размера, даже если сообщает об этом кодом 400, а не 413.

Владельцам сайтов: как найти причину ошибок 400

Если пользователи сообщают об ошибках 400 на вашем сайте, начните с точного текста, который они видят, и с логов сервера. nginx и Apache записывают причину на уровне info, поэтому, если вы её не видите, временно повысьте уровень детализации журнала ошибок, а журнал доступа покажет, какие URL возвращают 400. Инструмент HTTP Headers от DNS Robot показывает код состояния, серверное ПО и каждый заголовок Set-Cookie, который отправляет страница, — так проще заметить cookie, которые постоянно разрастаются.

bash
# Какие запросы получают 400? (формат лога nginx combined)
sudo awk '$9 == 400 {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head

# Причины, которые записал nginx (нужен error_log ... info;)
sudo grep -i "client sent\|too large\|bad request" /var/log/nginx/error.log | tail -20

Advertisement

Ошибка «Request Header Or Cookie Too Large»

nginx считывает заголовки запроса в буферы, заданные директивой large_client_header_buffers, по умолчанию это 4 буфера по 8 КБ. Если одна строка заголовка — обычно заголовок Cookie — не помещается в один буфер, возникает эта ошибка 400. Аналогичный лимит в Apache — LimitRequestFieldSize, по умолчанию 8190 байт.

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

nginx
# nginx (блок http или server)
large_client_header_buffers 4 16k;

# Аналог для Apache (httpd.conf / vhost)
# LimitRequestFieldSize 16380

Внимание

Если сайт стоит за CDN или балансировщиком нагрузки, у каждого слоя свой лимит на заголовки. Поднятие лимита в nginx не поможет, если CDN отклонит запрос раньше, поэтому проверьте каждый слой. Node.js, например, отклоняет заголовки больше 16 КБ с ошибкой 431 Request Header Fields Too Large.

Ошибка «The plain HTTP request was sent to HTTPS port»

nginx возвращает эту ошибку 400, когда что-то отправляет обычный HTTP на порт, где nginx ожидает TLS, — как правило, на 443. Типичные причины: балансировщик нагрузки или прокси пересылает трафик http:// на порт 443, ссылка вида http://example.com:443 или старая настройка ssl on;, из-за которой порт ожидает TLS, хотя не должен.

Убедитесь, что каждая строка listen соответствует тому, что на неё приходит: listen 443 ssl; для HTTPS и listen 80; для обычного HTTP с редиректом с 80 на 443. Также проверьте, что прокси перед сервером обращается к порту 443 по HTTPS (или к порту 80 по HTTP).

Ошибки 400 от API

API используют код 400 для запросов, которые не прошли валидацию. Если вы обращаетесь к API, прочитайте тело ответа: большинство API объясняют, какое поле неверно. Затем проверьте, что отправляете корректный JSON, правильный заголовок Content-Type: application/json и все обязательные параметры.

Если вы разрабатываете API, возвращайте тело ответа с описанием проблемы (например, {"error": "email is required"}) и подумайте о коде 422 Unprocessable Content для запросов, которые сформированы правильно, но неверны по смыслу, оставив 400 для запросов, которые вообще невозможно разобрать.

Заметка

Чтобы увидеть, что именно было отправлено, откройте DevTools (F12) → Network (Сеть), щёлкните неудавшийся запрос и сравните его вкладки Headers и Payload с тем, что ожидает API, или воспроизведите запрос через curl -v. Тело ответа обычно называет неверное поле.

400 и 401, 403, 404, 413, 429, 431: в чём разница

КодНазваниеЗначение
400Bad RequestЗапрос некорректен или неверен
401UnauthorizedНужно войти в систему или отправить действительные учётные данные
403ForbiddenСервер вас понял, но не разрешает доступ
404Not FoundПо этому URL ничего нет
413Content Too LargeЗагружаемый файл или тело запроса слишком велики
429Too Many RequestsВы упёрлись в лимит запросов
431Request Header Fields Too LargeЗаголовки, обычно cookie, слишком большие (более конкретный вариант 400)

Наши руководства по соседним ошибкам: 403 Forbidden, 401 Unauthorized и 429 Too Many Requests. Если редиректы зацикливаются вместо ошибки, читайте про ERR_TOO_MANY_REDIRECTS, а Redirect Checker покажет каждый переход.

Посмотрите, что именно возвращает страница

HTTP Headers Checker от DNS Robot показывает код состояния, серверное ПО и каждый заголовок Set-Cookie для любого URL — так можно подтвердить ошибку 400 и найти cookie, которые разрослись слишком сильно.

Попробовать HTTP Headers Checker

Advertisement

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

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

Связанные инструменты

HTTP Headers CheckRedirect CheckerSSL Certificate Check

Похожие статьи

Ошибка 403 Forbidden: Что Она Означает и Как ИсправитьОшибка HTTP 401 Unauthorized: Что Означает и Как ИсправитьОшибка 429 Too Many Requests: причины и способы устранения

Содержание

  • Что такое ошибка 400 Bad Request?
  • Как выглядит ошибка 400
  • Причины ошибки 400 Bad Request
  • Решение 1: проверьте URL
  • Решение 2: очистите cookie одного этого сайта
  • Решение 3: попробуйте режим инкогнито, затем очистите кеш
  • Решение 4: отключите расширения и проверьте размер файлов
  • Владельцам сайтов: как найти причину ошибок 400
  • Ошибка «Request Header Or Cookie Too Large»
  • Ошибка «The plain HTTP request was sent to HTTPS port»
  • Ошибки 400 от API
  • 400 и 401, 403, 404, 413, 429, 431: в чём разница
  • Часто задаваемые вопросы