Полное руководство по кодам статуса http (http status code)

Содержание:

Где взять коды ошибок и статусы

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

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

10.5 5xx — Коды ошибок сервера.

Коды состояния, начинающиеся с цифры «5» указывают случаи, в
которых сервер знает, что допустил ошибку или неспособен выполнить
запрос. Отвечая на запрос, за исключением запроса HEAD, серверу
СЛЕДУЕТ включить объект, содержащий объяснение ошибочной ситуации
и информацию, является ли это положение временным или постоянным.
Агентам пользователя СЛЕДУЕТ показывать пользователю любой
включенный объект. Эти коды состояния применимы к любому методу
запроса.

10.5.2 501 Не реализовано, Not Implemented.

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

10.5.3 502 Ошибка шлюза, Bad Gateway.

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

10.5.4 503 Сервис недоступен, Service Unavailable.

Сервер в настоящее время не способен обработать запрос из-за
временной перегрузки или обслуживания сервера. Это временное
условие, которое будет облегчено после некоторой задержки.
Если известна продолжительность задержки, она может быть указана
в заголовке Retry-After. Если Retry-After не присутствует в
ответе, клиенту СЛЕДУЕТ обрабатывать этот ответ как ответ с кодом
500.

Обратите внимание: существование кода состояния 503 не
подразумевает, что сервер должен использовать его, когда
перегружен. Некоторые сервера могут просто закрывать соединение.

10.5.5 504 Истекло время ожидания от шлюза, Gateway Timeout.

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

10.5.6 505 Не поддерживаемая версия HTTP, HTTP Version Not Supported.

Сервер не поддерживает, или отказывается поддерживать, версию HTTP
протокола, которая используется в сообщении запроса. Сервер
указывает, что не способен или не желает выполнять запрос,
используя ту же самую major версию, что и клиент, как описано в
, в других сообщениях. Ответу СЛЕДУЕТ содержать объект,
описывающий, почему эта версия не поддерживается, и какие другие
протоколы поддерживаются этим сервером.



