Html 400 error

Ошибка HTTP 400 - Bad Request. Причины возникновения данной ошибки на стороне клиента и на стороне сервера, а также способы её устранения

Ошибка 400 Bad Request – это код ответа HTTP, который означает, что сервер не смог обработать запрос, отправленный клиентом из-за неверного синтаксиса. Подобные коды ответа HTTP отражают сложные взаимоотношения между клиентом, веб-приложением, сервером, а также зачастую сразу несколькими сторонними веб-сервисами. Из-за этого поиск причины появления ошибки может быть затруднён даже внутри контролируемой среды разработки.

В этой статье мы разберём, что значит ошибка 400 Bad Request (переводится как «Неверный запрос»), и как ее исправить

  • На стороне сервера или на стороне клиента?
  • Начните с тщательного резервного копирования приложения
  • Диагностика ошибки 400 Bad Request
  • Исправление проблем на стороне клиента
    • Проверьте запрошенный URL
    • Очистите соответствующие куки
    • Загрузка файла меньшего размера
    • Выйдите и войдите
  • Отладка на распространённых платформах
    • Откатите последние изменения
    • Удалите новые расширения, модули или плагины
    • Проверьте непреднамеренные изменения в базе данных
  • Поиск проблем на стороне сервера
    • Проверка на неверные заголовки HTTP
    • Просмотрите логи
  • Отладьте код приложения или скриптов

Все коды ответа HTTP из категории 4xx считаются ошибками на стороне клиента. Несмотря на это, появление ошибки 4xx не обязательно означает, что проблема как-то связана с клиентом, под которым понимается веб-браузер или устройство, используемое для доступа к приложению. Зачастую, если вы пытаетесь диагностировать проблему со своим приложением, можно сразу игнорировать большую часть клиентского кода и компонентов, таких как HTML, каскадные таблицы стилей (CSS), клиентский код JavaScript и т.п. Это также применимо не только к сайтам. Многие приложения для смартфонов, которые имеют современный пользовательский интерфейс, представляют собой веб-приложения.

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

Мы рассмотрим некоторые из этих сценариев (и потенциальные решения) ниже. Но имейте в виду: мы не можем однозначно исключить ни клиент, ни сервер в качестве источника проблемы. В этих случаях сервер является сетевым объектом, генерирующим ошибку 400 Bad Request и возвращающим её как код ответа HTTP клиенту, но возможно именно клиент ответственен за возникновение проблемы.

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

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

Ошибка 400 Bad Request означает, что сервер (удалённый компьютер) не может обработать запрос, отправленный клиентом (браузером), вследствие проблемы, которая трактуется сервером как проблема на стороне клиента.

Существует множество сценариев, в которых ошибка 400 Bad Request может появляться в приложении. Ниже представлены некоторые наиболее вероятные случаи:

  • Клиент случайно (или намеренно) отправляет информацию, перехватываемую маршрутизатором ложных запросов. Некоторые веб-приложения ищут особые заголовки HTTP, чтобы обрабатывать запросы и удостовериться в том, что клиент не предпринимает ничего зловредного. Если ожидаемый заголовок HTTP не найден или неверен, то ошибка 400 Bad Request – возможный результат.
  • Клиент может загружать слишком большой файл. Большинство серверов или приложений имеют лимит на размер загружаемого файла, Это предотвращает засорение канала и других ресурсов сервера. Во многих случаях сервер выдаст ошибку 400 Bad Request, когда файл слишком большой и поэтому запрос не может быть выполнен.
  • Клиент запрашивает неверный URL. Если клиент посылает запрос к неверному URL (неверно составленному), это может привести к возникновению ошибки 400 Bad Request.
  • Клиент использует недействительные или устаревшие куки. Это возможно, так как локальные куки в браузере являются идентификатором сессии. Если токен конкретной сессии совпадает с токеном запроса от другого клиента, то сервер/приложение может интерпретировать это как злонамеренный акт и выдать код ошибки 400 Bad Request.

Устранение ошибки 400 Bad Request (попробуйте позже) лучше начать с исправления на стороне клиента. Вот несколько советов, что следует попробовать в браузере или на устройстве, которые выдают ошибку.

Наиболее частой причиной ошибки 400 Bad Request является банальный ввод некорректного URL. Доменные имена (например, internet-technologies.ru) нечувствительны к регистру, поэтому ссылка, написанная в смешанном регистре, такая как interNET-technologies.RU работает так же, как и нормальная версия в нижнем регистре internet-technologies.ru. Но части URL, которые расположены после доменного имени, чувствительными к регистру. Кроме случаев, когда приложение/сервер специально осуществляет предварительную обработку всех URL и переводит их в нижний регистр перед исполнением запроса.

Важно проверять URL на неподходящие специальные символы, которых в нем не должно быть. Если сервер получает некорректный URL, он выдаст ответ в виде ошибки 400 Bad Request.

Одной из потенциальных причин возникновения ошибки 400 Bad Request являются некорректные или дублирующие локальные куки. Файлы куки в HTTP – это небольшие фрагменты данных, хранящиеся на локальном устройстве, которые используются сайтами и веб-приложениями для «запоминания» конкретного браузера или устройства. Большинство современных веб-приложений использует куки для хранения данных, специфичных для браузера или пользователя, идентифицируя клиента и позволяя делать следующие визиты быстрее и проще.

Но куки, хранящие информацию сессии о вашем аккаунте или устройстве, могут конфликтовать с другим токеном сессии от другого пользователя, выдавая кому-то из вас (или вам обоим) ошибку 400 Bad Request.

В большинстве случаев достаточно рассматривать только ваше приложение в отношении файлов куки, которые относятся к сайту или веб-приложению, выдающему ошибку 400 Bad Request.

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

Это можно сделать разными способами в зависимости от браузера, который вы используете:

  • Google Chrome;
  • Internet Explorer;
  • Microsoft Edge;
  • Mozilla Firefox;
  • Safari.

Если вы получаете ошибку 400 Bad Request при загрузке какого-либо файла, попробуйте корректность работы на меньшем по размеру файле, Это включает в себя и «загрузки» файлов, которые не загружаются с вашего локального компьютера. Даже файлы, отправленные с других компьютеров, считаются «загрузками» с точки зрения веб-сервера, на котором работает ваше приложение.

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

Также приложение может столкнуться с проблемой, связанной с вашей предыдущей сессией, являющейся лишь строкой, которую сервер посылает клиенту, чтобы идентифицировать клиента при будущих запросах. Как и в случае с другими данными, токен сессии (или строка сессии) хранится локально на вашем устройстве в файлах куки и передаётся клиентом на сервер при каждом запросе. Если сервер решает, что токен сессии некорректен или скомпрометирован, вы можете получить ошибку 400 Bad Request.

В большинстве веб-приложений выход повторный вход приводит к перегенерации локального токена сессии.

Если вы используете на сервере распространённые пакеты программ, которые выдают ошибку 400 Bad Request, изучите стабильность и функциональность этих платформ. Наиболее распространённые системы управления контентом, такие как WordPress, Joomla! и Drupal, хорошо протестированы в своих базовых версиях. Но как только вы начинаете изменять используемые ими расширения PHP, очень легко спровоцировать непредвиденные проблемы, которые выльются в ошибку 400 Bad Request.

Если вы обновили систему управления контентом непосредственно перед появлением ошибки 400 Bad Request, рассмотрите возможность отката к предыдущей версии, которая была установлена, как самый быстрый и простой способ убрать ошибку 400 bad request.

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

Но в некоторых случаях CMS не предоставляют возможности отката к предыдущим версиям. Так обычно происходит с популярными платформами, поэтому не бойтесь, если вы не можете найти простой способ вернуться к использованию старой версии той или иной программной платформы.

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

При этом имейте в виду, что расширения могут так или иначе получать полный контроль над системой, вносить изменения в код PHP, HTML, CSS, JavaScript или базу данных. Поэтому мудрым решением может быть удаление любых новых расширений, которые были недавно добавлены.

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

Расширение может изменить записи в базе данных, которые «не принадлежат» ему, а созданы и управляются другими расширениями (или даже самой CMS). В подобных случаях модуль может не знать, как откатить назад изменения, внесенные в записи базы данных.

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

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

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

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

Логи сервера относятся к оборудованию, на котором выполняется приложение, и зачастую представляют собой детали о статусе подключённых сервисов или даже о самом сервере. Поищите в интернете “логи [ИМЯ_ПЛАТФОРМЫ]”, если вы используете CMS, или “логи [ЯЗЫК_ПРОГРАММИРОВАНИЯ]” и “логи [ОПЕРАЦИОННАЯ_СИСТЕМА]”, если у вас собственное приложение, чтобы получить подробную информацию по поиску логов.

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

Создайте копию всего приложения на локальном устройстве для разработки и пошагово повторите тот сценарий, который приводил к возникновению ошибки 400 Bad Request. А затем просмотрите код приложения в тот момент, когда что-то пойдёт не так.

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

Раздражает, когда какой-то сайт не загружается и отзывается непонятными ошибками. Обычно они сопровождаются одним из десятков HTTP-кодов, которые как раз намекают на характер сбоя, а также его вероятные причины. 

В этом материале поговорим об ошибке 400 Bad Request. Почему она появляется и как ее исправить. 

Чуть подробнее об ошибке 400

Как и другие коды, начинающиеся на четверку, 400 Bad Request говорит о том, что возникла проблема на стороне пользователя. Зачастую сервер отправляет ее, когда появившаяся неисправность не подходит больше ни под одну категорию ошибок. 

Стоит запомнить — код 400 напрямую связан с клиентом (браузером, к примеру) и намекает на то, что отправленный запрос со стороны пользователя приводит к сбою еще до того, как его обработает сервер (вернее, так считает сам сервер). 

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Из-за чего всплывает Bad Request?

Есть 4 повода для возникновения ошибки сервера 400 Bad Request при попытке зайти на сайт:

  1. Некорректно настроенные HTTP-заголовки в запросе со стороны клиента. Некоторые приложения и сайты мониторят заголовки на предмет наличия в них чего-нибудь подозрительного. Если ваш запрос не соответствует ожиданиям сервера, то высока вероятность появления ошибки 400 (но это не всегда вина пользователя).
  2. Такой же сбой появляется, если клиент пытается загрузить на сервер файл слишком большого размера. Это происходит, потому что на большинстве сайтов есть ограничения по размеру загружаемых данных. Причем ограничение может быть как в 2 гигабайта, так и в 600 килобайт.
  3. Еще ошибка 400 появляется, когда пользователь пытается получить доступ к несуществующей странице. То есть в браузер банально ввели ссылку с опечаткой, некорректным доменом или поддоменом.
  4. Устаревшие или измененные куки-файлы. Сервер может воспринять подмену куки-файлов как попытку атаковать или воспользоваться дырой в безопасности. Поэтому такие запросы сходу блокируются.

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

Ошибка сервера 401

Ошибка 502 Bad Gateway Error

Исправляем ошибку 400 Bad Request на стороне клиента

Так как ошибка 400 в 99 случаев из 100 возникает на стороне клиента, начнем с соответствующих методов. Проверим все элементы, участвующие в передаче запроса со стороны клиента (браузера).

Проверяем адрес сайта

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

А еще стоит поискать запрашиваемую страницу через поисковик, встроенный в сайт. Есть вероятность, что конкретная страница куда-то переехала, но сервер не может показать подходящий HTTP-код в духе 404 Not Found. Если, конечно, сам сайт работает. 

Сбрасываем параметры браузера

Этот метод срабатывает, если сервер отказывается принимать запросы из-за «битых» куки или других данных. Дело в том, что сайт использует куки-файлы, чтобы хранить информацию о пользователе у него же в браузере. При входе конкретного человека на ресурс, он пытается распознать куки и сравнить информацию с той, что уже есть на сервере.

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

В зависимости от браузера процесс удаления куки-файлов может немного отличаться. В Chrome это работает так:

  • Открываем настройки браузера. 
  • Переходим в раздел «Конфиденциальность и безопасность».
  • Выбираем «Файлы cookie и другие данные».
  • Нажимаем на кнопку «Удалить все».Удаление кукис в Google Chrome

Для чистки cookies можно использовать стороннюю программу в духе CCleaner или CleanMyPC.

Загружаем файл подходящего размера

Если ошибка 400 Bad Request появляется при попытке загрузить на сайт какой-нибудь файл, то стоит попробовать загрузить файл поменьше. Иногда вебмастера ленятся грамотно настроить ресурс, и вместо понятного объяснения вроде «Загружаемые файлы не должны быть размером больше 2 мегабайт» люди получают Bad Request. Остается только гадать, какой там у них лимит. 

Устраняем проблемы, связанные с Windows и сторонним софтом

Помимо браузера, на работу сети могут влиять другие программные продукты (экраны, защищающие от «непонятных подключений»). И вирусы. Да и сама Windows может стать проблемой. Почти любой ее компонент. Поэтому надо бы проделать следующее:

  • Повторно установить NET.Framework. Желательно перед этим удалить предыдущую версию.
  • Установить какой-нибудь приличный антивирус (а лучше два) и запустить глубокую проверку систему. Возможно, подключению и входу на ресурс мешает вредоносная программа.
  • Если у вас уже установлен антивирус, то, наоборот, попробуйте его отключить. Иногда встроенные в них экраны проверки подключений блокируют работу браузера целиком или отдельных страниц. Лучше выдать браузеру больше прав на выполнение своих задач или установить антивирус, который более лояльно относится к установленному на компьютере софту.
  • Еще надо поменять параметры брандмауэра. Его можно разыскать в панели управления Windows. Там надо добавить в список исключений ваш браузер. Тогда брандмауэр не будет мешать подключению к запрашиваемому сайту.
  • Почистить Windows от программного мусора. Можно пройтись приложением CCleaner. 
  • Обновить драйверы для сетевых устройств. 
  • Обновить Windows или просканировать систему на наличие погрешностей в системных компонентах.

Ищем проблему на стороне сервера

Если что-то происходит на стороне ресурса, то это редко заканчивается ошибкой 400. Но все-таки есть несколько сценариев, при которых клиента обвиняют в сбое зря, а настоящая вина лежит на сервере. 

Проверяем требования к HTTP-заголовкам

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

Удаляем свежие обновления и плагины

Иногда ошибка 400 Bad Request появляется после обновления CMS или установки новых плагинов. Если у вас она появилась из-за этого, то наиболее логичное решение — откатиться до более ранней версии CMS и удалить все новые плагины. 

Главное, перед этим сделать резервную копию данных. И перед установкой обновлений тоже стоило бы.

Проверяем состояние базы данных

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

Исправляем ошибки в коде и скриптах

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

В крайнем случае придется кричать «полундра» и звать на помощь техподдержку хостинга. Возможно, возникли сложности на их стороне. Тогда вообще ничего не надо будет делать. Просто ждать, пока все исправят за вас. 

На этом все. Основные причины появления 400 Bad Request разобрали. Как ее лечить — тоже. Теперь дело за вами. Пользуйтесь полученной информацией, чтобы больше не пришлось мучиться в попытках зайти на нужный ресурс.

400 Bad Request Error: What It Is and How to Fix It

May 5, 2022 3:28:28 PM |
400 Bad Request Error: What It Is and How to Fix It

An in-depth explanation of what a 400 Bad Request Error response code is, including tips to help you resolve this error in your own application.

The 400 Bad Request Error is an HTTP response status code indicating that the server was unable to process the request sent by the client due to invalid syntax. As with the dozens of potential HTTP response codes, receiving a 400 error while accessing your own application can be both frustrating and challenging to fix. 

Such HTTP response codes represent the complex relationship between the client, a web application, a web server, and often multiple third-party web services. As you can imagine, determining the cause of a 400 error can be difficult, even within a controlled development environment.

Throughout this article, we’ll examine the 400 Bad Request error by digging into whether the root cause is on the local client or remote server. We’ll also go over a few tips and tricks to help you diagnose and debug your own application if it’s reporting a 400 error for some reason. 

Lastly, we’ll explore a handful of the most common content management systems (CMSs) that are in use today and how these systems can cause an unexpected 400 Bad Request Error.

Server- or Client-Side?

All HTTP response status codes that are in the 4xx category are considered client error responses. These types of messages contrast with errors in the 5xx category, such as the 504 Gateway Timeout Error we looked at last week, which are considered server error responses

With that in mind, the appearance of a 400 error doesn’t necessarily mean the issue has something to do with the client (the web browser or device).

Oftentimes, if you’re trying to diagnose an issue within your own application, you can immediately ignore most client-side code and components. This might include HTML, cascading style sheets (CSS), client-side JavaScript, and so forth. This doesn’t apply solely to websites, either. Many smartphone apps using a modern-looking user interface are powered by a normal web application behind the scenes. 

On the other hand, a 400 Bad Request Error indicates that the request sent by the client was invalid for one reason or another. It’s entirely possible the issue is from the client-side. Your client may be trying to send a file that’s too big, the request could be malformed in some way, the request HTTP headers could be invalid, and so forth. We’ll explore some of these scenarios (and potential solutions) down below. 

Be aware that, even though a 400 error is considered a client error response, it doesn’t inherently mean we can rule out either the client or the server as the root of the problem. In these scenarios, the server is still the network object that is producing the 400 Bad Request Error and returning it as the HTTP response code to the client. It could also be that the client is causing the issue in some way.

Start With a Thorough Application Backup

It is critical that you perform a full backup of your application, database, and so forth, before attempting any fixes or changes to the system. Even better, if you have the capability, create a complete copy of the application onto a secondary staging server that isn’t “live” or available to the public. This will give you a clean testing ground to test all potential fixes to resolve the issue, without threatening the security or sanctity of your live application.

Diagnosing a 400 Bad Request Error

A 400 Bad Request Error indicates that the server (remote computer) is unable (or refuses) to process the request sent by the client (web browser). There are several scenarios in which a 400 Bad Request Error could appear in an application, but below are the most likely causes:

  • The client may be sending deceptive request routing information. Some web applications/web servers look for custom HTTP headers to process requests and verify the client isn’t attempting anything malicious. If an expected custom HTTP header is missing or invalid, a 400 error is a likely result.
  • The client may be uploading a file that is too large. Most web servers or applications have an explicit file size limit that prevents files that are too big from being uploaded. This is to prevent bandwidth clogging.
  • The client is accessing an invalid URL. If the client is sending a request to an invalid URL — particularly one that is malformed via improper characters — this could result in an http error 400.
  • The client is using an invalid or expired local cookie. Again, this could be malicious or accidental. It’s possible that a local cookie in the web browser is identifying you via a session cookie. If this particular session token matches the session token from another request from a different client, the server/application may see this as a malicious act and produce a 400 Bad Request Error code.

Troubleshooting on the Client-Side

Since the 400 Bad Request Error is a client error response code, it’s best to start by troubleshooting any potential client-side issues that could be causing this error. 

Here are a handful of tips to try on the browser or device that is giving you http error 400 issues.

Check the Requested URL

As mentioned, the most common cause of a 400 Bad Request is simply inputting an incorrect URL. 

Domain names (e.g. airbrake.io) are case-insensitive. This means that this mixed case link to AirBrAKe.IO works just as well as the normal, lowercase version of airbrake.io

However, path, query, or fragment portions that appear after the domain name, are quite often case-sensitive. The exception is if the application/server configuration is explicitly designed to pre-process all URLs as lowercase before execution.

Check the URL for improper special characters that don’t belong. If the server received a malformed URL, it’s likely to produce a 400 Bad Request Error response.

Clear Relevant Cookies

As discussed above, one potential cause of a 400 Error is an invalid or duplicate local cookie. HTTP cookies are tiny pieces of data stored on your local device that is used by websites and applications to “remember” information about a particular browser and/or device. 

Most modern web apps take advantage of cookies to store user- or browser-specific data, identifying the client and allowing future visits to be faster and easier.

However, a cookie that stores session information about your particular user account or device could be conflicting with another session token from another user, giving one (or both of you) a 400 Bad Request Error. 

In most cases, you only need to concern yourself with cookies that are relevant to the website or application causing the problem. 

Cookies are stored based on the web application’s domain name, so you can remove only those cookies that match the website domain (e.g. airbrake.io). This will allow you to keep all other cookies intact. However, if you are unfamiliar with manually removing certain cookies, it’s much easier and safer to clear all cookies at once.

Clearing cookies can be accomplished in different ways, depending on the browser you’re using. Here’s a list of how-to’s on clearing cookies depending on the browser: 

  • Google Chrome
  • Internet Explorer
  • Microsoft Edge
  • Mozilla Firefox
  • Safari

Upload a Smaller File

If you’re experiencing a 400 error while uploading a file, try testing with a different, much smaller file to see if this resolves the error. This includes file “uploads” that don’t actually come from your local computer. Even files sent from other computers are considered “uploads” from the perspective of the web server running your application.

Log Out and Log In

The last client-side step to try is to log out and then log back in if the application requires user authentication. If you’ve recently cleared the browser cookies, this should usually log you out automatically the next time you try to load the page. At that point, feel free to just log back in at this point and see if things are working once again. 

For most web applications, logging out and logging back in will force the local session token to be recreated.

Before Checking Servers, Debug Your CMS

If you’re running common software packages on the server that is responding with a 400 Error, you may want to start looking into the stability and functionality of those platforms first. 

The most common content management systems (CMS) — like WordPress, Joomla!, and Drupal — are typically well-tested out of the box. Unfortunately, once you start making changes to the underlying extensions or PHP code, it’s all too easy to cause an unforeseen issue that results in a 400 Bad Request error. 

Rollback Recent Upgrades

If you recently updated your CMS just before the 400 Error appeared, you may want to consider rolling back to the previous version you had installed. 

Similarly, any extensions or modules that you may have recently upgraded can also cause server-side issues. Try reverting upgrades to a previous version. For assistance with this task, simply Google “downgrade [PLATFORM_NAME]” and follow along. 

In some cases, certain CMSs don’t provide a version downgrade capability. This happens when the CMS creators consider the base application, along with each new version released, to be stable and bug-free. This is typically the case for the more popular platforms. 

Uninstall New Extensions, Modules, or Plugins

Extensions, modules, or plugins serve the same purpose across every system: improving the capabilities and features of your CMS. 

But be warned: extensions can take full control of the system and make virtually any changes, whether it be to the PHP code, HTML, CSS, JavaScript, or database. As such, it’s wise to uninstall any new extensions that may have recently been added. 

Check for Unexpected Database Changes

It’s worth noting that if you uninstall an extension through the CMS dashboard, this doesn’t guarantee that changes made by the extension will fully revert. This is particularly true for many WordPress extensions, which are given carte blanche within the application. This often includes full access rights to the database. 

There are scenarios where an extension may modify database records that don’t “belong” to the extension itself but are instead created and managed by other extensions (or even the base CMS itself). In those scenarios, the extension may not know how to revert alterations to database records, so it will ignore such things during uninstallation. 

Diagnosing such problems can be tricky, but I’ve personally encountered such scenarios multiple times. If you’re reasonably convinced an extension is a likely culprit for the 400 error, open the database and manually look through tables and records that were likely modified by the extension.

Troubleshooting on the Server-Side

If you aren’t running a CMS application or you’re confident the 400 Bad Request error isn’t related to that — it’s time to check for server-side issues. 

Check for Invalid HTTP Headers

It’s possible that the 400 error you’re seeing from your own application is a result of missing or invalid custom HTTP headers. In such cases, you may be able to analyze the HTTP headers that are sent on the server-side and determine if they are invalid or unexpected in some way.

Look Through the Logs

Nearly every web application keeps some form of server-side logs. Application logs contain the history of what the application did, such as which pages were requested, servers it connected to, database results it provides, and so forth. 

Server logs are related to the actual hardware that is running the application. These often provide details about the health and status of all connected services, or just the server itself. Google “logs [PLATFORM_NAME]” if you’re using a CMS, or “logs [PROGRAMMING_LANGUAGE]” and “logs [OPERATING_SYSTEM]” if you’re running a custom application, to get more information on finding the logs in question.

Debug Your Application Code or Scripts

If all else fails, it may be a problem with some custom code within your application. Try to diagnose where the issue may be coming from by manually debugging your application, along with parsing through application and server logs. 

Ideally, you should make a copy of the entire application on a local development machine and debug it step by step to find out exactly what caused the 400 Bad Request error.

Or you can find the bug in moments using Airbrake Error Monitoring. 

Airbrake’s error monitoring software provides real-time error monitoring and automatic exception reporting for all your development projects. Airbrake’s state-of-the-art web dashboard ensures you receive round-the-clock status updates on your application’s health and error rates.

Check out Airbrake’s error monitoring software today and see for yourself why so many of the world’s best engineering teams use Airbrake to revolutionize their exception handling practices!

Note: We published this post in November 2021 and recently updated it in May 2022.

When a website fails to load, it’s simply annoying. It’s important to understand, though, why that happened so you know how to fix it.

The 4xx family of status codes is the one we’re investigating here as they relate to invalid or corrupt requests from the client. Specifically, we’ll take a closer look at the 400 Bad Request error: what this error means, what causes it as well as some specific steps to fix the issue.

  • What is 400 Bad Request Error?
  • What Causes a 400 Bad Request Error
  • 400 Bad Request Error: What Does It Look Like?
  • How to Fix 400 Bad Request Error

Check out our video guide to fixing 400 errors:

What is a 400 Bad Request Error?

A 400 Bad Request, also known as a 400 error or HTTP error 400, is perceived by the server as a generic client error and it is returned when the server determines the error doesn’t fall in any of the other status code categories.

The key concept to understand here is that the 400 Bad Request error is something that has to do with the submitted request from the client before it is even processed by the server.

The Internet Engineering Task Force (IETF) defines the 400 Bad Request as:

The 400 (Bad Request) status code indicates that the server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

What Causes the HTTP 400 Bad Request Error?

There are various root causes that can trigger the 400 Bad Request error and, even if this error isn’t specific to any particular browser or OS (operating system), the fixes do vary slightly.

1. URL String Syntax Error

The HTTP error 400 can occur due to incorrectly typed URL, malformed syntax, or a URL that contains illegal characters.

This is surprisingly easy to do by mistake and can happen if a URL has been encoding incorrectly. The following link is an example of a URL containing characters the server won’t be able to process, hence a 400 Bad Request error is triggered.

https://twitter.com/share?lang=en&text=Example%20of%20malformed%%20characters%20in%20URL

Note the extra % character immediately after the word malformed in the URL. A properly encoded space should be %20 and not %%20. This is what the result looks like in the Chrome browser.

An illegal character can also trigger a 400 Bad request error. The following URL contains a { character, which is not allowed. Therefore, it results in the same type of error.

https://twitter.com/share?lang=en&text=Example%20of%20malformed{%20characters%20in%20URL

2. Corrupted Browser Cache & Cookies

Even if the URL is 100% correct, the 400 Bad Request error can still occur because of corrupted files in the browser cache or problems with expired/corrupted browser cookies.

You may have encountered a 400 Bad Request error when trying to access the admin area of your WordPress site some time after your last log in. That’s happening because of the way the cookie handling your login authentication data may have gotten corrupted and can’t successfully authenticate you as a valid user with admin privileges. This will then result in the connection being refused and a 400 Bad Request error is triggered.

3. DNS Lookup Cache

The 400 Bad Request can happen when the DNS data stored locally is out of sync with registered DNS information.

All domain names are aliases for IP addresses. You can think of an IP address as a phone number “always calling” a specific server you want to connect to. When you first visit a website, a process called “name resolution” takes place and that’s when the domain name resolves to the specific IP address of the server.

To speed things up, these details are stored locally on your computer in the local DNS cache so the name resolution process doesn’t have to be done for every single visit for a given website. This is similar to how the browser cache works for HTML, CSS, JavaScript, media, and other files.

4. File Size Too Large

A 400 Bad Request can also occur when you try to upload a file to a website that’s too large for the upload request to be fulfilled. This is strictly related to the file size limit of the server and will vary based on how it has been set up.

Until now, we’ve focused on the 400 Bad Request error being triggered only due to client-side issues.

5. Generic Server Error

This error can sometimes be triggered because of server-side issues as well. Specifically, a 400 status code could indicate a general problem with the server, a server glitch, or other unspecified temporary issues.

If this happens when trying to connect to a third-party website, it’s really outside of your control and your best shot is to try refreshing the browser and check at regular intervals whether the issue has been fixed by the site owners.

One thing you can do to verify the issue is a server-side issue is to try loading the website on different browsers. If you want to go the extra mile, test it on an entirely different machine/device to rule out system-specific problems.

When you can’t connect to the site via any other browsers, computers, operating systems, or other devices then it’s likely to be a server-side issue. If you’d like, you can reach out to the site owner and let them know which OS, browser, and versions you were using when experienced the issue.

400 Bad Request Error: What Does It Look Like?

Most of the time a 400 Bad Request is related to client-side issues. We already saw what a 400 Bad Request error looks like in the Chrome browser.

400 bad request error in Chrome

400 bad request error in Chrome

But what about the other browsers?

400 Bad Request in Firefox

400 bad request error in Firefox

400 bad request error in Firefox

400 Bad Request in Safari

400 bad request error in Safari

400 bad request error in Safari

400 Bad Request in Microsoft Edge

400 bad request error in Microsoft Edge

400 bad request error in Microsoft Edge

As you can see, all browsers return a generic and unhelpful 400 status code message. It seems you’re pretty much left alone for finding a solution to the problem. In Firefox and Safari, it’s not even clear a 400 Bad Request error has occurred at all as the browser window is completely blank!

Fortunately, we’ve put together a series of simple steps you can take to fix the 400 Bad Request error. Let’s take a closer look at each one of these in the next section!

400 Bad Request (Glossary):

The 400 Bad Request Error is an HTTP response status code
that indicates the server was unable to process (understand) the request sent by the client due to incorrect syntax, invalid request message framing, or deceptive request routing.

How to Fix 400 Bad Request Error?

Complete the steps outlined in this section to help diagnose and correct a 400 Bad Request.

The proposed solutions include:

  • 1. Check the Submitted URL
  • 2. Clear Browser Cache
  • 3. Clear Browser Cookies
  • 4. File Upload Exceeds Server Limit
  • 5. Clear DNS Cache
  • 6. Deactivate Browser Extensions

Before digging deeper on the different ways to fix the 400 Bad Request error, you may notice that several steps involve flushing locally cached data.

It’s true that if your computer didn’t cache any files or data at all, there would probably be significantly less connection error issues.

However, the benefits of caching files/data are well documented and the web browsing experience would certainly suffer if caching techniques weren’t used by browsers. When it comes to Edge Caching, for example, you can reduce by more than 50% the time required to deliver full pages to browsers.

It all comes down to a compromise between optimization and user experience, where websites try to load as quickly as possible but can occasionally be prone to errors such as a 400 Bad Request without any warning.

1. Check the Submitted URL

As this is one of the most common reasons for a 400 Bad Request error let’s start with an obvious culprit, the URL string itself. It can be very easy to include unwanted characters in the URL when entering it manually in the browser.

Check that the domain name and specific page you’re trying to access are spelled and typed correctly. Also, make sure they’re separated with forward slashes. If the URL contains special characters, make sure they have been encoded correctly and are legal URL characters.

For long URLs, you might find it easier and less error-prone, to use an online URL encoder/decoder. These type of utilities should also be able to detect illegal characters automatically in the URL as well.

Once you’re sure the URL is correct, try to access it again in the browser. If you’re still getting the 400 Bad Request error it’s time to clear some cache!

2. Clear Browser Cache

If any locally stored website files have been corrupted this can cause a 400 Bad Request error to be returned instead of the expected website content.

This includes all types of files a website needs to properly run such as:

  • HTML
  • JavaScript
  • Text/config files
  • CSS
  • Media (images, videos, audio)
  • Data files (XML, JSON)

These files are stored locally on your computer by the browser when the website is originally visited.

To fix this, the browser cache needs to be cleared.

In Chrome, click on the three-dotted icon on the right-hand corner and select the More Tools > Clear Browsing Data from the popup menu.

Clearing the browser cache menu option

Clearing the browser cache menu option

This will display the Clear browsing data window. In here, you’ll want to make sure the Cached images and files option is checked and then click on the Clear data button to clear the browser cache.

You can also choose to delete recent files for a specific time range via the Time range dropdown. However, to make sure all potentially corrupted files are removed we recommend deleting all locally stored files by selecting the All time option.

Clear browsing data options

Clear browsing data options

If you’re using an alternative browser, check this guide for clearing the browser cache for all the major browsers (Mozilla Firefox, Safari, Internet Explorer, Microsoft Edge, Opera).

3. Clear Browser Cookies

If clearing your browser cache didn’t work, then it’s time to delete the cookies too. A single website can use dozens of different cookies. If just one of them is expired or becomes corrupted, then it can be enough to trigger a 400 Bad Request.

To clear your cookies in Chrome, open up the Clear browsing data window by clicking the icon with the three dots in the top-right corner and select More Tools > Clear Browsing Data from the popup menu.

Make sure the Cookies and other site data is checked and select All time for the date range option to delete all current website cookies.

Clear browsing data options (cookies)

Clear browsing data options (cookies)

Once done, try loading the website which returned the 400 Bad Request error again. Assuming the site uses cookies, clearing them out from your browser could fix the issue as it’s often associated with corrupt or expired cookies.

To clear cookies in browsers other than Chrome please read this guide here.

4. File Upload Exceeds Server Limit

If you’re trying to upload a file to a website that’s exceeding the server file size limit, you’ll encounter a 400 Bad Request error.

You can test this out by uploading a smaller file first. If this is successful then the initial file is probably too large and you’ll need to find some way to reduce it before uploading it again.

This will depend on the type of file you’re trying to upload but there are plenty of resources available online that can help to compress large images, video, and audio files.

5. Clear DNS Cache

Another common cause of a 400 Bad Request is when local DNS lookup data becomes either corrupted or out-of-date.

Local DNS data isn’t stored by the browser but by the operating system itself. We have put together a detailed guide to clear the DNS cache for Windows and macOS operating systems.

6. Deactivate Browser Extensions

If you have browser extensions installed that affect website cookies then these could actually be the culprit here. Try temporarily disabling them to see if it makes a difference before trying to connect to the website again.

You may not have considered this could be an issue, but it’s certainly worth a try if you’ve exhausted all other options.

Experiencing a 400 Bad Request error? Check out our detailed guide on how to fix it once and for all! ❌🦊Click to Tweet

Summary

If you’re experiencing a 400 Bad Request error there are several actions you can perform to try and fix the issue.

In the vast majority of possible scenarios, a 400 Bad Request is a client-side issue caused by the submitted request to the server or a local caching issue. The solutions outlined in this article are easy to implement by anyone with minimal technical knowledge. You should be able to get your website working again in no time!

On occasions, though, a 400 Bad Request status code could hint to a generic server issue. This can be quickly diagnosed by testing the given site on different devices. If you suspect this to be a server-side error, there’s not much you can do other than keep trying to load the site at regular intervals and inform the site admin.


Get all your applications, databases and WordPress sites online and under one roof. Our feature-packed, high-performance cloud platform includes:

  • Easy setup and management in the MyKinsta dashboard
  • 24/7 expert support
  • The best Google Cloud Platform hardware and network, powered by Kubernetes for maximum scalability
  • An enterprise-level Cloudflare integration for speed and security
  • Global audience reach with up to 35 data centers and 275 PoPs worldwide

Test it yourself with $20 off your first month of Application Hosting or Database Hosting. Explore our plans or talk to sales to find your best fit.

Интернет ― это сложная схема взаимодействия устройств. Между компьютером и сервером сайта легко могут появиться проблемы с сетью: код ошибки 400, 406, 410. В этой статье мы рассмотрим ошибку 400.

Что значит ошибка 400

Все ошибки, которые начинаются на 4, говорят о том, что проблема на стороне пользователя.

Ошибка 400 bad request переводится как «плохой запрос». Она возникает тогда, когда браузер пользователя отправляет некорректный запрос серверу, на котором находится сайт.

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

Причины появления ошибки 400

  1. Ссылка на страницу была некорректной. Если в ссылке была допущена опечатка, сайт, как правило, выдаёт ошибку 404: «Страница не найдена». Опечатку в запросе может сделать сам пользователь, который вводит URL-адрес вручную, а также владелец сайта, который размещает ссылку на странице.
  2. Используются устаревшие файлы cookies.
  3. Пользователь загружает на сайт слишком большой файл.
  4. Антивирус или брандмауэр блокирует сайт.
  5. На компьютере есть вирус, который блокирует доступ к сайту.
  6. Проблемы на стороне интернет-провайдера.

Как исправить ошибку 400

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

Если причина не в этом, переходите к другим настройкам, которые описаны ниже.

Очистите файлы cookies и кэш браузера

Файлы куки и кэш созданы для того, чтобы запоминать сайты и персональные данные пользователя. За счёт этой памяти ускоряется процесс повторной загрузки страницы. Но cookies и кэш, которые хранят данные предыдущей сессии, могут конфликтовать с другим токеном сессии. Это приведёт к ошибке 400 Bad Request.

Очистите кэш браузера по инструкции и попробуйте зайти на страницу заново.

Очистить кэш и куки можно не только вручную, но и с помощью программ CCleaner и Advanced SystemCare.

CCleaner ― эффективное решение для оптимизации работы системы. За пару кликов можно очистить кэш и cookies в нескольких браузерах одновременно. Также можно быстро почистить все временные файлы, которые могут замедлять работу системы. Интуитивный интерфейс не требует специальных знаний:



Как решить ошибку 404 1

Ещё одним популярным приложением для оптимизации ПК является Advanced SystemCare. Эта программа поможет удалить ненужные файлы, очистить реестр, ускорить работу системы, освободить память и место на диске. Также она может контролировать безопасность просмотра веб-страниц, защищая конфиденциальные данные, блокируя вредоносные веб-сайты и предотвращая майнинг криптовалюты.

Очистите кэш DNS

DNS-кэш — это временная база данных вашего компьютера, которая хранит IP-адреса часто посещаемых веб-сайтов. Такая база данных ускоряет связь с сервером.

Вы можете изменить DNS, однако данные из кэша отправляют на старый IP-адрес. После очистки браузер начнёт обращаться к новому IP-адресу. Чаще всего проблема несоответствия DNS приводит к ошибке 502, но также может появиться ошибка 400.

В зависимости от вашей операционной системы очистите кэш по одной из инструкций.

  1. 1.

    Откройте командную строку. Для этого введите в поисковую строку «Командная строка» и выберите появившееся приложение:



    Как решить ошибку 404 2

  2. 2.

  3. 3.

    Дождитесь сообщения об очистке кэша:



    =932x270

  1. 1.

    Откройте терминал клавишами Ctrl+Alt+T.

  2. 2.

    Введите команду:

    Для Ubuntu:

    sudo service network-manager restart

    Для других дистрибутивов:

    sudo /etc/init.d/nscd restart
  1. 1.

    Войдите в терминал. Для этого нажмите клавиши Command + Space. Введите Терминал и нажмите на найденное приложение.

  2. 2.

    Введите команду:

    sudo killall -HUP mDNSResponder

Готово, вы очистили кэш DNS. Попробуйте заново зайти на сайт.

Измените настройки антивируса и брандмауэра

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


Как отключить брандмауэр на Windows 7/10

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

Чтобы отключить брандмауэр на Windows 7/10:

  1. 1.

    В левом нижнем углу экрана нажмите на иконку Лупы.

  2. 2.

    Перейдите во вкладку «Приложения» и выберите Панель управления:



    Как решить ошибку 404 4

  3. 3.

    Нажмите на Брандмауэр Защитника Windows:



    Как решить ошибку 404 5

  4. 4.

    В левом меню нажмите на Включение и отключение брандмауэра Защитника Windows:



    Как решить ошибку 404 6

  5. 5.

    В блоках «Параметры для частной сети» и «Параметры для общественной сети» отметьте пункт Отключить брандмауэр Защитника Windows. Нажмите OK:



    Как решить ошибку 404 7

Готово, вы отключили брандмауэр.

Проверка на вирусы

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

Обновите драйверы сетевых устройств

Устаревшее ПО на сетевых устройствах может генерировать неверные запросы. Установите новые драйверы для сетевого соединения.

Уменьшите размер файла

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

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

Проблема на стороне интернет-провайдера

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

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

Для владельца сайта

Если вы увидели, что ваш сайт выдаёт ошибку 400, проделайте все вышеперечисленные действия. Вполне возможно, что у ваших клиентов всё отображается правильно. Очень редко, но случается, что проблема всё-таки с сервером, на котором находится сайт. В этом случае обратитесь к хостинг-провайдеру, чтобы найти ошибку в настройках.

Ultimate Guide to Understanding HTTP Status Codes – 400 Series

Thomas

400 series request codes deal with malformed and unserviceable requests from a user-agent. Whenever a 400 series is encountered the problem is usually on the client side.

Issues with a user-agent client can range from requesting resources that are no longer available (by mis-typing a URI) or even the server reacting to requests fitting a security-attack signature.

The most common is the 404 – document not found. 404 Document Not Found is returned when a resource is requested the web-server cannot find:

Google 404 Document Not Found

404 Document not Found when mistyping a URL

Let’s go over the most common and interesting 404 series response codes in a little more detail.

400 – Bad Request

400 Bad Request is (usually) the result of a user-agent sending something in the request a web-server could not process. Let’s generate a 400 Bad Request to understand what can cause this error.

We will go old-school on Linux and use a tool called netcat. Netcat can be used for sending raw data over sockets. After all, HTTP requests are just that – raw text.

First, let’s send a legitimate HEAD Request to google:

HEAD Request from netcat

The web-server responded with 200.

Let’s force a 400 – Bad Request:

Forced Bad Request Generating a 400

We purposfully sent a request the server could not understand – let’s look at the request method used:

mint ~ # nc www.google.com 80
BAD / HTTP/1,1
Host: www.google.com

The web-server could not process the method: BAD

It’s unlikely a modern web browser would send malformed requests like depicted above. However, if you’re using a custom developed HTTP application like a web-scraper, it’s time to debug.

Following the procedures below will resolve most all 400 Bad Request Errors.

1. Check The URL

If clicking on a link it is quite possible the web-author made a typo. Examine the entire URL paying particular attention to the path, document title, and query-string portions.

2. Clear all Cookies and Cache

Clearing the browser cache will solve 80% of 400 Bad Request Codes. Following these steps is a good universal fix for a lot of 400 Status Codes, too.

  1. clear all cookies and browsing history
  2. re-try the request

Let’s see how this is done with Chrome:

  1. Go into Settings 

    Go to Settings

  2. Go to Advanced

    Go to Advanced Options

  3. Click “Clear Browsing Data”

    Clear Browsing Data

  4. Select the following options

    Select The Following Options

Clearing all cookies and browsing history will assure anything cached and/or corrupted (like cookies) are gone. More than likely this will fix your issues with most 400 Bad Request Codes

3. File Upload Size

The problem could very well be a back-end script itself, uploading too large of a file or a file with an incorrect media type.

  1. If the 400 bad request presents itself while uploading a file, try a smaller file.
  2. Make sure the file-type is acceptable. 2.
  3. If uploading an image try both jpeg and png formats.
  4. If an uploading a document usually text files .txt and Microsoft Word files are permitted.

4. Malformed Headers

Malformed headers would be a pretty low-level issue and could very well leave the web-application itself at fault.

Using the HTTPFox plugin with Firefox we can watch the entire HTTP transaction for anything looking out of the ordinary. 

Looking at HTTP Transactions in Firefox

Looks as if I need to clear the cache on my web-browser. Pretty simple to diagnose with HTTPFox.

5. Update Your Web Browser and Disable Plugins

Like anything HTTP goes through versions and revisions. If your browser is out of date it could very well be sending antiquated headers and requests.

Also, try removing or disabling all plug-ins and extensions. Trying the same request in another web browser can assist in isolating issues as well.

6. Check Your Internet Connection

A bad Internet Connection can cause data to be corrupted at lower layers, thus sending malformed data to the web server.

Using a good Internet Speed Test utility can help troubleshoot any issues with an Internet connection. Try running the utility 5 or 6 times for comparison.

Internet Speed Test

7. Try Logging Out

If using a web application with user-based authentication and sessions try logging out and then clearing the browser cache.


401 – Unauthorized

401 Unauthorized is returned when a web server requests credentials for a secured document.

Authorization Required

The HTTP Response will be 200 upon valid credentials being supplied

403 – Forbidden

403 Forbidden is usually one of four things:

  • directory listings are not permitted
  • currently authenticated user does not have sufficient permissions
  • the web-server process has inadequate permissions
  • requesting address has been banned

Directory Listing Not Permitted

HTTP 403 Forbidden

Shows 403 Forbidden when trying to access a directory listing

IIS Showing Directory Permissions are not granted to unauthenticated users. The simplest method is to put an index file in the directory. Otherwise, directory listings to unauthenticated users will need to be explicitly set.

Authenticated User Does Not Have Permissions

The best method in this situation is making a group for all users who need access to a resource. Give this group the necessary permissions at the filesystem level. Then add permitted users to the group.

Web Server Process Does Not Have Sufficient Permissions

Access Denied

We are unable to access the test.php page in the webroot in /var/www/html. So first we need to:

  • check permissions to the webroot:

  • assign the www-data group to the webroot and give read + execute permissions:

     mint# ls -ld /var/www/html/
     drwx------ 3 root root 4096 Nov 24 03:47 /var/www/html/
    

    the /usr/var/html/ directory is owned by the root user and root group with no access to any other user.

    To fix a permissions issue like this, we need to modify permissions to the directory:

     mint# chgrp -R www-data /var/www/html
     mint# chmod 750 /var/www/html
     mint# chmod g+rx /var/www/html/test.php 
     mint html # chmod g-w /var/www/html/test.php 
     mint# ls -ld /var/www/html/
       drwxrw---- 3 root www-data 4096 Nov 24 03:47 /var/www/html/
     mint# ls -l /var/www/html/test.php 
        -rwxr-x--- 1 root www-data 91 Nov 16 06:52 /var/www/html/test.php
    

A little theory on how the problem was fixed:

  1. change the owning group of the webroot to www-data
  2. give proper permissions to the web-root for the www-data group. directory should be read and execute
  3. give read and execute permissions to test.php for the www-data group

For best security practice the www-data group should not have write permissions on files and folders. However, some content management systems or special purpose scripts may need write access by the web-server process

Denying write permissions to files and folders can provide a higher layer of security in the event a web-application flaw is leveraged by an attacker to modify content, delete files, or add files.

Permissions, as mentioned above, are for a production environment. But can be somewhat restrictive for development stages.

Since we took away write permissions to the directory and to test.php only root can add and edit files. This is good in production – we are 100% sure the web-process cannot write to and create files if a script is compromised.

However, this is very impractical for development. In a staging environment, it would be best to put developers in the www-data group. Then give them write permissions to the web-root and all its files. This is a good example of why modern DevOps keeps staging and production segmented.

Another common scenario for a 403 Forbidden Status may be an IP Address or IP Range being banned in a .htaccess file by the server Administrator.

404 – Not Found

404 Not Found means the web-server could not find a requested resource. When encountering a 404 error a few things can be done:

  • check spelling of host, domain, path, and document

  • check case of file and path. Linux and Unix web-servers (unless configured differently) usually distinquish case, with tradition of using all lowercase for each.

  • use Google to find an alternative URL to the resource

  • try getting a cached page from google

Using Advances Google Operators

Google Get All PDF Files

Many times I have been able to locate a document with expired links (resulting in a 404) using a Google query similar to the one above. Listing of Advanced Google Operators

Try Getting the Same Resource From Google’s Cache

Getting Cached Pages From Google

Using advanced Google Operators and Google’s Cache you may be able to find the resource even if it has been taken down.

405 – Method Not allowed

A 405 Method Not Allowed is presented when attempting a request method that is unpermitted by the web-server.

Unpermitted Request To Google

OPTIONS Request Not Allowed

406 – Not Acceptable

406 Not Acceptable will be given when the user-agent and client cannot establish acceptable content/encoding types or character-sets.

When resolving a 406 Status Code using a tool like HTTPFox is necessary.

Header values sent by the client to look over include:

  • Accept:
  • Accept-Charset
  • Accept-Encoding
  • Accept-Languages

A modern web-browser will never experience this issue. If it does, try upgrading your web-browser to later version.

407 – Proxy Authentication Required

407 Proxy Authentication Required will usually mean the user-agent needs to provide credentials to access a proxy server.

Supplying Proxy Credentials in Linux

408 – Request Timeout

This status code will usually result from latency between your computer and the web-server.

To assist in resolving 408 Request Timeout Errors:

  • try another website to make sure it is not the server infrastructure
  • make sure no other downloads are running saturating your bandwidth
  • reconnect to your WiFi
  • reboot your router
  • try an Internet Speed Test

If able to connect to another website fine, it is probably a remote network. If an Internet Speed Test is showing latency the problem could be your ISP or LAN.

Speed Test

Speedtest.net offers a great and free online app for testing Internet connection speeds. The app will check upload speed, download speed, and latency. Speedtest.net Speed Testing App Online

429 – Too Many Requests

429 will usually mean rate limiting has been enabled on the server. Rate limiting will only allow a certain amount of requests in an allotted amount of time.

When recieving 429 – Too Many Requests the user-agent will be blocked for a time period, usually by IP address.

To bypass 429 and 403 restricted errors try using Tor Browser

TOR Browser

TOR Browser can be used obfuscate your IP address

451 – Unavailable for Legal Reasons

451 could be seen when a web-page violates copyrights, trademarks, intellectual property laws, or has been deemed a threat to national security.

Website Seized by US Law Enforcement

Sample of a website seized by US Law Enforcement

Ultimate Guide to Understanding HTTP Status Codes 500 – Internal Service Error. Before delving into a detailed technical discussion of cause behind 500 error code, it is important to understand what the error code 500 represents.

Read More

  • 400
  • Errors
  • HTTP
Thomas

Bash scripting enthusiast who can also cook up a pretty amazing lasagna. If you don’t find me in the datacenter or in deep thought troubleshooting customer tickets, well… You’re probably not looking hard enough!

What is Hypertext Transfer Protocol (HTTP) anyway?

The world wide web, as we know it today, was invented by a scientist at CERN, the European Organization for Nuclear Rese…

Ultimate Guide to Understanding HTTP Status Codes 500 – Internal Service Error

Before delving into a detailed technical discussion of cause behind 500 error code, it is important to understand what t…

Ultimate Guide Understanding HTTP Status Codes – 300 Series

HTTP 300 status codes are reserved for redirects. Most redirects will be transparent to the end-user and are handled ent…



Что это такое?
Олдскулы наверняка помнят, с каким звуком ошибка 400 отображалась на старых устройствах. А в «Записках невесты программиста» под Bad Request Denied открывалась входная дверь главного героя. На самом деле, все коды, которые начинаются с 4, означают, что проблему надо искать на стороне пользователя.



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

В статье рассказывается:

  1. 6 основных причин появления ошибки 400 Bad Request
  2. Как исправить ошибку 400 на стороне пользователя
  3. Что делать, если ошибка 400 на стороне сервера
  4. Профилактика возникновения ошибки 400
  5. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.

    Бесплатно от Geekbrains

6 основных причин появления ошибки 400 Bad Request

Когда сервер не может обработать входящий от пользователя запрос из-за неправильного синтаксиса, HTTP выдает ошибку 400 Bad Request. Найти причину возникновения ошибки зачастую трудно даже внутри управляемой среды разработки, так как код ответа HTTP определяет непростые взаимоотношения между клиентом, сервером и веб-приложением. Часто конфликт возникает сразу с несколькими сторонними веб-сервисами.

400 Bad Request

400 Bad Request

Ошибка 400 возникает по следующим причинам:

  • Допущена опечатка в ссылке. Это может произойти как по вине пользователя при некорректном вводе, так и со стороны владельца сайта, который разместил ссылку на ресурсе. В таком случае сайт выдаст ошибку 404: «Страница не найдена».
  • Файлы cookies устарели.
  • Посетитель сайта загружает файл слишком большого объема.
  • Блокировка ресурса антивирусной системой или брандмауэром.
  • Доступ блокируется вирусом.
  • Со стороны провайдера интернет-услуг наблюдаются проблемы.

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

Неверно указанный URL – самая частая проблема ошибки 400 BAD Request. Рассмотрим на примере доменного имени internet-technologies.ru. Домен второго уровня нечувствителен к регистру, поэтому при написании адреса в формате interNET-technologies.ru страница будет работать идентично с прописанной нижним регистром ссылкой.

Скачать файл

Доменная зона первого уровня (ru) чувствительна к регистру, и, если браузер или приложение не переводит символы в нижний регистр перед исполнением запроса, выйдет ошибка HTTP-запроса 400.

Если адрес прописан верно, переходите к поиску других причин. Список подготовили ниже.

Произведите очистку кэша и файлов cookies

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

Очистка кэша и файлов cookies

Очистка кэша и файлов cookies

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

Однако наиболее часто хватает почистить кэш файлов cookies только на вашем приложении или браузере, который выдает ошибку запроса 400.

pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ ресурсов об IT-сфере

Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT

pdf иконка

ТОП 50+ сервисов и приложений от Geekbrains

Безопасные и надежные программы для работы в наши дни

Уже скачали 19536 pdf иконка

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

Очистка кэша DNS

Для ускорения связи с сервером ваше устройство сохраняет IP-адреса сайтов с наиболее частым посещением. Такая временная база носит название DNS-кэш.

При изменении DNS данные буду отправляться на прошлый IP-адрес. Очистка сведений поможет направить запрос на новый IP. Зачастую при несоответствии DNS файлов всплывает ошибка 502, но также можно увидеть, что произошла ошибка 400.

Java-приложения: плюсы и минусы языка

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

Ниже мы описали 3 простых действия, которые помогут очистить кэш:

  • В поиске на панели задач введите запрос «Командная строка» и откройте появившееся приложение.
  • Наберите команду ipconfig /flushdns
  • При успешной очистке всплывёт сообщение: = 932×270.
  • Настройка антивируса и брандмауэра

Очистка кэша DNS

Очистка кэша DNS

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

Сканирование устройства на вирусы

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

Обновление сетевых драйверов

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

Откат последних изменений системы

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

Если ошибка 400 возникла после обновления системы управления контентом, необходимо попробовать выполнить откат к предыдущей версии. Это будет самым лёгким и простым способом её устранения.

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

Уменьшение веса файла

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

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

Удаление новых расширений и модулей

Имена компонентов могут отличаться в зависимости от системы создания и управления сайтом (модули, плагины и т.д.). Все новые расширения улучшают возможности стандартной функциональности используемой платформы.

Однако при ошибке запроса следует удалить недавно установленные модули, так как наряду с улучшением функциональности все расширения могут в полной степени иметь контроль над системой и возможность вносить изменения в базу данных или код PHP, HTML, CSS, JavaScript.

pdf иконка

Точный инструмент «Колесо компетенций»

Для детального самоанализа по выбору IT-профессии

pdf иконка

Список грубых ошибок в IT, из-за которых сразу увольняют

Об этом мало кто рассказывает, но это должен знать каждый

doc иконка

Мини-тест из 11 вопросов от нашего личного психолога

Вы сразу поймете, что в данный момент тормозит ваш успех

Регистрируйтесь на бесплатный интенсив, чтобы за 3 часа начать разбираться в IT лучше 90% новичков.

Только до 13 февраля

Осталось 17 мест

Проверка корректной работы со стороны провайдера интернет-услуг

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

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

Что делать, если ошибка 400 на стороне сервера

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

  • Проверить на корректность заголовки HTTP

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

Операторы SQL: какие есть и как с ними работать

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

  • Просмотр логов

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

Для того чтобы получить данные по поиску логов вашего собственного приложения, можно воспользоваться поиском в интернете, воспользовавшись запросом “логи [ОПЕРАЦИОННАЯ_СИСТЕМА]”. При использовании CMS вбейте “логи [ИМЯ_ПЛАТФОРМЫ]” или “логи [ЯЗЫК_ПРОГРАММИРОВАНИЯ]”.

Что делать, если ошибка 400 на стороне сервера

Что делать, если ошибка 400 на стороне сервера
  • Отладка скриптов и кода приложения

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

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

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

Профилактика возникновения ошибки 400

Мы подробно рассмотрели, что означает ошибка 400, и дали максимум вариантов для её исключения. Если все перечисленные способы не сработали, то не лишним будет выполнить шаг по очистке системы от мусора, включая реестр. В этом вам поможет программа CCleaner.

  • Для поиска ошибки в реестре запустите программу, далее, после нажатия кнопки «Реестр», выделите все пункты и начните сканирование кнопкой «Поиск проблем».
  • По завершению программа предложит посмотреть выбранные проблемы. Нажмите на эту кнопку. Перед внесением изменений вам будет предложено создать резервную копию реестра. Для перестраховки нажмите «Да». Далее нажимаем на «Исправить отмеченные» после чего ошибки реестра будут успешно исправлены.
  • Для очистки программ от мусора, необходимо открыть раздел «Стандартная очистка» и отметить все пункты компонентов Windows, которые необходимо почистить. Время процесса может отличаться, всё зависит от объема внутреннего хранилища. Обычно это занимает несколько минут. По завершению сканирования нажмите на кнопку «Очистка», выбрав необходимые программы во вкладке «Приложения».

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

Like this post? Please share to your friends:
  • Html 304 ошибка
  • Htaccess показать ошибки php
  • Htaccess настройка ошибок
  • Htaccess включить вывод ошибок php
  • Htaccess rewriterule error 500