#Руководства
-
0
Рассказываем, почему запрос плохой и как сделать его хорошим.
Иллюстрация: Оля Ежак для Skillbox Media
Журналист, изучает Python. Любит разбираться в мелочах, общаться с людьми и понимать их.
Когда мы заходим на сайт, браузер отправляет ему HTTP-запрос. Если всё хорошо, то сервер присылает в ответ нужную страницу.
Но иногда что-то идёт не так и вместо веб-страницы мы получаем сообщение 400 Bad Request. Так происходит, когда браузер отправил серверу не то, что тот ожидал увидеть. При этом проблема не всегда на стороне пользователя — дело может быть и в неправильных настройках сайта.
Из этой статьи вы узнаете:
- Что означает ошибка 400
- Как её исправить на стороне пользователя
- Как её исправить администратору сайта
Сообщение «400 Bad Request» (в переводе «неправильный запрос») буквально означает, что сервер не понял, что от него хотят. Он получил запрос, но не может его обработать.
Bad Request появляется по двум глобальным причинам:
- В запросе есть ошибка. В таком случае проблема на стороне пользователя. Нужно найти ошибку и исправить.
- Запрос корректен, но сайт почему-то не может его обработать. Это более редкий случай, и решать проблему нужно администратору сайта.
Теперь подробно о том, что с этим делать рядовому пользователю и администратору сайта.
В первую очередь зайдите на сайт с другого устройства. Идеально, если оно будет подключено к другому роутеру или сетевому коммутатору. В случае, если другой сети поблизости нет, перезагрузите роутер — иногда это помогает.
Если после описанных действий сайт открылся, значит, проблема возникла на вашей стороне. Проверьте самые распространённые причины:
- URL-адрес введён с ошибкой;
- в кэше или cookies браузера сохранились неверные данные;
- вы пытаетесь загрузить на сайт слишком большой файл;
- программы на вашем компьютере меняют запрос к сайту (возможно, это вирусы);
- в DNS-кэше хранятся неверные данные.
Пройдёмся по каждой причине.
Внимательно прочтите адресную строку: туда могла закрасться опечатка. Даже если вы не вводили адрес вручную, а перешли по ссылке, в ней тоже может быть ошибка. При этом обратите внимание на регистр. Некоторые части адреса могут быть чувствительны к тому, написана в них заглавная или строчная буква.
Также попробуйте найти эту страницу в одном или нескольких поисковиках: обычно в них указаны правильные ссылки.
Когда вы путешествуете по интернету, браузер автоматически сохраняет данных о ваших действиях в кэше и cookies. Они могут устареть или вступить друг с другом в конфликт.
Зайдите в настройки браузера, очистите кэш и cookies. Ещё это можно сделать программой для очистки компьютера (например, CCleaner).
Почти у каждого сайта установлен предельный размер файла, который можно на него загрузить. Если размер превышает допустимый предел, это может вызвать ошибку 400. Следовательно, чтобы исправить ошибку, попробуйте сжать файл и повторить загрузку.
Некоторые программы могут вмешиваться в работу вашего браузера и изменять запросы. Это могут быть вирусы, антивирусы, приложения от вполне добросовестных поставщиков и даже встроенные программы операционной системы. Проверить стоит все варианты:
- Установите антивирус и просканируйте устройство. Вредоносная программа могла использовать ваш запрос для кибератаки.
- Если доверяете сайту, на который хотите попасть, временно отключите антивирус. Возможно, это он блокирует страницу. Попробуйте отключить брандмауэр или добавить браузер в список его исключений.
- Обновите драйверы для сетевых устройств — они могли устареть.
На самом деле есть куда больше вариантов того, что на компьютере могло помешать запросу. Если у вас Windows, может помочь удаление и переустановка .NET. Также можно попробовать обновить операционную систему или просканировать системные файлы на ошибки.
На самом деле сетевые устройства ищут сайты не по URL, а по IP-адресам. Информация о том, какой URL соответствует какому IP, хранится на DNS-серверах. Чтобы не обращаться к DNS-серверам за одними и теми же IP, компьютер кэширует их.
Если сайт сменил IP-адрес, а в кэше остались устаревшие данные, это может вызвать ошибку 400. Решение — очистить DNS-кэш. Способ зависит от операционной системы.
В Windows
- Нажмите Win + R.
- В открывшемся приложении введите cmd.exe или powershell.
- Введите команду ipconfig /flushdns и нажмите Enter.
В macOS
- Нажмите Command + Пробел.
- Введите «Терминал» и откройте найденное приложение.
- Введите команду sudo killall -HUP mDNSResponder и нажмите Enter.
В Linux DNS по умолчанию не кэшируется. Всё зависит от вашего дистрибутива и службы кэширования.
Если вы проверили каждый пункт и ничего не помогло, обратитесь к интернет-провайдеру или владельцу сайта. Возможно, проблема у них, а они об этом не знают. Подробно опишите действия, которые вы предпринимали, укажите модель устройства и адрес страницы, на которую хотите попасть.
Привести к ошибке Bad Request может и неправильная работа сайта или приложения. Здесь тоже есть целый ряд возможных причин. Имеет смысл проверить логи: вполне вероятно, что ответ вы сможете найти в них.
Если в требованиях к HTTP-заголовкам есть ошибка, то сервер может воспринимать верные запросы как ошибочные. Более того, каких-то важных заголовков в настройках сервера может вовсе не быть.
Проверьте эти требования и удостоверьтесь, что они прописаны правильно.
Если ошибка появилась после обновления CMS, установки или обновления нового плагина, то проблема можно крыться в этом.
Чтобы ничего не потерялось, сделайте резервную копию данных. Затем откатите CMS и плагины до старой версии и удалите новые плагины.
Если проблема в плагинах, то их откат или удаление не всегда помогает. Во время работы они могли внести изменения в базу данных, которые и нарушили работу сайта.
Базу данных придётся просматривать вручную: ищите записи, на которые могли повлиять проблемные плагины.
Зачастую проблема возникает из-за ошибки в скрипте. В таком случае порядок решения стандартный:
- запустите дебаггер;
- воспользуйтесь автотестами;
- просмотрите код вручную, запустите его по частям;
- исправьте проблемную функцию;
- залейте изменения на продакшн-сервер.
Если ни один из способов не помог, обратитесь к своему хостинг-провайдеру — возможно дело в нём. А даже если это не так, служба техподдержки поможет вам починить сайт или приложение.
Как зарабатывать больше с помощью нейросетей?
Бесплатный вебинар: 15 экспертов, 7 топ-нейросетей. Научитесь использовать ИИ в своей работе и увеличьте доход.
Узнать больше
Раздражает, когда какой-то сайт не загружается и отзывается непонятными ошибками. Обычно они сопровождаются одним из десятков HTTP-кодов, которые как раз намекают на характер сбоя, а также его вероятные причины.
В этом материале поговорим об ошибке 400 Bad Request. Почему она появляется и как ее исправить.
Чуть подробнее об ошибке 400
Как и другие коды, начинающиеся на четверку, 400 Bad Request говорит о том, что возникла проблема на стороне пользователя. Зачастую сервер отправляет ее, когда появившаяся неисправность не подходит больше ни под одну категорию ошибок.
Стоит запомнить — код 400 напрямую связан с клиентом (браузером, к примеру) и намекает на то, что отправленный запрос со стороны пользователя приводит к сбою еще до того, как его обработает сервер (вернее, так считает сам сервер).
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Из-за чего всплывает Bad Request?
Есть 4 повода для возникновения ошибки сервера 400 Bad Request при попытке зайти на сайт:
- Некорректно настроенные HTTP-заголовки в запросе со стороны клиента. Некоторые приложения и сайты мониторят заголовки на предмет наличия в них чего-нибудь подозрительного. Если ваш запрос не соответствует ожиданиям сервера, то высока вероятность появления ошибки 400 (но это не всегда вина пользователя).
- Такой же сбой появляется, если клиент пытается загрузить на сервер файл слишком большого размера. Это происходит, потому что на большинстве сайтов есть ограничения по размеру загружаемых данных. Причем ограничение может быть как в 2 гигабайта, так и в 600 килобайт.
- Еще ошибка 400 появляется, когда пользователь пытается получить доступ к несуществующей странице. То есть в браузер банально ввели ссылку с опечаткой, некорректным доменом или поддоменом.
- Устаревшие или измененные куки-файлы. Сервер может воспринять подмену куки-файлов как попытку атаковать или воспользоваться дырой в безопасности. Поэтому такие запросы сходу блокируются.
Читайте также
Исправляем ошибку 400 Bad Request на стороне клиента
Так как ошибка 400 в 99 случаев из 100 возникает на стороне клиента, начнем с соответствующих методов. Проверим все элементы, участвующие в передаче запроса со стороны клиента (браузера).
Проверяем адрес сайта
Банальщина, но необходимая банальщина. Перед тем как бежать куда-то жаловаться и предпринимать более серьезные шаги, повнимательнее взгляните на ссылку в адресной строке. Может, где-то затесалась опечатка или вы случайно написали большую букву вместо маленькой. Некоторые части адреса чувствительны к регистру.
А еще стоит поискать запрашиваемую страницу через поисковик, встроенный в сайт. Есть вероятность, что конкретная страница куда-то переехала, но сервер не может показать подходящий HTTP-код в духе 404 Not Found. Если, конечно, сам сайт работает.
Сбрасываем параметры браузера
Этот метод срабатывает, если сервер отказывается принимать запросы из-за «битых» куки или других данных. Дело в том, что сайт использует куки-файлы, чтобы хранить информацию о пользователе у него же в браузере. При входе конкретного человека на ресурс, он пытается распознать куки и сравнить информацию с той, что уже есть на сервере.
Иногда случается, что куки-файлы одного или нескольких пользователей вступают в конфликт. В таком случае надо открыть настройки браузера, а потом удалить весь кэш, куки и прочие связанные элементы.
В зависимости от браузера процесс удаления куки-файлов может немного отличаться. В Chrome это работает так:
- Открываем настройки браузера.
- Переходим в раздел «Конфиденциальность и безопасность».
- Выбираем «Файлы cookie и другие данные».
- Нажимаем на кнопку «Удалить все».
Для чистки 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 разобрали. Как ее лечить — тоже. Теперь дело за вами. Пользуйтесь полученной информацией, чтобы больше не пришлось мучиться в попытках зайти на нужный ресурс.
Приветствую вас на нашем супер-пупер-классном портале WiFiGid! В этой статье мы рассмотрим очень близкую тему для нас и очень неприятную ошибку для вас – ошибка 400 Bad Request. После прочтения этой короткой заметки в простом формате вы точно сможете или побороть эту ошибку, или просто смиритесь с ней. Начинаем?
Содержание
- Что это за ошибка 400?
- Основные причины ошибки 400
- Шаг 0 – Перезагрузка
- Шаг 1 – Неправильная ссылка
- Шаг 2 – Чистим Cookie и кэш
- Шаг 3 – Антивирусы и брандмауэры
- Шаг 4 – Драйвера сетевых устройств
- Шаг 5 – При загрузке файла
- Шаг 6 – Провайдер
- Вебмастерам и прочим коллегам
- Видео по теме
- Задать вопрос автору статьи
Сама ошибка может иметь разные названия в зависимости от ее места проявления:
- 400 Bad Request
- Request failed with status code 400
- HTTP Status 400 bad request
- Statuscode 400 Error Bad Request
- Bad request Please reload the page
Список может быть спокойно расширен, но главное тут одно – 400.
И для справки: «Bad Request» в переводе с английского на русский – «плохой запрос», т.е. что-то пошло не так с вашим запросом к их сайту или серверу.
Когда вы открываете какой-то сайт, его сервер (не ваш компьютер, не ваш провайдер, а именно его сервер) отправляет вам статус в виде какой-то цифры. Как правило это цифра 200 – вы ее не видите, т.к. она означает, что все хорошо, и сайт был загружен. Запомнили – статус равен какой-то цифре.
Теперь будет очень краткое изложение статусов (разобью их сначала по классам):
- 2xx – Скорее всего все хорошо, сайт загружен, этот статус вы не видите.
- 3xx – Обычно сайт куда-то переехал, а ваш браузер не показывает этот статус и сразу переходит на новый сайт в месте «переезда».
- 4xx – Что-то не так с вашим запросом. Обычно, мы получаем статус 404 «Страница не найдена», когда обращаемся к несуществующей странице сайта. Ключевой момент здесь – сам сайт отработал ваш запрос, но не знает, что с ним делать и выдает этот статус. К подробному рассмотрению статуса 400 мы вернемся чуть ниже.
- 5xx – Сайт вообще не смог отработать ваш запрос, и поэтому сервер просто решил выдать ошибку от беспомощности.
Суть всего вышеизложенного – наша ошибка возникла из-за запроса, обычно она не критична, проявляется именно во время обработки сайта, можно попробовать что-то сделать.
Основные причины ошибки 400
Пробегусь по основным причинам, а способы их решения рассмотрим ниже:
- Неправильная ссылка.
- Старые файлы Cookie.
- Загрузка большого файла.
- Блокировка антивирусом или брандмауэром сайта. Сюда же относим возможную заразу (вирусы) на компьютере, которая сама обрабатывает запросы.
- Проблемы на стороне сайта.
- Проблемы на стороне вашего интернет-провайдера.
Вроде бы разложил все варианты по вероятности их проявления, теперь можно пробежаться по ним уже с деталями.
Шаг 0 – Перезагрузка
Все верно, просто на этом шаге перезагружаем ваш компьютер или телефон и пробуем заново. Очень часто такое просто действие помогает. А еще для дальнейшей диагностики здорово помогает другое устройство – попробуйте сделать то же самое на другом компьютере/телефоне. Если проявляется ошибка в обоих случаях, то проблема точно не у вас
Шаг 1 – Неправильная ссылка
А вы точно переходите по правильной ссылке? Есть просто вероятность, что вам дали неверную ссылку, поэтому ничего и не открывается. Как простое решение – зайти на главную страницу вашего сайта (если мы открываем сайт) и попробовать найти нужную страницу оттуда – например, если администраторы сайта просто удалили ту страницу, а переадресацию на правильную не поставили.
Если же вы пользуетесь какими-то сервисами или приложениями, то тут два варианта – или ждать обновления приложения, или попытаться изменить свой запрос (если есть возможность, конечно). Я сталкивался с Bad Request в приложении «Сбер Спасибо» – просто по нужному баннеру не открывалась моя история начислений. Просто подождал, а на следующий день уже все заработало – тоже как вариант решения.
И еще раз – иногда проще всего поискать правильную ссылку или же подождать некоторое время. Остальные шаги могут быть лишними.
Шаг 2 – Чистим Cookie и кэш
Cookie и кэш браузера, если вы работаете с сайтом, а также кэш приложения (в случае с приложениями) тоже участвуют в запросе. И они могут вполне себе вызвать «неверный запрос» (т.е. скорее всего как устаревший). Поэтому как профилактика:
- Чистим куки браузера (на примере Яндекс Браузера)
- Чистим кэш браузера (на примере Оперы)
Если используете приложение – можно почистить его кэш через настройки приложений (тут уже смотреть по вашей модели телефона), а еще настоятельно рекомендую обновить ваше приложение, если для него доступны обновления.
Еще в системе есть кэш DNS, который тоже можно для профилактики сбросить:
- Инструкция по сбросу кэша DNS
Шаг 3 – Антивирусы и брандмауэры
Тут все сводится к следующим проверкам:
- Временно отключаем свой антивирус. Некоторые антивирусы иногда блокируют какие-то запросы к сайтам, а в итоге первичное приложение или сайт не могут загрузиться полностью и вызывают ошибку. Но помним, что на некоторые сайты все-таки без антивируса лучше не заходить.
- Если вы настраивали свой брандмауэр для какой-то задачи, тоже можно его временно отключить. Мало ли как-то ограничили ваш сайт.
- Просто прогоните свою систему антивирусом. Быть может завелся какой-то зловред, который тоже блокирует часть запросов. А еще в этой сфере очень часто происходит подмена DNS, если знаете как – проверьте свои DNS через настройки сетевых адаптеров и трассировкой маршрута, а то вдруг на вашем пути к сайту появился какой-то нехороший узел, который и мешает получить правильный ответ.
Шаг 4 – Драйвера сетевых устройств
Особенно проявляется после обновления системы – новая система не может работать на старых драйверах с той же сетевой картой, и как итог получаем ошибки. Здесь просто рекомендую по возможности в профилактических целях произвести обновление всех драйверов в системе.
Шаг 5 – При загрузке файла
Если ошибка появляется при загрузке любого файла (документ, видео, фото) – есть вариант, что ваш файл просто превышает максимальный размер, который заложен на сервере. Решение – уменьшаем размер файла. До какого размера, сказать не могу – пробуем методом «тыка».
Шаг 6 – Провайдер
Если совсем ничего не помогает, и все сайты подряд выдают ошибку 400, есть вероятность, что в деле виновен провайдер. Это бывает очень редко, поэтому применяем в крайних случаях:
- Перезагружаем свой домашний роутер (откуда у вас интернет).
- Если не помогает – звоним провайдеру и узнаем о наличии технических проблем на линии.
Вебмастерам и прочим коллегам
Если ваш сервер выдает эту ошибку – попробуйте сначала сами посмотреть свой сайт в режиме «Инкогнито». Если ошибка повторяется и все-таки возникает на вашем сервере – идем смотреть логи, кофейную гущу не применяем, вся истина скрыта где-то там. С радостью бы поподсказывал на эту тему в комментариях, но толку от этого не вижу – логи наверняка знают ответ лучше меня. Если совсем все будет плохо – пишите, договоримся, посмотрим. По долгу службы перелопатили уже тонны серверов на подобные проблемы.
Видео по теме
Автор: QWNet
Категория: CMS & Кодинг
Создано: 04.11.2019 12:37
Обновлено: 04.11.2019 19:23
Опубликовано: 04.11.2019 12:50
Добрый день уважаемые читатели блога! Сегодня мы с вами поговорим о том, что такое ошибка 400 Bad Request, что данная ошибка означает и как ее исправить.
И так, поехали…
Содержание: [Скрыть]
-
- Сделайте резервное копирование сайта (веб-приложения)
- Диагностика ошибки 400 Bad Request
- Исправление проблем на стороне клиента
- Проверьте корректность URL-ссылки
- Очистите соответствующие куки
- Загрузка файла меньшего размера
- Выйдите и войдите в свой аккаунт
- Отладка на распространённых платформах
- Откатите последние изменения
- Удалите новые расширения, модули или плагины
- Проверьте изменения в базе данных (MySQL)
- Проверка на неверные заголовки HTTP
- Просмотрите логи
- Отладьте код приложения или скриптов
Ошибка 400 (Bad Request) (переводится с английского как «Неверный запрос») – это код ответа HTTP, который означает то, что сервер не смог обработать запрос, который был отправлен клиентом из-за неверного синтаксиса. Данные коды ответа HTTP являются сложным взаимоотношением между клиентом, веб-сайтом или веб-приложением, а также часто бывает, ошибка 400 возникает из-за нескольких сторонних веб-сервисов.
Поэтому, часто бывает так, что найти причину возникновения ошибки оказывается не самым лёгким занятием.
В статье мы с вами рассмотрим и разберём, что значит ошибка 400 Bad Request и как ее исправить.
Ошибка 400 на стороне сервера или на стороне клиента?
Все HTTP ошибки или коды ответа из категории 4xx являются ошибками на стороне пользователя. Когда появляется ошибка из категории 4xx, то это совсем не означает, что проблема локализуется на стороне клиента (пользователя интернета). Под клиентом имеется ввиду веб-браузер или какое-либо устройство (мобильный телефон, планшет) используемое для доступа к приложению.
Если вы пытаетесь выявить проблему за счет своего браузера, то можно сразу большую часть HTTP кода игнорировать, а также каскадные таблицы стилей CSS3 и скрипты Javascript. Такое подход применим не только к веб-сайтам, но также и к веб-приложениям.
Также, может быть такая ситуация, когда ошибка 400 Bad Request означает то, что запрос, который прислал пользователь интернета, был неверным по разным на то причинам.
Как пример, пользователь интернета может пытаться загрузить слишком большой файл, и как следствие, запрос может быть не верно сформирован, в результате чего, в браузере вам выведется код ответа 400 Bad Request. То есть, из-за прописанного в настройках лимита сервера по размеру загружаемого файла, возникает ошибка 400 сервера, так как запрос не был обработан и вернул код ответа 400.
Далее, мы с вами рассмотрим несколько сценариев (и возможные пути решения проблемы) ниже. Следует понимать, что мы не можем из цепочки взаимодействия исключить ни сервер, ни клиента в качестве идентификации источника возникшей ошибки 4xx.
В разбираемой нами ситуации, веб-сервер является сетевым объектом, которые генерирует ошибку 400 Bad Request и возвращает клиенту код ответа 4xx. Но не редко бывает так, что проблема локализуется на стороне клиента и он сам является источником появления ошибки 400.
Сделайте резервное копирование сайта (веб-приложения)
Важный момент заключается в том, что крайне важно сделать бэкап сайта или приложения, базы данных до того, как вы начнёте вносить какие-либо изменения в ваш сайта или приложение.
Если смотреть на стабильность работы сайта более глобально, то крайне рекомендую настроить периодические бэкапы на стороне хостинг сервера.
Еще более надёжный вариант – это создание бэкапа на хостинге с автоматической загрузкой в облако (Dropbox, Google Drive, Яндекс Диск).
Подобный подход обеспечит постоянными резервными копиями, и в случае внештатной ситуации, вы легко сможете развернуть свой сайт на каком-либо другом хостинге в максимально сжатый срок времени.
Также, вы в любой момент сможете развернуть бэкап на техническом домене и тестировать какие-либо скрипты, установку новых расширений и т.д. На бэкапе можно экспериментировать без боязни того, что ваш сайт вдруг перестанет работать.
Диагностика ошибки 400 Bad Request
Ошибка 400 Bad Request говорит нам о том, что сервер, на котором расположен ваш сайт, не может обработать запрос, который отправил клиент (браузер), и как следствие, подобная проблема воспринимается сервером как проблема на стороне клиента.
Существует много вариантов, при которых ошибка 400 Bad Request может возникать в приложении. Давайте рассмотрим несколько наиболее популярных случаев:
- Клиент может загружать большой файл. Многие сервера имеют ограничения (лимит) на размер загружаемого файла. Такой подход предотвращает перегрузку и засорение сервера. В большинстве случаев, при попытке загрузки большой файла, сервер отдаёт код ответа 400 Bad Request, так как файл является большим, поэтому запрос не может быть выполнен.
- Клиент использует устаревшие куки. Такая ситуация вполне возможна, так как загруженные браузером куки являются идентификатором сессии. Если токен вашей сессии совпадает с токеном запроса клиента, то сервер или приложение может данную ситуацию интерпретировать это как попытка взлома, и тогда будет выдан код ошибки 400 Bad Request.
- Клиент запрашивает URL-адрес, которого не существует. Если клиент посылает запрос на не существующий URL-адрес, такая ситуация приводит к возникновению ошибки 400 Bad Request.
Исправление проблем на стороне клиента
Идентифицировать, вследствие чего возникает ошибка 400 Bad Request лучше всего начать с разбора ситуации на стороне клиента. Давайте рассмотрим несколько советов как исправить ошибку 400, и что лучше всего стоит попробовать сделать в браузере или на вашем мобильной, или планшетом устройстве чтобы решить данную проблему.
Проверьте корректность URL-ссылки
Банальная ситуация, но чаще всего возникновения ошибки 400 бывает из-за того, что пользователь ввел не верный URL-адрес сайта. К примеру, вы ввели URL-адрес ссылки и забыли в конце ссылки поставить .html. В таком случае веб-сервер будет считать, что такой ссылки не существует, из-за чего и проиcходит ошибка 400.
Проверяйте URL-ссылки на спец символы или опечатки. Если вы ошиблись одной буквой или цифрой в URL-е, то вы веб-сервер вернет вам кол ответа 4xx. Поэтому, четкость введенного URL-а важный момент.
Очистите соответствующие куки
Одним из вариантов появления ошибки 400 Bad Request дублирующие или некорректные куки файлы в вами используемом браузере.
Куки файлы в HTTP – это небольшого размера данные, которые хранятся у вас на компьютере и используются веб-сайтами и приложениями для того, чтобы запомнить браузер, в котором открыт сайт.
Многие веб-приложения используют в своей работе куки для того, чтобы хранить данные, которые ввел в процессе работы пользователь. Таким образом, дальнейшие посещение приложения или веб-сайта будут более быстрыми для пользователя интернета.
Бывает так, что те куки, которые хранят информацию о сессии вашего аккаунта могут в итоге начать конфликтовать с другими токенами сессий других пользователей. В итоге, вам или всем вполне вероятно будет выведена ошибка 400 Bad Request.
Как правило, все куки можно не удалять из используемого вами веб-браузера. Достаточно будет удалить куки файлы только того веб-сайта, который у вас выдал код ошибки 400.
Но если вы не особо знаете, как удалить куки выборочно, почистив куки только конкретного сайта, проще всего тогда почистить всю историю браузера, то есть очистить файлы куки в браузере всех сайтов.
Очистить куки файла в каждом браузере осуществляется немного по-своему.
По ссылкам ниже вы сможете перейти на официальные сайты разработчиков веб-браузеров, и ознакомиться с тем, как почистить куки файлы в каждом из популярных на сегодняшний день браузере:
- Google Chrome;
- Internet Explorer;
- Microsoft Edge;
- Mozilla Firefox;
- Safari.
Загрузка файла меньшего размера
Если при загрузке файла у вас появляется ошибка 400, и вы не знаете, что делать, то попробуйте просто взять файл меньшего размера и закачать его на сервер. Если загрузка пройдет успешно, то значит в первом случае вы пытались загрузить файл большого размера.
Выйдите и войдите в свой аккаунт
Если вы почистили куки, то во все аккаунты на сайтах, где вы были залогинены, необходимо будет зайти снова. Войдите на сайт, где была выведена вам ошибка 400 и посмотрите, устранилась ли проблема или нет.
Отладка на распространённых платформах
Если в качестве создания сайта вы используете известные движки сайтов (CMS), и после установки движка, в ходе эксплуатации скрипта, вы в какой-то момент увидели ошибку 400 Bad Request, изучите на официальном сайте скрипта, вследствие чего может появиться возникшая проблема.
На сегодняшний день, одни из самых распространённых движков сайтов является такие CMS системы как: Joomla, Drupal, WordPress. Что такое CMS сайта, читайте в отдельной подробной статье на данном блоге.
Вышеприведенные движки сайта довольно хорошо протестированы в своих базовых комплектациях. Как только вы начинаете ставить дополнительные расширения на движок сайта сторонних разработчиков, вполне возможно, что вы можете установить не совместимое с версией движка расширение, и тогда высока вероятность появления ошибки 400 Bad Request.
Откатите последние изменения
В административной панели движков как правило, появляется уведомление о появлении нового обновления движка. Если вы обновили движок сайта и появилась ошибка 400 Bad Request, то лучше всего сделать откат изменений назад, чтобы оперативно восстановить работу сайта, тем самым убрать ошибку 400 Bad Request.
Любые компоненты, модули и плагины сторонних разработчиков, установленные на сайт, могут также вызывать ошибки на стороне сервера. Поэтому откат установки расширений могут также помочь в устранении ошибки 4xx.
Ситуация может осложниться тем, что после обновления движка или установки какого-либо расширения, не будет возможности откатиться на шаг назад, так как не все CMS системы позволяют сделать откат последних действий назад.
В такой ситуации может помочь только бэкап сайта, который делается автоматически на хостинг-сервере. Таким образом, придется развернуть более ранний бэкап сайта, чтобы устранить появившуюся ошибку 400.
Удалите новые расширения, модули или плагины
Смотря какую CMS, выберете, суть каждого движка примерно одинаковая, но специфика компонентов будут различаться. Компоненты, модули, плагины позволяют расширить стандартные возможности движка.
Нужно понимать, что установленное расширение на движок может получить полный доступ к системе. Расширение может получить полный доступ к коду PHP, HTML, CSS, JavaScript или в mySQL базу данных.
Поэтому, рациональным решением, если после установки возникла ошибка 400 Bad Request, то стоит откатить последние изменения в движке. То есть, необходимо удалить последние установленные расширений на CMS.
Проверьте изменения в базе данных (MySQL)
Если после установки расширения вы его смогли удалить через административную панель движка, то это совсем не гарантирует то, что все изменения были полностью отменены. Подобная ситуация касается многих расширений движка WordPress, которым предоставляется полный доступ к MySQL базе данных.
Установленное расширение на CMS может внести записи в базе данных MySQL, которые были созданы сторонним расширением. В подобной ситуации, при удалении расширения из движка, записи в базе данных могут остаться.
В подобной ситуации лучше всего развернуть базу данных из бэкапа или открыть базу данных с помощью phpMyAdmin и вручную просмотреть таблицы и записи, которые были изменены ранее установленным расширением.
Поиск проблем на стороне сервера
Если вы больше, чем уверены, что возникновение ошибки 400 Bad Request никак не связано с движком сайта, то ниже вы сможете прочитать дополнительные советы, которые смогут вам помочь найти проблему со стороны сервера.
Проверка на неверные заголовки HTTP
Бывает так, что возникшая ошибка, которая вам выводится, является результатом некорректных специальных заголовков HTTP, которые получает веб-сайт, приложение или сервер. В такой ситуации необходимо проанализировать заголовки HTTP, которые отправляются на сервер.
Просмотрите логи
Практически любые сайт и веб-приложения ведут свои лог-файлы на стороне сервера. В лог файлах отображена информация что делало приложение. По лог-файлам можно узнать какие были запрошены страницы, какие результаты были выведены из базы данных.
Лог-файлы пишутся на стороне сервера, то есть логи пишутся на стороне, где выполняется приложение, могут также показывать информацию о с подключенных сервисах или выводить информацию о сервере.
Отладьте код приложения или скриптов
Если вышеприведённые варианты вам не помогли, то вполне вероятно, что проблема может быть в исходном коде сайта или веб-приложения. Нужно понять, откуда может возникать проблема, тестируя приложение вручную и просматривая лог-файлы как веб-приложения, так и сервера.
Лучше всего тестировать и вносить какие-либо изменения вначале на резервной копии сайта или приложения, который выводил ошибку 400 Bad Request, чтобы не обрушить окончательно интернет проект.
Рекомендую всегда делать резервное копирование файлов базы данных сайта. В будущем резервные копии вашего проекта могут вам сэкономить много ваших нервов.
Если вы смогли выявить причину возникновения ошибки 400 Bad Request, и вы ее исправили, в будущем ситуация может повториться, и это будет сигнал к тому, чтобы в ваш проект внедрить функционал обработки ошибок, за счет которого вы сможете в автоматическом режиме обнаруживать появление ошибок и оперативно их исправлять.
На этом статья «Ошибка 400 Bad Request: что это означает и как ее исправить» подошла к своему завершению. Надеюсь, данный материал был вам полезен, и вы нашли для себя полезную информацию.
До новых встреч на новых страницах блога QWnet.ru
Ошибка 400 Bad request (от англ. «Плохой запрос») — это ответ сервера, который возникает при отправке ему неправильного запроса. Категория 400 свидетельствует о том, что сбой находится на пользовательской стороне. Простыми словами, ошибка 400 — это сбой на стороне клиента (например, браузера), который не дает открыть страницу с контентом или затрудняет его просмотр.
Чаще всего причина в некорректном синтаксисе запроса. Несмотря на название «Bad request», существует ряд других «незапросных» факторов, которые также могут стать триггером этого сбоя. Программные сбои, недействительные куки, некорректные редиректы — лишь некоторые из них. Подробнее расскажем ниже.
Перед тем, как мы начнем, важно прояснить некоторые понятия:
- Сервер — удаленный компьютер, на котором хранится сайт.
- Клиент — программа, которая обращается к серверу через отправку запросов при помощи конкретного протокола, например, браузер.
- Пользователь допустил опечатку в URL. Ошибка в синтаксисе ссылки — наиболее частый сценарий ее появления.
- Блокировка домена или конкретной страницы сайтов. Заблокировать доступ может не только антивирусное ПО, но и брандмауэры, защитные экраны, расширения браузера и даже само оборудование сети, если оно было предварительно настроено соответствующим образом. Кроме того, причиной блокировки конкретного сайта могут служить настройки ОС.
- Некорректные или устаревшие драйверы сетевого оборудования. Такое программное обеспечение способно формировать неправильные запросы к серверу. В результате страница сайта отдает 400-ю ошибку. Драйверы для всех сетевых устройств должны быть актуальными и обновляться сразу, как появится такая возможность.
- Программные сбои, вывод из строя сетевого оборудования. Если перестали загружаться вообще все сайты, это может быть как раз такой случай.
- Неактуальные cookies. Использование браузером недействительных кук может трактоваться сервером как попытка фишинга, поэтому устаревшие cookies запрещены и доступ к сайту автоматически ограничивается.
- Посетитель пытается загрузить на сайт файл слишком большого размера. Известно о таком сценарии появления — например, на портале «Госуслуги» при попытке загрузить заявление или фотографию.
- Вебмастер сделал некорректный редирект на странице и теперь она не открывается у всех посетителей.
- Накопление некорректных данных в DNS-кэше Windows. В результате страница ранее посещенного сайта может отдавать некорректный код состояния HTTP.
- Вредоносный код в системе. Заражение может произойти при посещении сомнительных сайтов, использовании чужих флешек, установки взломанных программ.
- Сбой на стороне сервера. Один из редких сценариев, но иногда встречающийся.
Как исправить ошибку 400 пользователю
Теперь переходим к исправлению Bad request и для каждой указанной причины дадим решение.
Пользователь допустил опечатку в URL
Внимательно проверьте введенный адрес. Допустить опечатку при ручном вводе очень просто, так как URL содержит большое количество символов. Лучше копировать и вставлять ссылку автоматически, при помощи одновременного сочетания клавиш Control + C / Control + V.
Вредоносный код в системе
Проверьте систему надежным антивирусным ПО, например, продуктами «Лаборатории Касперского» или антивирусом Dr.Web. Если в системе найден вредоносный код, то его необходимо удалить как можно скорее.
Блокировка домена или конкретной страницы сайта
Откройте установленный антивирус и отключите всю защиту. Таким же образом отключите межсетевые экраны и защиту в реальном времени. Теперь попробуйте открыть проблемную страницу. Если она загрузилась, значит дело было именно в антивирусе или брандмауэре.
Добавьте используемый браузер в список исключений антивируса и настройте защиту программы таким образом, чтобы она не блокировала работу.
Аналогичным образом проверьте и настройте файервол, межсетевой экран, брандмауэр.
Некорректные, устаревшие драйверы сетевого оборудования
Обновите драйверы сетевого оборудования, включая драйверы маршрутизатора и роутера. Все они должны быть обновлены до последней версии. Драйверы нужно скачивать на официальном сайте производителя вашего оборудования.
Программные сбои, вывод из строя сетевого оборудования
Откройте любой другой сайт. Он загружается? Значит, проблема существует только на одном домене и сетевое оборудование работает корректно.
Если же вообще никакие сайты не загружаются, необходимо проверить работоспособность сетевого оборудования. Для этого можно вызвать техника компании-провайдера на дом. Предварительно свяжитесь с поддержкой используемого провайдера и уточните, существуют ли в данный момент сбои на линии.
Неактуальные cookies
При удалении всех кук в браузере вы автоматически выйдете изо всех учетных записей. Для прохождения авторизации на сайтах придется снова вводить пароли и иногда логины.
Очистите cookies и все временные файлы в используемом браузере. Например, в Google Chrome откройте настройки и выполните следующие действия:
- Откройте раздел «Конфиденциальность и безопасность».
- Кликните по строке «Файлы cookie и другие данные сайтов».
- Выберите пункт «Посмотреть все разрешения и данные сайтов».
- Кликните кнопку «Удалить все данные».
- Для подтверждения выбора нажмите «Удалить».
Посетитель пытается загрузить на сайт файл слишком большого размера
Проверьте размер загружаемого файла: при необходимости уменьшите его, например, добавив файл в архив или задействовав компрессию изображения.
Обычно в окне загрузки файла находится примечание о его максимально допустимом размере:
Некорректный редирект
Необходимо проверить выполнение перенаправления при открытии проблемной страницы. Если оно выполняется, вы увидите изменение URL в адресной строке браузера.
Если Ошибка 400 возникает на вашем сайте — удалите некорректный редирект. Если на чужом — напишите администратору или в техподдержку: на крупных сайтах, как правило, это отдельный e-mail.
Накопление некорректных данных в DNS-кэше ОС
Рассмотрим на примере двух операционных систем.
На Windows
Выполните следующие действия:
- Нажмите кнопку «Пуск».
- В поисковой строке укажите cmd.
- Запустите командную строку от имени администратора.
- Введите команду ipconfig/flushdns.
- Подтвердите, нажав клавишу Enter.
Все, DNS кэш успешно очищен.
На macOS
Выполните следующие действия:
- Откройте «Терминал».
- Укажите sudo killall -HUP mDNSResponder; sleep 2;
- Введите админский пароль.
Мы успешно очистили кэш.
Сбой на стороне сервера
Откройте сайт используемого хостинга, пройдите авторизацию и посмотрите уведомления. Если наблюдаются сбои в работе серверов, на главной странице будет соответствующее оповещение.
Свяжитесь с поддержкой хостинга и задайте им вопрос о существующих сбоях на стороне сервера, который используется для размещения вашего сайта.
Как исправить ошибку 400 вебмастеру
В 95 % случаях, как мы уже говорили выше, причина кроется на стороне клиента. Но если вам кажется, что это не так, попробуйте проверить три сценария:
- Глобальные изменения на сайте. Например, обновление версии CMS, установка новой темы, глобальное изменение вида ссылок. Все это способно привести к сбоям на сайте, включая невозможность открыть страницу.
- Плагины. Вспомните, какие именно плагины или расширения вы устанавливали на сайт в последнюю неделю. Важно идентифицировать такие плагины, чтобы отключить их в дальнейшем.
- HTTP-заголовки. Проверьте их корректность. Если они нестандартные, придется изучить требования к ним, чтобы сервер обрабатывал их корректно. Но это довольно редкий случай.
- Используйте отладку в браузере, чтобы обнаружить ошибки непосредственно в скрипте на конкретной странице.
Плагины могут прописывать свой код в базы данных сайта. В некоторых случаях такие операции могут вывести сайт из строя (упрощенно говоря). Вот почему важно делать регулярные бекапы, особенно если вы планируете установку плагинов или внедрение глобальных изменений на сайте. Важно бекапить не только файлы сайта, но и его БД.
Попробуйте отключить плагины, которые вы устанавливали в последнее время, и проверьте, как открывается проблемная страница. Если страница загружается корректно — просто удалите проблемный плагин.
Записи в БД проверять также очень полезно: в них вы можете найти странные или нелогичные указания, например, внедряемые теми же плагинами. Но это работа уже больше для разработчиков и специалистов по серверам, обычный пользователь вряд ли сможет найти подозрительную запись.
Откройте проблемную страницу и запустите программу-отладчик (она еще называется debug) прямо в браузере. Для этого нажмите клавишу F12. В консоли разработчика перейдите на вкладку «Sources» и выполните следующие действия:
- Откройте навигатор. Для этого кликните по иконке:
- Найдите необходимый файл: например, hello.js (2).
- В крайнем правом окне вы увидите панель отладки JavaScript (3).
- Еще раз убедитесь, что выбран корректный файл (1).
- Кликайте по номерам строк, чтобы задать точку остановки (breakpoint):
- Внимательно анализируйте каждую строчку, чтобы обнаружить сбой.
В разработке ПО и отладке точка останова — это преднамеренная пауза в программе, созданная для целей отладки. Его также иногда называют просто паузой.
Бонус: как очистить систему от мусора для профилактики появления Bad Request
Если вы проверили каждый пункт этого руководства, но причина 400 ошибки так и не была найдена, полезно почистить мусор в системе, включая реестр. Для решения этой задачи вы можете использовать утилиту CCleaner.
Шаг 1. Запустите программу, нажмите кнопку «Реестр», отметьте все чекбоксы и нажмите кнопку «Поиск проблем»:
Очищаем реестр утилитой CCleaner
Утилита найдет ошибки в реестре.
Шаг 2. Нажмите кнопку «Посмотреть выбранные проблемы». Программа предложит создать резервную копию реестра перед внесением изменений. На всякий случай нажимаем «Да». Теперь нажимаем кнопку «Исправить отмеченные».
Всё — ошибки реестра успешно локализованы!
Теперь откройте раздел «Стандартная очистка». Отметьте чекбоксы компонентов Windows, которые нуждаются в очистке от мусора. Нажмите кнопку «Анализ». Процесс может занимать несколько минут, в зависимости от размера внутреннего хранилища. После того как сканирование системы будет завершено, нажмите кнопку «Очистка».
На вкладке «Приложения» вы можете выбрать конкретные программы, которые нужно очистить от мусора.
Таким образом, мы проверили каждую причину 400 ошибки + очистили систему от мусора, чтобы предотвратить появления иных проблем в ОС.