Copyright    1998
Alex Simonoff
(http://www.omsk.com/Leshik/),
All Rights Reserved.

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

На разных сайтах ошибки 400 Bad Request выглядят по-разному, поэтому вы можете увидеть что-то из короткого списка ниже, а не просто 400 или другой простой вариант:

  • ошибка 400, неверный запрос
  • Плохой запрос. Ваш браузер отправил запрос, который этот сервер не может понять.
  • Неверный запрос — неверный URL
  • Ошибка HTTP 400 — неверный запрос
  • Неверный запрос: ошибка 400
  • Ошибка HTTP 400. Неверное имя хоста запроса.
  • ошибка 400, неверный запрос. Сервер не может понять запрос из-за неправильного синтаксиса. Клиент не должен повторять запрос без изменений.

Ошибка 400 Bad Request отображается в окне интернет-браузера, как и веб-страницы.

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

Ошибка 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.

Примеры кодов статусов и ошибок

Ниже приведены несколько вариантов разделов с кодами статусов и ошибок.

Context.io

Коды ошибок и статусы Conext.io

Clearbit не только документирует стандартные коды состояния, но также описывает уникальные параметры, возвращаемые их API. Большинство разработчиков, вероятно, знакомы с кодами 200, 400 и 500, поэтому эти коды не требуют много пояснений. Но если API имеет уникальные коды, описывать их нужно адекватно и подробно.

Коды ошибок и статусы Twitter

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

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

Mailchimp

Коды ошибок и статусы Mailchimp

Mailchimp предоставляет удобочитаемые и понятные описания сообщений об ошибке. Например, в ошибке вместо того, чтобы просто написать «Запрещено», Mailchimp объясняет причины, по которым можно получить ошибку запрещенного кода. У Mailchimp существует несколько типов ошибок 403. Запрос может быть запрещен из-за отключенной учетной записи пользователя или запроса, направленного не в тот центр обработки данных. В случае ошибки «WrongDataCenter» Mailchimp отмечает, что «она часто связана с неправильно настроенными библиотеками» и ссылается на дополнительную информацию о центрах обработки данных. Такой тип документации кода ошибки очень полезен для пользователей.

Flickr

Коды ошибок и статусы Flikr

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

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

Описание кодов ответов HTTP

  • 200 (OK) — все успешно обработано, страница загружена.
  • 201 (Created) — создан новый ресурс.
  • 202 (Accepted) — запрос обрабатывается.
  • 203 (Non-Authoritative Information) — информация загружена не с основного источника.
  • 204 (No Content) — сервер не вернул контент. Запрос считается успешно обработанным.
  • 206 (Partial Content) — пользователю был передан не весь контент.
  • 300 (Multiple choices) — многократный выбор и сервер не смог корректно обработать запрос.
  • 301 (Moved Permanently) — автоматическое перенаправление, поскольку адрес страницы перемещен на другой адрес навсегда. Этот ответ используется очень часто, поскольку адреса страниц зачастую меняются. Также этот код ответа используется, если сменися адрес сайта.
  • 302 (Moved Temporarily) — адрес временно перемещен.
  • 303 (See Other) — запрашиваемый адрес нужно смотреть по другому адресу, который можно посмотреть через GET.
  • 304 (Not Modified) — страница не измяналась. Для ускорения индексации поисковыми роботами можно использовать этот ответ.
  • 305 (Use Proxy) — доступ к странице доступен только через Proxy-сервер.
  • 306 (Temporary Redirect) — адрес сменен на короткое время.
  • 400 (Bad Request) — неверный запрос к серверу.
  • 401 (Unauthorized) — требуется авторизация пользователя
  • 403 (Forbidden) — доступ запрещен всем.
  • 404 (Not Found) — документ не найден. Часто встречаемая ошибка. Читайте: как правильно сделать страницу 404 ошибки
  • 405 (Method Not Allowed) — метод не поддерживается
  • 406 (Not Acceptable) — докумнет существует, но не в том формате
  • 407 (Proxy Authentication Required) — доступен только через proxy-сервер
  • 408 (Request Time-out) — соединение разорвано из-за долгого ответа сервера
  • 500 (Internal Server Error) — аварийный отказ сервера. Зачастую это связано с неверными настройками .htaccess
  • 501 (Not Implemented) — сервер не может выполнить действие, которое запросил клиент
  • 502 (Bad Gateway) — сервер получил неверные ответы от другого сервера
  • 503 (Service Unavailable) — какая-то служба на стороне сервера временно не работает
  • 504 (Gateway Time-out) — сервер в роли шлюза или прокси-сервера не дождался ответа
  • 505 (HTTP Version not supported) — версия HTTP, которая запрашивается не поддерживается.

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

  1. Подождите, чтобы отправить еще один запрос.
  2. Реализуйте экспоненциальную отсрочку.
  3. Установите свой собственный предел дросселирования.
  4. Свяжитесь с вашим хостинг-провайдером.

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

1 Дождитесь отправки другого запроса.

Самый простой способ исправить ошибку HTTP 429 – дождаться отправки другого запроса. Часто этот код состояния отправляется с заголовком «Retry-after», который указывает период времени ожидания перед отправкой другого запроса. Он может указывать всего несколько секунд или минут.

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

2 Реализуйте экспоненциальный откат.

Если заголовок «Retry-after» не отправляется, и вы не знаете, сколько времени ждать перед попыткой, вам следует реализовать повторные попытки с экспоненциальным откатом. Используя этот подход, ваше приложение не будет немедленно повторять неудавшийся запрос; вместо этого он выполнит серию повторных попыток с постепенно увеличивающимся временем ожидания между каждой попыткой. Когда запрос будет окончательно принят, вы узнаете, какое время или скорость ожидания приемлемы.

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

3 Установите свой собственный предел дросселирования.

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

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

4 Свяжитесь с вашим хостинг-провайдером.

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

Если вы попробовали описанные выше действия и по-прежнему видите ошибку 429, возможно, причина возникла на вашем сервере, а не на вашем веб-сайте. Также возможно, что ваш хост блокирует запросы от определенных сторонних сервисов или платформ, таких как Google Search Console, которая делает множество запросов к веб-сайтам. Обратившись к вашему провайдеру, он может решить проблему или предоставить ценную информацию.

Почему это происходит

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

  • Неправильный URL – если пользователь вводит неправильный адрес или, например, использует специальные запрещённые символы.
  • Неправильные файлы cookie – если файлы cookie в вашем браузере устарели или не соответствуют содержимому, это тоже может стать причиной появления ошибки 400 Bad Request.
  • Устаревшие записи DNS – кэш DNS может содержать данные, которые ссылаются на неверные IP-адреса.
  • Слишком большие файлы – если вы пытаетесь загрузить большие файлы, сервер может отказаться их принимать. Он классифицирует это как «Bad Request» (плохой запрос).
  • Слишком длинный заголовок – для определения запроса при общении клиента и сервера используется заголовок. Некоторые веб-серверы устанавливают максимальный предел для его длины.

Причины довольно разнообразны, поэтому сразу определить, что вызвало «HTTP 400 Bad Request» невозможно. Однако, если целевой сервер использует IIS 7.0, IIS 7.5 или IIS 8.0, более подробную информацию можно получить из кода ошибки:

  • 1 – недопустимый заголовок пункта назначения;
  • 2 – недопустимый заголовок глубины;
  • 3 – недопустимый заголовок операции;
  • 4 – недопустимый заголовок перезаписи;
  • 5 – неверный заголовок перевода;
  • 6 – недействительный запрос;
  • 7 – недопустимая длина содержимого;
  • 8 – недействительный таймаут;
  • 9 – недействительный токен блокировки.

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

Ошибка 400 «Bad Request»

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

  • браузер заблокирован антивирусом;
  • браузер заблокирован брэндмауэром Windows;
  • большое количество cookies и файлов в кэше;
  • нестабильное подключение к интернету.

Чтобы решить эту проблему, нужно по очереди проверить каждую возможную причину ее возникновения.

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

Браузер заблокирован брэндмауэром.
В этом случае нужно временно отключить брэндмауэр, очистить cookies и cash, а затем обновить страницу в браузере. Если проблема решилась, нужно добавить браузер в разрешенные программы в брэндмауэре.

Куки и кэш (Сookies & cash)
Самое простое решение – просто очистите cookies и cash в браузере, а затем обновите страницу с ошибкой.

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

2, Successful Responses

HTTP error codes under this family show success in different forms. HTTP response codes 200 – 299 are bearers of good news: the request has been accepted, a new request has been created, or a certain problem was solved. As HTTP status codes in the earlier group act as signposts, HTTP status codes in the 200 group act as go signals for specific actions to continue, because needed requests have been made possible. 202: Accepted means that the client received the request. The HTTP response code 202 does not necessarily mean that the request is made, but what is important is that it is being handled. Part of these HTTP status codes is 206: Partial Content. This means that the request is met partially, but met, nonetheless.

200 OK

This status code indicates that the request has been successful. The meaning of success in on the specific HTTP method:

  • GET: the resource was fetched and is being transmitted
  • HEAD: The entity-headers are in the message body
  • PUT or POST: The resource describing the result of the action is transmitted in the message body
  • TRACE: the message body contains the request message as received

201 Created

This indicates that the waste has succeeded and that a new resource has been created as a result. This is typically a response that is sent after POST requests, or some PUT requests.

202 Accepted

The request has been accepted for processing, but the processing has not been completed. The request may be eventually acted upon and may be disallowed when processing occurs. This is intended for cases where another process or server handles the requests, or for batch processing.

203 Non-Authoritative Information

This status code really means that the returned metainformation is not entirely the same as the information available from the origin server, but it is collected from a local or third-party copy. This is mostly useful for backups of another resource.

204 No Content

This status code shows where there is no content sent for a specific request, although the headers may be useful. The user agent may update its cached headers for this resource with new ones.

205 Reset Content

This status code tells the user agent to reset the document which sent the request.

206 Partial Content

This response code is used when the Range header is sent from the client to request only part of a resource.

207 Multi-Status (WebDAV)

This status code provides information for multiple independent operations. The message of the is default an XML message and it can provide various response codes, depending on how many sub-requests were made.

208 Already Reported (WebDAV)

Used inside a <dav:propstat> response element to avoid repeatedly enumerating the internal members of multiple bindings to the same collection.

226 IM Used (HTTP Delta encoding)

The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.

HTTP Status Code 302: “Moved Temporarily”

https://www.youtube.com/embed//wtc0KpWYt8Q

HTTP Status Code 302: “Moved Temporarily”

Usually, 302 redirects are used incorrectly. There are not many situations where you would want to use them as a webmaster or digital marketer.

A 302 redirect seems similar to a 301 redirect. They do the same thing for the user: move them to a new location. The difference, is that one is a permanent redirect, and the other is a temporary redirect. 

A permanent (301) redirect says “Hey Google, this page has been permanently moved to this new location. Any of the rankings and link equity that it used to have, please pass those on to the new URL”.

A temporary (302) redirect says “Hey Google, this page has been temporarily moved to this new location. Do not pass any of the rankings and link equity to the new location”.

Let’s say you were running a Superbowl television ad, and your call to action was “Visit us at Website.com”. And just for that day, you wanted to temporarily redirect all the traffic that came to your homepage, to Website.com/superbowl-ad. That might be one instance where you’d be okay with a temporary redirect.

Other situations where you might use this might be temporary situations when you’re collecting data. For example, if you are manually doing an A/B test and bucketing users on your own, you might want to implement a 302 redirect.

Исправление проблем на стороне клиента

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

Проверьте запрошенный URL

Наиболее частой причиной ошибки 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.

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

Виды ошибок

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

Список ошибок http (хх – любые цифры):

2хх — запрашиваемый запрос выполнен;3хх — запрашиваемый запрос отправлен пользователю, тоже считается положительным кодом;4хх — файл не был отправлен пользователю по причине ошибки. Этот код означает ошибку со стороны клиента;5хх — ошибка сервера.

Ниже мы разберем два последних кода ответа сервера. Это наиболее частые ошибки, а их устранение не требует много времени.

Значения кодов ответов сервера

Код состоит из трех цифр и начинается с 1-5 в зависимости от группы, к которой принадлежит. После числового обозначения есть приписка на английском, которая поясняет его значение.

Принадлежность кода к группе определяется по первой цифре:

  • 1— — информационный код, отвечающий за передачу данных.
    Такие коды временны и показывают, что запрос принят и обрабатывается.
  • 2— — код успешной обработки запроса.
    Сервис получил и обработал запрос.
  • 3— — код редиректа.
    Сервер сигнализирует, что для выполнения запроса нужно предпринять дополнительные действия, к примеру, перейти на другой адрес.
  • 4— — клиентская ошибка.
    Ошибка на стороне клиента. Возможно, пользователь что-то сделал неправильно, и поэтому запрос не может быть успешно обработан.
  • 5— — серверная ошибка.
    По какой-то внутренней причине сервер не может выполнить пользовательский запрос.

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

Ошибка 502 Bad Gateway

Код состояния 502, или ошибка Bad Gateway («ошибочный шлюз») значит, что запрашиваемый сервер является шлюзом или прокси-сервером, и он не получает валидных ответов от серверов бэкэнда, которые на самом деле выполнили запрос.

Если речь идет об обратном прокси-сервере (например, о балансировщике нагрузки), убедитесь, что:

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

Наиболее важные коды состояния HTTP для SEO

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

200: OK / Успешно

Вот как должно быть: клиент запрашивает у сервера контент и сервер отвечает сообщением 200. Это означает, что запрос прошел успешно – браузер получает содержимое, которое удовлетворяет потребностям клиента. И сервер, и клиент довольны. Пользователь счастлив. Все сообщения класса 2xx означают успешное выполнение какой-либо операции.

301: Перемещено навсегда

Заголовок HTTP 301 используется, когда запрашиваемый URL перемещен на новое место. Поскольку вы работаете с сайтом, с кодом придется сталкиваться часто – чтобы перенаправить старый URL на новый, вам обязательно нужно делать 301 редирект. Если вы этого не сделаете, пользователи, открывая старый URL, увидят страницу с кодом ошибки (404).

Подробнее о редиректе читайте в статье 10 популярных 301 редиректов в .htaccess

302: Найдено

Код состояния HTTP 302 означает, что целевой контент был найден, но находится в другом месте. Это довольно неоднозначный код состояния – он не говорит, временная это ситуация или нет. Используйте 302 редирект только в том случае, если хотите временно перенаправить URL на другой источник, и вы уверены в том, что будете использовать URL снова. Этим кодом вы сообщаете поисковым системам, что URL-адрес будет использоваться, а значит ссылочный вес не перенесется на новый URL. Поэтому не пользуйтесь 302 редиректом при перемещении домена или серьезных изменениях в структуре сайта.

307: Временное перенаправление

Код состояния 307 заменяет 302 в спецификации HTTP1.1 и может рассматриваться как единственный истинный редирект. Вы можете использовать 307 если вам нужно временно перенаправить URL на новый, оставив оригинальный метод запроса без изменений. 307 выглядит как 302, за исключением того, что он конкретно сообщает о временном характере нового местоположения. Запрос может меняться с течением времени, поэтому клиент должен продолжать использовать оригинальный URL при создании новых запросов.

403: Запрещено

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

404: Не найдено

Код заголовка HTTP 404 – один из наиболее важных. Когда сервер дает ответ в виде ошибки 404, вы получаете информацию о том, что содержимое не было найдено, и, вероятно, удалено. Старайтесь не раздражать посетителей сообщениями с этим кодом, исправляйте ошибки как можно скорее. Используйте редирект для перенаправления посетителей сайта со старого URL на новую статью или страницу, которая имеет связанный контент.

Мониторьте 404 сообщения в интерфейсе ошибок (Crawl errors) Google Search Console и пытайтесь свести их количество к минимуму. Большое количество ошибок этого типа может быть расценено Google как признак плохого обслуживания, а это повлияет на рейтинг сайта.

410: Удален

Результат кода 410 такой же, как 404 – содержимое не было обнаружено. Тем не менее, с 410 вы сообщаете поисковым системам об удалении запрошенного содержимого. Таким образом, этот код намного конкретнее 404. В некотором смысле вы отдаете команду поисковой машине удалить URL из индекса. Перед тем, как окончательно удалить что-то с сайта, подумайте, есть ли где-нибудь эквивалент страницы. Если да, сделайте редирект. Если нет, страницу нужно удалить или улучшить.

451: Информация недоступна по юридическим причинам

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

500: Внутренняя ошибка сервера

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

503: Сервис недоступен

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector