Определение различных кодов ошибок 400

Обновлено: 2022 / Автор статьи: Тимоти Шим

Коды ошибок 400 — это коды состояния HTTP, которые указывают на то, что сервер не понял запрос. Эти ошибки могут быть вызваны недопустимым запросом или могут возникнуть из-за того, что на сервере возникла проблема, и он не смог доставить то, что вы искали. 

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

Что вызывает ошибки неверного запроса?

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

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

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

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

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

Список 400 кодов ошибок и их значение

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

Ошибка 400 неверный запрос

Ошибка 400 Bad Request довольно распространена и возникает, когда запрос ресурса (например, попытка доступа к веб-странице или изображению) каким-то образом искажен для сервера и не может предоставить вам ресурс. Это почти то же самое, что ошибка 404 Not Found, но часто возникает в случаях, когда что-то может быть найдено, но считается непригодным для использования клиентом.

Примеры этого кода состояния включают, когда:

  • Запрос содержит недопустимый синтаксис или не может быть выполнен;
  • Предоставлено лишнее тело сообщения с недопустимым полем заголовка Content-Length, или не было никого, кроме включенного поля заголовка Content-Length;
  • Произошла вводящая в заблуждение маршрутизация (например, клиент пытался проксировать через хост, отличный от того, который идентифицируется запрошенным URI); или
  • Он терпит неудачу, потому что предыдущий запрос не удался (например, если последовательность запросов не удалась из-за «ожидаемых» ошибок в небезопасной последовательности запросов, тогда может быть уместным ответ 503).

Ошибка 401 Unauthorized

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

402 Требуется оплата

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

Ошибка 403 Запрещено

403 ошибкой
403 ошибки - копейки в интернете

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

Короче говоря, вы получите эту ошибку, если попытаетесь подключиться к URL-адресу с IP-адресом, который представляет вас, но не был назначен (пока) поставщиком услуг Интернета; если такого URL вообще нет; или если такого URL нет и он принадлежит кому-то другому (например, если они удалили свой сайт).

Ошибка 404 не найдено

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

Если пользователь получает ошибку 404 Not Found при попытке посетить веб-страницу, это означает, что произошло одно из двух:

  • Страница больше не доступна на сайте (или никогда не была).
  • Произошла ошибка с URL-адресом, например, адрес был написан с ошибкой.

В этом контексте другое слово для слова «сломанный» мертво (как в неработающую ссылку).

Ошибка 405 Метод не разрешен

Код ошибки HTTP 405 Method Not Allowed означает, что по какой-то причине сервер настроен на отклонение определенных методов запроса. Это стандартный ответ HTTP для запросов, которые не разрешены при определенных условиях. Например, если вы пытаетесь отправить форму данных по URL-адресу, но ваш клиент настроен на использование метода GET вместо POST, вы вызовете эту ошибку.

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

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

Ошибка 406 недопустима

Ошибка 406 Not Acceptable — это код ошибки клиента. Сервер ответит этой ошибкой, если он не сможет отправить ответ, который соответствует формату, запрошенному в заголовке запроса. Другими словами, если вы запрашиваете файл JPG, а сервер вместо этого должен отправить вам PDF, он ответит этой ошибкой.

Этот код ошибки встречается нечасто, и некоторые браузеры могут отображать его некорректно.

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

Иногда это может быть вызвано ошибкой браузера или вредоносным ПО в вашей системе, которое заставляет источник каждой страницы загружаться как HTML даже если другие форматы были указаны в ваших предпочтениях. Скорее всего, эта ошибка возникла из-за неправильного запроса URL-адреса (например, ввод «www.examplecom» вместо «www.example​.com»).

Ошибка 407 Требуется аутентификация прокси

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

Ошибка 407 часто возникает, когда веб-сайт пытается загрузить контент через прокси-сервер, но не получает авторизации от этого прокси-сервера. Эта ошибка может быть связана с неправильной настройкой параметров Интернета или брандмауэр. Это также может означать, что вы используете компьютер, настроенный в вашей школе или на рабочем месте, и эти объекты блокируют вам доступ к определенным веб-сайтам.

Ошибка 408 Время ожидания запроса

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

Наиболее вероятной причиной ошибки 408 является то, что клиент выдал большой запрос (например, загрузку всей операционной системы) или слишком быстро выдал запрос. Последнее обычно происходит с автоматизированными процессами (например, с ботами). 

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

Ошибка 409 Conflict

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

Если вы попытаетесь отправить запрос DELETE на удаление товара, которого нет в их корзине, это приведет к конфликту 409. Проще говоря, нельзя удалить то, чего нет.

Ошибка 410 Ушла

Код ошибки 410 Gone — это ответ на запрос ресурса, которого больше не существует. Сервер не будет отвечать ни на какие запросы к этому ресурсу, и его следует удалить из кеша клиента.

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

Ошибка 411 Требуемая длина

Код состояния 411 Length Required указывает, что сервер ожидает поле заголовка Content-Length, содержащее допустимое значение длины в клиентском запросе. Допустимое значение заголовка Content-Length должно присутствовать в запросе и быть равным или больше нуля.

Если запрос POST не включает заголовок Content-Length, вполне вероятно, что пользовательский агент отклонит его с сообщением об ошибке, например, «411 Длина требуется» или «411 отсутствуют обязательные поля».

Ошибка 412 Предварительное условие не выполнено

Код ответа 412 Precondition Failed показывает, что существуют условия, которые еще не выполнены сервером. Сервер должен ответить списком этих предварительных условий (только тех, которые не прошли проверку), используя заголовок Retry-After или отправив код состояния 417 Expectation Failed.

Иногда эта ошибка используется как ответ «ОК» для других типов условий, например, когда пользователь прошел проверку подлинности, но не имеет разрешения на доступ к запрошенному ресурсу. В этом случае обычно предоставляется альтернативное представление ресурса или возвращается 404 Not Found, если такое представление недоступно.

Ошибка 413 Слишком большая полезная нагрузка

Код состояния ответа 413 Payload Too Large указывает на то, что вы пытаетесь попросить сервер выполнить задачу, для которой он не оборудован. Поскольку он знает, что запрос не может быть удовлетворен, он обычно просто сдается и закрывает соединение.

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

Ошибка 414 URI слишком длинный

Ошибка 414 URI Too Long возникает, когда URL-адрес, к которому вы пытаетесь получить доступ или который вы используете, слишком длинный и сервер не может его обработать. Этот код ошибки чаще всего возвращается при использовании прокси-сервера, особенно если к URL-адресу, к которому вы пытаетесь получить доступ, добавлено много параметров.

В следующем примере показано, как сообщение об ошибке для кода 414 будет возвращено в браузере:

Request-URI Too Long Длина запрошенного URL-адреса превышает ограничение емкости для этого сервера.

Ошибка 415: неподдерживаемый тип носителя

Код состояния HTTP 415 Unsupported Media Type означает именно то, что следует из его названия: сервер отказывается принимать запрос клиента, поскольку его тело имеет формат, не поддерживаемый целевым ресурсом.

Эта ошибка часто возникает, когда тело запроса имеет неправильный формат или использует неподдерживаемый тип носителя. Например, запрос POST может содержать данные JSON, но включать заголовок Content-Type, который указывает text/HTML.

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

Ошибка 416 Недопустимый диапазон

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

Когда этот код состояния возвращается для запроса диапазона байтов, ответ ДОЛЖЕН включать поле заголовка объекта Content-Range, определяющее текущую длину выбранного ресурса. Вы не должны использовать тип содержимого multipart/byteranges.

Ошибка 417 Ожидание не выполнено

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

Затем клиенту дается указание не повторять запрос без изменений; в противном случае он будет продолжать получать код состояния 417.

Ошибка 418 я чайник

Ошибка 418

Для тех, кто считает, что у разработчиков нет чувства юмора, ошибка 418 Я чайник, кажется, предназначена для того, чтобы доказать их неправоту. Эта ошибка возвращается, когда HTTP-клиент пытается заварить кофе с помощью чайника, потому что подключенный чайник на самом деле является чайником — коротким и толстым. 

Код ошибки является частью традиционного Первоапрельские шутки IETF, в RFC 2324, Протокол управления гипертекстовым кофейником. Кстати, это не реально. Я включил его только потому, что некоторые из вас нашли его в Google.

Ошибка 421 Неверный запрос

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

  • Клиент отправил запросы на неверный порт.
  • Запрос может быть направлен на другой сервер.
  • Сервер может быть не в состоянии понять запрос.
  • Сервер может быть не в состоянии интерпретировать запрос.

Ошибка 422 Необрабатываемый объект

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

Если вы получаете ошибку 422 Unprocessable Entity в ответ на конкретный запрос, ее невозможно исправить, просто изменив параметры запроса. Это просто означает, что весь ваш запрос не может быть обработан сервером приложений по причинам, упомянутым выше. 

Это может произойти, когда вы пытаетесь получить доступ к конечной точке с помощью методов PUT или POST по неподдерживаемому URL-адресу.

Ошибка 423 Заблокировано

423 Заблокированные ошибки — это подмножество ошибок 400 Bad Request, что означает, что клиент отправил серверу запрос, который является синтаксически неверным. Эти ошибки очень похожи на коды ошибок 401 Unauthorized (или 403 Forbidden), но в этом случае аутентификация не поможет. Хотя оба они отражают сбой авторизации, между ними есть существенная разница.

При ошибке 401 Unauthorized сервер сообщает клиенту, что ему не хватает возможности авторизовать клиент для доступа. Заголовки ответа будут включать что-то вроде WWW-Authenticate: Basic realm="Restricted Area", и когда ваш браузер увидит этот заголовок, он запросит у вас имя пользователя и пароль, если вы их еще не ввели. 

Если вы введете их правильно, ваш браузер повторно отправит исходный запрос с заголовком авторизации (например, авторизация: Basic eFVzdEp0EYB0).

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

Заголовки ответа будут включать в себя что-то вроде «Разрешить: ПОЛУЧИТЬ ОПЦИИ ЗАГОЛОВКА ОТПРАВКИ»; разрешая эти методы, но не «PATCH» или «DELETE» — они заблокированы на этом ресурсе.

Ошибка 424 Неудачная зависимость

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

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

Ошибка 425 Слишком рано

Код ошибки 425 Too Early возвращается сервером, который не готов обработать запрос. Это может быть связано с тем, что сервер занят или он получил запрос, который не может обработать. Другая возможность заключается в том, что клиент использовал устаревшую информацию для составления своего первоначального запроса, и с тех пор это изменилось.

Ошибка 426 Требуется обновление

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

Например, при запросе страницы браузер может получить ответ 426 о том, что он должен использовать HTTPS вместо HTTP.

Ошибка 428 Требуется предварительное условие

Статус 428 Precondition Required означает, что для выполнения запроса необходимо выполнить условия. Большинство серверов используют это, чтобы избежать проблема с "потерянным обновлением". Это происходит, когда клиент получает состояние ресурса, модифицирует его и заменяет на сервере. 

Тем временем состояние модифицируется кем-то другим — следовательно, возникает конфликт. Представьте, что два человека борются за право использовать одну и ту же страницу в блокноте.

Веб-серверы используют условия, чтобы убедиться, что все, кто с ними работает, имеют правильные копии модифицируемых состояний. Чтобы инициировать предварительную проверку, вы должны включить в свой запрос поле заголовка «If-Match» или «If-Unmodified-Since». Например:

GET /test HTTP/1.1
If-Match: "747060ad8c113d8af7ad2048f209582f

Ошибка 429 Слишком много запросов

Ошибка HTTP 429 Too Many Requests возникает из-за того, что сервер отклоняет HTTP-запрос, поскольку клиент отправил слишком много запросов за заданный промежуток времени. Эта ошибка обычно вызвана какой-либо системой ограничения скорости, такой как Cloudflare Ограничение скорости или Скрипт защиты от DDoS.

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

Ошибка 431 Слишком большие поля заголовка запроса

Код состояния 431 просто означает, что поля заголовка, которые вы отправляете на сервер, слишком велики. Это также может означать, что поле заголовка неисправно. В последнем случае в представлении ответа обычно указывается слишком большое конкретное поле заголовка.

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

Ошибка 451 Недоступно по юридическим причинам

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

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

Исправление 400 кодов ошибок

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

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

Заключение

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

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

Узнать больше

О Тимоти Шим

Тимоти Шим - писатель, редактор и технический специалист. Начиная свою карьеру в области информационных технологий, он быстро нашел свой путь в печать и с тех пор работал с международными, региональными и отечественными изданиями в средствах массовой информации, включая ComputerWorld, PC.com, Business Today и The Asian Banker. Его опыт заключается в области технологий как с точки зрения потребителя, так и с точки зрения предприятия.

Подключение: