400 | Неверный запрос/Bad Request | Запрос не может быть понят сервером из-за некорректного синтаксиса. |
401 | Неавторизованный запрос/Unauthorized | Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем. |
402 | Необходима оплата за запрос/Payment Required | Внутренняя ошибка или ошибка конфигурации сервера. |
403 | Доступ к ресурсу запрещен/Forbidden | Доступ к документу запрещен. Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней. |
404 | Ресурс не найден/Not Found | Документ не существует. Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт. |
405 | Недопустимый метод/Method Not Allowed | Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать. |
406 | Неприемлемый запрос/Not Acceptable | Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). |
407 | Требуется идентификация прокси, файервола/Proxy Authentication Required | Необходима регистрация на прокси-сервере. |
408 | Время запроса истекло/Request Timeout | Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение. |
409 | Конфликт/Conflict | Запрос конфликтует с другим запросом или с конфигурацией сервера. |
410 | Ресурс недоступен/Gone | Затребованный ресурс был окончательно удален с сайта. |
411 | Необходимо указать длину/Length Required | Сервер отказывается принимать запрос без определенного заголовка Content-Length. Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу. |
412 | Сбой при обработке предварительного условия/Precondition Failed | При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). |
413 | Тело запроса превышает допустимый размер/Request Entity Too Large | Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер. |
414 | Недопустимая длина URI запроса/Request-URI Too Long | Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать. |
415 | Неподдерживаемый MIME тип/Unsupported Media Type | Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат. |
416 | Диапазон не может быть обработан/Requested Range Not Satisfiable | Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов. |
417 | Сбой при ожидании/Expectation Failed | Сервер отказывается обрабатывать запрос, потому что значение поля |
422 | Необрабатываемый элемент/Unprocessable Entity | Сервер не в состоянии обработать один (или более) элемент запроса. |
423 | Заблокировано/Locked | Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован. |
424 | Неверная зависимость/Failed Dependency | Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован. |
426 | Требуется обновление/Upgrade Required | Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом. |
429 | Слишком много запросов/Too Many Requests | Отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS-атаки. Ответ может сопровождаться заголовком Retry-After, который указывает, через какое время можно повторить запрос. Яндекс не учитывает этот заголовок. |
Руководство по HTTP. Коды статусов. – PROSELYTE
Код статуса представляет собой ответ сервера, который состоит из трёх цифр. Первая определяет класс ответа, а две другие указывают конкретный ответ.
Существует пять основных категорий кодов статусов. Все они приведены ниже:
№ | Код и описание |
---|---|
1 | 1xx: Информационное Означает, что запрос был успешно получен и идёт его обработка. |
2 | 2xx: Успешное выполнение Запрос был успешно получен, понят и принят. |
3 | 3xx: Перенаправление Последующие действия должны быть предприняты для выполнения запроса. |
4 | 4xx: Ошибка на стороне клиент Запрос содержит синтаксическую ошибку, либо не корректен. |
5 | 5xx: Ошибка на стороне сервера Сервер не может выполнить обработать корректный запрос. |
Коды статусов расширяемы и HTTP приложение не должно понимать значение всех кодов.
Ниже приведены наиболее распространённые код статусов по категориям.
1ХХ: Информационные
Сообщение | Описание |
---|---|
100 Continue | Только часть запроса была получена сервером, но на данный момент запрос не был отклонён. Клиент должен продолжать запрос. |
101 Switching Protocols | Сервер выбирает протокол. |
2ХХ: Успешное выполнение
Сообщение | Описание |
---|---|
200 OK | Запрос успешен |
201 Created | Запрос выполнен, новый ресурс создан. |
202 Accepted | Запрос принят, но обработка не завершена. |
203 Non-authoritative Information | Информация в заголовке получена из локальной или сторонней копии, а не от оригинального сервера. |
204 No Content | Код статуса и заголовок переданы в ответе, но данные отсутствуют. |
205 Reset Content | Браузер должен очистить форму для этой транзакции для дополнительного ввода. |
206 Partial Content | Сервер возвращает часть данных. Используется для ответа на запрос, содержащий заголовок Content-Range. |
3ХХ: Перенаправление
Сообщение | Описание |
---|---|
300 Multiple Choices | Список ссылок. Пользователь может выбрать ссылку и перейти к локации. Максимальное количество ссылок – 5. |
301 Moved Permanently | Запрашиваемая страница была перенесена на новую URL. |
302 Found | Запрашиваемая страница была временно перенесена на новую URL. |
303 See Other | Запрашиваемая страница может быть найдена по другой URL. |
304 Not Modified | Код ответа для заголовка If-Modifier-Since или If-None-Match, где URL не была изменена с крайней даты обновления. |
305 Use Proxy | Доступ к запрашиваемой странице должен быть запрошен через прокси, который указан в заголовке Location. |
306 Unused | Данный код использовался в предыдущей версии, но на данный момент он не используется, а сам код был зарезервирован. |
307 Temporary Redirect | Запрашиваемая страница была временно перенесена на новую URL. |
4ХХ: Ошибка на стороне клиента
Сообщение | Описание |
---|---|
400 Bad Request | Сервер не понял запрос. |
401 Unauthorized | Запрашиваемая страница требует имя пользователя и пароль. |
402 Payment Required | На данный момент клиент не может использовать данный код. |
403 Forbidden | Доступ к запрашиваемой странице запрещён. |
404 Not Found | Сервер не может найти запрашиваемую страницу. |
405 Method Not Allowed | Метод, указанный в запросе, является недопустимым. |
406 Not Acceptable | Сервер генерирует ответ, который не может быть принят клиентом. |
407 Proxy Authentication Required | Клиент должен авторизоваться с помощью прокси-сервера прежде чем запрос сможет быть обработан. |
408 Request Timeout | Запрос длился дольше, чем сервер был готов ждать. |
409 Conflict | Запрос не может быть завершён из-за конфликта. |
410 Gone | Запрашиваемая страница больше недоступна. |
411 Length Required | Элемент “Content-Length” не определён. Сервер не может принять запрос без данного элемента. |
412 Precondition Failed | Сервер признал предусловия запроса ошибочными. |
413 Request Entity Too Large | Сервер не примет данный запрос, так как тело запроса слишком большое. |
414 Request-url Too Long | Сервер не примет данный запроса, так как URL слишком большая (длинная). |
415 Unsupported Media Type | Север не примет данный запрос, так как данный тип медиа файла не поддерживается. |
416 Requested Range Not Satisfiable | Запрашиваемый диапазон байтов недоступен и находится за пределами диапазона. |
417 Expectation Failed | Ожидания, переданные в заголовке запроса не могут быть удовлетворены данным сервером. |
5ХХ: Ошибка на стороне сервера
Сообщение | Описание |
---|---|
500 Internal Server Error | Запрос не выполнен. Сервер попал в непредвиденные условия. |
501 Not Implemented | Запрос не выполнен. Сервер не поддерживает запрашиваемый функционал. |
502 Bad Gateway | Запрос не выполнен. Сервер получил недоступный запрос от следующего сервера. |
503 Service Unavailable | Запрос не выполнен. На данный момент сервер перегружается, или не работает. |
504 Gateway Timeout | Соединение закрыто по времени. |
505 HTTP Version Not Supported | Сервер не поддерживает данную версию протокола HTTP. |
На этом мы заканчиваем изучение код статуса протокола HTTP.
В следующей статье мы рассмотрим поля заголовка (header fields).
Коды возврата HTTP
Доступные статьи
WWW
HTTP
Коды возврата HTTP
1xx — Информационные коды
100 Продолжать, Continue
101 Переключение протоколов, Switching Protocols
2xx — Успешные коды
200 ОК
201 Создан, Created
202 Принято, Accepted
203 Не авторская информация, Non-Authoritative Information
204 Нет содержимого, No Content
205 Сбросить содержимое, Reset Content
206 Частичное содержимое, Partial Content
3xx — Коды перенаправления
300 Множественный выбор, Multiple Choices
301 Постоянно перенесен, Moved Permanently
302 Временно перемещен, Moved Temporarily
303 Смотреть другой, See Other
304 Не модифицирован, Not Modified
305 Используйте прокси-сервер, Use Proxy
4xx — Коды ошибок клиента
400 Испорченный Запрос, Bad Request
401 Несанкционированно, Unauthorized
402 Требуется оплата, Payment Required
403 Запрещено, Forbidden
404 Не найден, Not Found
405 Метод не дозволен, Method Not Allowed
406 Не приемлем, Not Acceptable
407 Требуется установление подлинности через прокси-сервер, Proxy Authentication Required
408 Истекло время ожидания запроса, Request Timeout
409 Конфликт, Conflict
410 Удален, Gone
411 Требуется длина, Length Required
412 Предусловие неверно, Precondition Failed
413 Объект запроса слишком большой, Request Entity Too Large
414 URI запроса слишком длинный, Request-URI Too Long
415 Неподдерживаемый медиа тип, Unsupported Media Type
5xx — Коды ошибок сервера
500 Внутренняя ошибка сервера, Internal Server Error
501 Не реализовано, Not Implemented
502 Ошибка шлюза, Bad Gateway
503 Сервис недоступен, Service Unavailable
504 Истекло время ожидания от шлюза, Gateway Timeout
505 Не поддерживаемая версия HTTP, HTTP Version Not Supported
© 2021 Антон Прибора. При копировании материалов с сайта, пожалуйста, указывайте ссылку на источник.
Код | Ошибка | Описание |
---|---|---|
400 | Неверный запрос | Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request). |
401 | Неавторизованный запрос | Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized). |
402 | Необходима оплата за запрос | Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required). |
403 | Доступ к ресурсу запрещен | Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней. |
404 | Ресурс не найден | Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт. |
405 | Недопустимый метод | Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать (получен код 405 Method Not Allowed). |
406 | Неприемлемый запрос | Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). Получен код 406 Not Acceptable. |
407 | Требуется идентификация прокси, файервола | Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required). |
408 | Время запроса истекло | Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код 408 Request Timeout). |
409 | Конфликт | Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict). |
410 | Ресурс недоступен | Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone). |
411 | Необходимо указать длину | Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу. |
412 | Сбой при обработке предварительного условия | При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed. |
413 | Тело запроса превышает допустимый размер | Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large). |
414 | Недопустимая длина URI запроса | Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать (получен код 414 Request-URI Too Long). |
415 | Неподдерживаемый MIME тип | Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат (получен код 415 Unsupported Media Type). |
416 | Диапазон не может быть обработан | Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable). |
417 | Сбой при ожидании | Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed). |
422 | Необрабатываемый элемент | Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity). |
423 | Заблокировано | Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked). |
424 | Неверная зависимость | Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency). |
426 | Требуется обновление | Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом (получен код 426 Upgrade Required). |
Справочник по кодам статуса HTTP
Коды 3xx (перенаправление)
Перечень кодов статуса HTTP, использующихся при перенаправлении запроса (коды 3xx).
Код|Ошибка|Описание
300 |Множественный выбор|Затребованный URL обозначает более одного ресурса, и робот не смог однозначно определить, к какой странице URL относится (получен код
300 Multiple Choices
). Исправьте заголовки или укажите ресурс правильно, и тогда робот сможет проиндексировать страницу.
301 |Ресурс перемещен навсегда|Документ уже не используется сервером, а ссылка перенаправляет на другую страницу (получен код
301 Moved Permanently
). Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
302 |Ресурс временно перемещен|Запрошенный ресурс временно находится под другим адресом (получен код
302 Found
). Так как пользователи не смогут увидеть подобные документы, показывать их в поиске не имеет смысла, и робот их не индексирует. Однако робот обязательно проиндексирует страницу, на которую установлено перенаправление.
303 |Смотрите другой ресурс|Запрошенный ресурс находится под другим адресом и его следует запрашивать, используя метод GET (
получен код 303 See Other
). Если вы хотите, чтобы указанная страница находилась в поиске, она должна отвечать кодом 200.
304 |Ресурс не изменялся|(Получен код
304 Not Modified
). Если страница не изменилась с момента последнего обращения робота, рекомендуется выдавать этот код. Это ускорит индексирование и уменьшит трафик.
305 |Следует использовать прокси|Доступ к затребованному ресурсу может осуществляться только через прокси-сервер, указанный в заголовке Location (получен код
305 Use Proxy
).
307 |Временное перенаправление|Затребованный ресурс был временно переведен на другой адрес, который необходимо прописать в Location (получен код
307 Temporary Redirect
).
Коды 4xx (ошибка клиента)
Содержит перечень кодов статуса HTTP, использующихся для обозначения возможных ошибок в клиентском запросе (коды 4xx).
Код|Ошибка|Описание
400 |Неверный запрос |Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код
400 Bad Request
).
401 |Неавторизованный запрос|Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код
401 Unauthorized
).
402 |Необходима оплата за запрос|Внутренняя ошибка или ошибка конфигурации сервера (получен код
402 Payment Required
).
403 |Доступ к ресурсу запрещен|Доступ к документу запрещен (получен код
403 Forbidden
). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.
404 |Ресурс не найден|Документ не существует (получен код
404 Not Found
). Если вы удалили какой-то раздел сайта, можно с помощью robots. txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт.
405 |Недопустимый метод|Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса, поэтому робот не смог его проиндексировать (получен код
405 Method Not Allowed
).
406 |Неприемлемый запрос|Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются роботом). Получен код
406 Not Acceptable
.
407 |Требуется идентификация прокси, файервола|Необходима регистрация на прокси-сервере (получен код
407 Proxy Authentication Required
).
408 |Время запроса истекло|Сайт не передал полный запрос в течение установленного времени и робот разорвал соединение (получен код
408 Request Timeout
).
409 |Конфликт|Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код
409 Conflict
).
410 |Ресурс недоступен|Затребованный ресурс был окончательно удален с сайта (получен код
410 Gone
).
411 |Необходимо указать длину|Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код
411 Length Required
). Поправьте заголовки на своем сервере;— тогда в следующий раз робот сможет проиндексировать страницу.
412 |Сбой при обработке предварительного условия|При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код
412 Precondition Failed
.
413 |Тело запроса превышает допустимый размер|Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код
413 Request Entity Too Large
).
414 |Недопустимая длина URI запроса|Сервер отказывается обслуживать запрос, потому что запрашиваемый роботом URI (Request-URI) длиннее, чем сервер может интерпретировать (получен код
414 Request-URI Too Long
).
415 |Неподдерживаемый MIME тип|Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат (получен код
415 Unsupported Media Type
).
416 |Диапазон не может быть обработан|Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код
416 Requested Range Not Satisfiable
).
417 |Сбой при ожидании|Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код
417 Expectation Failed
).
422 |Необрабатываемый элемент|Сервер не в состоянии обработать один (или более) элемент запроса (получен код
422 Unprocessable Entity
).
423 |Заблокировано|Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код
423 Locked
).
424 |Неверная зависимость|Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код
424 Failed Dependency
).
426 |Требуется обновление|Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом (получен код
426 Upgrade Required
).
Коды 5xx (ошибка сервера)
Перечень кодов статуса HTTP, использующихся для обозначения возможных ошибок сервера (коды 5xx).
Код|Ошибка|Описание
500 |Внутренняя ошибка сервера|Сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос (получен код
500 Internal Server Error
).
501 |Метод не поддерживается|Сервер не поддерживает функциональные возможности, требуемые для выполнения запроса (получен код
501 Not Implemented
). Этот ответ соответствует состоянию, когда сервер не распознает метод запроса и не способен обеспечить его для любого ресурса.
502 |Ошибка шлюза|Сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос (получен код
502 Bad Gateway
).
503 |Служба недоступна|Возникла ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера (получен код
503 Service Unavailable
).
504 |Время прохождения через межсетевой шлюз истекло|Сервер, при работе в качестве внешнего шлюза или прокси-сервера, своевременно не получил отклик от вышестоящего сервера, к которому он обратился, пытаясь выполнить запрос (получен код
504 Gateway Timeout
).
505 |Версия НТТР не поддерживается|Сервер не поддерживает или отказывается поддерживать версию HTTP-протокола, которая используется в сообщении запроса робота (получен код
505 HTTP Version Not Supported
).
507 |Недостаточно места|Сервер не может обработать запрос из-за недостатка места на диске (получен код
507 Insufficient Storage
).
510 |Отсутствуют расширения|Сервер не может обработать запрос из-за того, что запрашиваемое расширение не поддерживается (получен код
510 Not Extended
).
Источник: Яндекс.Вебмастер
Более полный список ошибок смотрите в теме: Коды ошибок HTTP
Код | Ошибка | Описание |
400 | Неверный запрос | Запрос не может быть понят сервером из-за некорректного синтаксиса (получен код 400 Bad Request). |
401 | Неавторизованный запрос | Для доступа к документу необходимо вводить пароль или быть зарегистрированным пользователем (получен код 401 Unauthorized). |
402 | Необходима оплата за запрос | Внутренняя ошибка или ошибка конфигурации сервера (получен код 402 Payment Required). |
403 | Доступ к ресурсу запрещен | Доступ к документу запрещен (получен код 403 Forbidden). Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней. |
404 | Ресурс не найден | Документ не существует (получен код 404 Not Found). Если вы удалили какой-то раздел сайта, можно с помощью robots.txt запретить роботу обращаться к нему. Если такой страницы на сайте никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш сайт. |
405 | Недопустимый метод | Метод, определенный в строке запроса (Request-Line), не дозволено применять для указанного ресурса (получен код 405 Method Not Allowed). |
406 | Неприемлемый запрос | Нужный документ существует, но не в том формате (язык или кодировка не поддерживаются). Получен код 406 Not Acceptable. |
407 | Требуется идентификация прокси, файервола | Необходима регистрация на прокси-сервере (получен код 407 Proxy Authentication Required). |
408 | Время запроса истекло | Сайт не передал полный запрос в течение установленного времени (получен код 408 Request Timeout). |
409 | Конфликт | Запрос конфликтует с другим запросом или с конфигурацией сервера (получен код 409 Conflict). |
410 | Ресурс недоступен | Затребованный ресурс был окончательно удален с сайта (получен код 410 Gone). |
411 | Необходимо указать длину | Сервер отказывается принимать запрос без определенного заголовка Content-Length (получен код 411 Length Required). Поправьте заголовки на своем сервере. |
412 | Сбой при обработке предварительного условия | При проверке на сервере одного или более полей заголовка запроса обнаружено несоответствие (сбой или ошибка при обработке предварительного условия). Получен код 412 Precondition Failed. |
413 | Тело запроса превышает допустимый размер | Сервер отказывается обрабатывать запрос потому, что размер запроса больше того, что может обработать сервер (получен код 413 Request Entity Too Large). |
414 | Недопустимая длина URI запроса | Сервер отказывается обслуживать запрос, потому что запрашиваемый URI (Request-URI) длиннее, чем сервер может интерпретировать (получен код 414 Request-URI Too Long). |
415 | Неподдерживаемый MIME тип | Сервер отказывается обрабатывать запрос, потому что тело запроса имеет неподдерживаемый формат (получен код 415 Unsupported Media Type). |
416 | Диапазон не может быть обработан | Сервер отказывается обрабатывать запрос, потому что значение поля Range в заголовке запроса указывает на недопустимый диапазон байтов (получен код 416 Requested Range Not Satisfiable). |
417 | Сбой при ожидании | Сервер отказывается обрабатывать запрос, потому что значение поля Expect в заголовке запроса не соответствует ожиданиям (получен код 417 Expectation Failed). |
422 | Необрабатываемый элемент | Сервер не в состоянии обработать один (или более) элемент запроса (получен код 422 Unprocessable Entity). |
423 | Заблокировано | Сервер отказывается обработать запрос, так как один из требуемых ресурсов заблокирован (получен код 423 Locked). |
424 | Неверная зависимость | Сервер отказывается обработать запрос, так как один из зависимых ресурсов заблокирован (получен код 424 Failed Dependency). |
426 | Требуется обновление | Сервер запросил апгрейд соединения до SSL, но SSL не поддерживается клиентом (получен код 426 Upgrade Required). |
Коды состояния HTTP Шпаргалка
Коды состояния 4XX: ошибки клиента
400 Bad Request
401 Несанкционированный
402 Требуется оплата
Запретный 403
404 Страница не найдена
Метод 405 не разрешен
406 неприемлемо
Требуется 407 прокси-аутентификация
408 Время ожидания запроса
Конфликт 409
Прошли 410
411 длина требуется
412 Не выполнено предварительное условие
Объект запроса 413 слишком большой
414 URI запроса слишком длинный
415 Неподдерживаемый тип носителя
416 Запрошенный диапазон не удовлетворяется
417 Ожидание не удалось
418 я чайник
421 Неправильный запрос
422 Необработанный объект
423 заблокирован
424 Неудачная зависимость
425 слишком рано
426 Требуется обновление
428 Необходимое условие
429 Слишком много запросов
431 Слишком большие поля заголовка запроса
440 Время ожидания входа
444 Нет ответа
449 Повторить с
450 заблокирован Windows Родительский контроль
451 недоступен по юридическим причинам
451 Перенаправление
494 слишком большой заголовок запроса
495 Ошибка сертификата
496 Нет Сертификата
497 HTTP для HTTPS
498 токен истек / недействителен
499 Клиент закрыл запрос
Требуется 499 токенов
400 Bad Request — Сервер не смог понять запрос из-за неверного синтаксиса.
401 Несанкционированный — Хотя стандарт HTTP определяет «неавторизованный», семантически этот ответ означает «неавторизованный». То есть клиент должен пройти аутентификацию, чтобы получить запрошенный ответ.
402 Требуется оплата — Этот код ответа зарезервирован для использования в будущем. Первоначальной целью создания этого кода было использование его для цифровых платежных систем, однако этот код статуса используется очень редко, и стандартного соглашения не существует.
Запретный 403 — У клиента нет прав доступа к контенту; то есть он неавторизован, поэтому сервер отказывается предоставить запрошенный ресурс. В отличие от 401, личность клиента известна серверу.
404 не найдено — Сервер не может найти запрошенный ресурс. В браузере это означает, что URL-адрес не распознается. В API это также может означать, что конечная точка действительна, но сам ресурс не существует. Серверы также могут отправлять этот ответ вместо 403, чтобы скрыть существование ресурса от неавторизованного клиента. Этот код ответа, вероятно, самый известный из-за его частого появления в Интернете. Ресурс не найден. Это часто используется для перехвата всех недопустимых URI, запрошенных сервером.
Метод 405 не разрешен — Метод запроса известен серверу, но он отключен и не может быть использован. Например, API может запретить УДАЛЕНИЕ ресурса. Два обязательных метода, GET и HEAD, никогда не должны отключаться и не должны возвращать этот код ошибки.
406 неприемлемо — Этот ответ отправляется, когда веб-сервер после выполнения согласования содержимого под управлением сервера не находит никакого содержимого, которое соответствует критериям, заданным пользовательским агентом.
Требуется 407 прокси-аутентификация — Это похоже на 401, но аутентификация должна выполняться прокси.
408 Время ожидания запроса — Этот ответ отправляется некоторыми серверами при незанятом соединении, даже без предварительного запроса клиента. Это означает, что сервер хочет закрыть это неиспользуемое соединение. Этот ответ используется гораздо чаще, поскольку некоторые браузеры, такие как Chrome, Firefox или IE9, используют механизмы предварительного подключения HTTP для ускорения серфинга. Также обратите внимание, что некоторые серверы просто закрывают соединение, не отправляя это сообщение.
Конфликт 409 — Этот ответ отправляется, когда запрос конфликтует с текущим состоянием сервера.
Прошли 410 — Этот ответ отправляется, когда запрошенный контент был окончательно удален с сервера без адреса пересылки. Ожидается, что клиенты удалят свои кеши и ссылки на ресурс. Спецификация HTTP предполагает, что этот код состояния будет использоваться для «ограниченных по времени рекламных услуг». API не должны чувствовать себя обязанными указывать ресурсы, которые были удалены с этим кодом состояния.
411 длина требуется — Сервер отклонил запрос, потому что поле заголовка Content-Length не определено и оно требуется серверу.
412 Не выполнено предварительное условие — Клиент указал в своих заголовках предварительные условия, которым сервер не отвечает.
413 Слишком большая полезная нагрузка — Сущность запроса превышает пределы, определенные сервером; сервер может закрыть соединение или вернуть поле заголовка Retry-After.
414 URI слишком длинный — URI, запрошенный клиентом, длиннее, чем сервер готов интерпретировать.
415 неподдерживаемый тип носителя — Формат мультимедиа запрошенных данных не поддерживается сервером, поэтому сервер отклоняет запрос.
416 Неудовлетворительный диапазон — диапазон, указанный полем заголовка Range в запросе, не может быть выполнен; возможно, что диапазон выходит за пределы размера данных целевого URI.
417 Ожидание не удалось — Этот код ответа означает, что ожидание, указанное в поле заголовка запроса Expect, не может быть выполнено сервером.
418 Я чайник — Любая попытка заварить кофе с помощью чайника должна приводить к появлению кода ошибки «418 Я чайник». Полученное тело объекта МОЖЕТ быть коротким и крепким.
421 неправильный запрос — Запрос был направлен на сервер, который не может дать ответ. Это может быть отправлено сервером, который не настроен для создания ответов для комбинации схемы и полномочий, которые включены в URI запроса.
422 необработанного объекта — Запрос был отформатирован правильно, но не может быть обработан в текущем виде. Часто используется, когда указанные параметры не соответствуют ошибкам проверки.
423 заблокирован — Запрошенный ресурс был найден, но заблокирован и не будет возвращен.
424 Неудачная зависимость — Запрос не выполнен из-за сбоя предыдущего запроса.
425 слишком рано — Указывает, что сервер не желает рисковать обработкой запроса, который может быть воспроизведен.
426 Требуется обновление — Сервер отказывается выполнять запрос с использованием текущего протокола, но может согласиться сделать это после того, как клиент перейдет на другой протокол. Сервер отправляет заголовок Upgrade в ответе 426, чтобы указать требуемый протокол (ы).
428 Требуется предварительное условие — Исходный сервер требует, чтобы запрос был условным. Этот ответ предназначен для предотвращения проблемы «потерянного обновления», когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервере, что привело к конфликту.
429 слишком много запросов — Пользователь отправил слишком много запросов за заданный промежуток времени («ограничение скорости»).
431 слишком большие поля заголовка запроса — Сервер не желает обрабатывать запрос, потому что его поля заголовка слишком велики. Запрос может быть отправлен повторно после уменьшения размера полей заголовка запроса.
440 Войти Timout — Расширение Microsoft. Указывает, что срок вашего сеанса истек.
444 Нет ответа — Используется в журналах Nginx, чтобы указать, что сервер не вернул информацию клиенту и закрыл соединение (полезно в качестве средства защиты от вредоносных программ).
449 Повторить с — Расширение Microsoft. Запрос следует повторить после выполнения соответствующего действия.
450 заблокирован Windows Родительский контроль — Расширение Microsoft. Эта ошибка возникает, когда родительский контроль Windows включен и блокирует доступ к данной веб-странице.
451 недоступен по юридическим причинам — Оператор сервера получил законное требование запретить доступ к ресурсу или набору ресурсов, который включает запрошенный ресурс.
451 Перенаправление — Используется в Exchange ActiveSync, если существует более эффективный сервер или сервер не может получить доступ к почтовому ящику пользователя.
494 слишком большой заголовок запроса — Внутренний код Nginx похож на 431, но был представлен ранее в версии 0.9.4.
495 Ошибка сертификата — Внутренний код Nginx, используемый при возникновении ошибки сертификата клиента SSL, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
496 Нет Сертификата — Внутренний код Nginx, используемый, когда клиент не предоставил сертификат, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
497 HTTP для HTTPS — Внутренний код Nginx, используемый для простых HTTP-запросов, которые отправляются на порт HTTPS, чтобы отличить его от 4XX в журнале и перенаправлении страницы с ошибкой.
498 токенов истек / недействителен — Возвращено ArcGIS for Server. Код 498 указывает на просроченный или недействительный токен по иным причинам.
499 Клиент закрыл запрос — Используется в журналах Nginx, чтобы указать, когда соединение было закрыто клиентом, пока сервер все еще обрабатывает свой запрос, что не позволяет серверу отправить код состояния обратно.
Требуется 499 токенов — Возвращено ArcGIS for Server. Код 499 указывает на то, что требуется токен (если токен не был отправлен).
Коды статуса HTTP
: перечислены все возможные коды
Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальный сбор за некоторые услуги, которые мы рекомендуем на этой странице. Узнать больше
Основные сведения о коде состояния HTTP
Большинство людей не слишком задумываются о том, что на самом деле происходит, когда они переходят на веб-страницу. Они просто открывают свой браузер, щелкают что-то, и вот оно у меня на экране!
Ищете конкретный код? Взгляните на содержание справа!
Мы предпочитаем не думать о сложном танце запросов и ответов, происходящих между веб-браузером нашего компьютера и удаленным сервером, в центре обработки данных, невидимым (обычно) даже системным администратором веб-сайта и ИТ-персоналом.
Но потом, то и дело, мы сталкиваемся с ошибкой. Получаем умную страницу 404 Not Found
с забавной картинкой на ней. Или мы получаем пустую страницу с примечанием из нашего собственного браузера о какой-то неизвестной ошибке 501
.
Обычного посетителя веб-сайта это просто раздражает. Обычно мы пытаемся снова — обновить, вернуться, щелкнуть еще раз. Иногда это срабатывает — мы называем это глюк и сразу забываем о нем. Иногда это не работает — мы называем это «плохим сайтом» и, как правило, быстро забываем и об этом.
Но если вы на самом деле запускаете веб-сайт — это все меняет. Ошибки HTTP не раздражают. Они сводят с ума. Они смущают.
Если вы особенно разбираетесь в технологиях или у вас есть хорошая ИТ-команда, это может не иметь большого значения. Большинство подобных проблем легко исправить. Но если вы владелец малого бизнеса, запуск собственного веб-сайта, статус HTTP и коды ошибок могут свести вас с ума.
Как исправить ошибки HTTP? Как избежать ошибок HTTP? Что вообще означают все эти коды состояния HTTP?
Это то, что охватывает это руководство, а также информация о:
- хороших кодах состояния HTTP (тех, которые вы обычно не видите)
- полезных кодах состояния HTTP
- , какие типы переадресации вы должны использовать (и Почему).
Но сначала, чтобы понять коды состояния HTTP, вы должны понять, как HTTP работает в первую очередь.
HTTP-запросы и ответы
HTTP означает «Протокол передачи гипертекста».
Что такое протокол?
Когда вы садитесь на военно-морской корабль, есть определенный способ действовать. Сначала вы отдаете честь флагу, затем дежурному офицеру, затем просите разрешения на посадку.
Это протокол.
Протокол — это набор правил для определенного типа взаимодействия.
Иногда протокол бывает очень жестким и определенным:
- Для посадки на корабль:
- Флаг приветствия
- Приветствие дежурного офицера
- Спросите разрешения на посадку.
Иногда протоколы немного свободнее и ненаписаны, но все же хорошо известны:
- Когда прибудет ваш праздничный торт:
- Подождите, пока все закончат петь
- Загадайте желание
- Задуйте свечи, желательно на одном дыхании.
Компьютерные взаимодействия — это , всего около протоколов.Когда два компьютера (или сеть компьютеров) разговаривают друг с другом, у них должен быть набор четко определенных правил для общения.
Правила того, как веб-браузер вашего локального компьютера взаимодействует с веб-сервером, на котором размещен сайт, который вы пытаетесь просмотреть, — это HTTP (HyperText Transfer Protocol ).
Почему мы передаем гипертекст?
Первоначально веб-страницы были в основном документами. «Веб-страница» считалась реальной «страницей». Сайт представлял собой собрание документов.Главная страница сайта была «указателем» имеющихся документов.
Какие документы? Гипертекстовые документы.
Гипертекст просто означает, что документы связаны друг с другом «гиперссылками». Сегодня мы называем их просто старыми «ссылками» — теперь они настолько обычны, что мы больше не называем их «гипер».
Интерактивные «гиперссылки» в тексте — эта идея, которая сейчас так распространена, была настолько революционной, когда инернет только создавался, что все было названо в ее честь.
На каком языке написаны эти документы? Язык разметки гипертекста (HTML). А протокол запроса и получения этих документов? HTTP.
Итак, HTTP — это …
HTTP — это набор правил и процедур, определяющих, как веб-браузер (или другой «клиент») запрашивает ресурсы с другого компьютера («сервера») и как этот другой компьютер реагирует на них. Запросы.
HTTP-запрос
Итак, когда вы вводите адрес, щелкаете ссылку или иным образом открываете веб-страницу, ваш браузер отправляет запрос на какой-то другой сервер.
Цель запроса определяется URL-адресом и системой DNS. Система DNS — это тема для другого дня, но в основном DNS — это адресная книга, которая сопоставляет доменные имена с определенными IP-адресами компьютеров.
Цель запроса определяется именем домена, и весь URL-адрес является наиболее важной частью запроса — все, что находится после имени домена, сообщает серверу о конкретном запрашиваемом ресурсе. Запрос также содержит другую информацию, например:
- Тип запроса.Два наиболее распространенных:
- GET — «Отправьте мне этот ресурс».
- POST — «Вот данные для обработки».
- Поля заголовка — необязательные поля метаданных, используемые для сообщения серверу о клиенте (например, о типе браузера).
- Body — Данные, отправленные клиентом (для использования с POST).
Сервер получает этот запрос и (после некоторой обработки) отправляет ответ.
HTTP-ответ
Самая первая строка ответа — это HTTP Status .
Строка состояния состоит из двух частей: числового кода (например, 200
) и текстового объяснения (например, Success
).
Когда все работает нормально, вы получаете статус 200: Success
(который вы, как пользователь-человек, никогда не видите), затем некоторые данные заголовка (которые вы также не видите), а затем запрашиваемый вами ресурс (который является что вы видите).
Ресурс может представлять собой целую веб-страницу, изображение, видео или звуковой файл. Это также может быть что-то, чего вы не видите, например файл JavaScript или таблица стилей.
Когда что-то не работает, работает так хорошо, вы можете увидеть сообщение о статусе. Обычно это происходит, когда вы получаете что-то вроде кода 404 или 501. Это коды ошибок . Что-то пошло не так.
Ответы с кодами ошибок 404 или 501 не возвращаются с запрашиваемым ресурсом. Иногда они возвращаются с другим ресурсом (например, с умной страницей 404). Иногда ресурса вообще нет (это когда вы получаете пустую страницу браузера и сообщение об ошибке по умолчанию).
Существуют также коды состояния, которые указывают браузеру искать в другом месте, например, при перенаправлении 301. Эти ответы также не приходят на запрошенный ресурс.
Вместо этого данные заголовка говорят браузеру сделать новый запрос с другим URL-адресом. Обычно вы не замечаете, когда это происходит, потому что ваш браузер просто выполняет то, что ему сказано, и делает второй запрос.
Затем он показывает вам ресурс из второго ответа, не сообщая вам, что что-то произошло. Коды ответа перенаправления обычно не имеют значения для конечных пользователей, но они должны иметь большое значение для администраторов веб-сайтов.
Классы кодов состояния
Вы, наверное, заметили, что все коды состояния представляют собой трехзначные числа. Вы заметили, что первая цифра всегда находится между 1
и 5
?
Коды состояния сгруппированы в пять «классов» кодов. Ошибка 404: Not Found
является частью класса кодов состояния 400
(или иногда 4xx
). Каждый класс охватывает определенный круг вопросов или состояний.
- 1xx — Информационный — это предварительные ответы, предназначенные для использования, пока сервер продолжает обрабатывать запрос.Они редко используются.
- 2xx — Успех — коды используются, когда все работает так, как должно. Возвращаются разные коды успеха в зависимости от того, что, в частности, пытался сделать запрос.
- 3xx — Перенаправление — коды, используемые для указания клиенту искать запрошенный ресурс в другом месте.
- 4xx — Ошибка клиента. Эти коды говорят клиенту, что он сделал что-то не так.
- 5xx — Ошибка сервера — Код, когда что-то на сервере работает не так, как ожидалось.
Мы рассмотрим конкретные коды каждого класса более подробно в отдельных разделах.
Работа с кодами состояния (и ошибок) HTTP
В этом руководстве рассматриваются все возможные коды состояния HTTP и ошибок HTTP — от общих до неиспользуемых. Мы объясним, что означает каждый код, почему они создаются, когда код может быть проблемой и как решать проблемы.
Код состояния HTTP 1xx — информационный
Знание — сила.Информация освобождает.
—Кофи Аннан
Коды состояния HTTP в классе 1xx предназначены для использования в качестве предварительных и отправляются сервером перед отправкой полного и завершенного второго ответа.
Они были введены в HTTP / 1.1, поэтому ранние браузеры, реализующие HTTP / 1.0, не могут их обрабатывать, и в этих случаях серверы должны , а не заканчивать коды 1xx.
HTTP 100 Продолжить
Обычно последовательность запрос-ответ проста. Сделан, получен и дан ответ на один-единственный запрос.
Но иногда запрос нужно разбивать на части. Это может произойти, если запрос слишком большой. Это может произойти, если запрашивающей стороне необходимо проверить, правильно ли отформатирован заголовок или действительно ли сервер готов принять запрос.
В этих случаях клиент (браузер) может отправить начальный запрос с заголовком, который включает Expect: 100-continue
.
Когда это произойдет, сервер получит первоначальный запрос и, если все в порядке, ответит статусом 100: Продолжить
.Это сигнализирует клиенту о завершении запроса.
Если все не работает работает нормально, сервер отправит обратно 417 Expectation Failed
.
HTTP 101 Переключение протоколов
Клиент может попросить сервер переключить протоколы, например, с HTTP / 1.1 на HTTP / 2.0.
Если сервер готов выполнить этот запрос, он отправит обратно ответ 101: Switching Protocols
вместе с данными заголовка, которые включают имя нового используемого протокола.
Обработка HTTP 102
Этот код используется только с WebDAV, который является расширением HTTP, предоставляющим возможность манипулирования файлами, чем-то похожим на FTP (хотя и сильно отличается в реальной реализации).
Запрос WebDAV может включать множество подзапросов. Статус 102: Обработка
позволяет клиенту знать, что сервер получил запрос и работает над ним, но еще есть над чем поработать. Это не дает клиенту предположить, что запрос был потерян, и истекло время ожидания.
Код состояния HTTP 2xx — Успех
Все, что вам нужно в этой жизни, — это незнание и уверенность, и тогда успех гарантирован.
—Mark Twain
Коды состояния HTTP в классе 2xx предназначены для использования, когда запрос был выполнен должным образом.
Многие из этих кодов никогда или редко используются или даже реализуются.
HTTP 200 OK
Это стандартный ответ для успешных запросов — это код состояния, который вы обычно хотите и ожидаете.
Когда запрос GET (запрос ресурса), ответ будет включать ресурс. Когда запрос является POST (или другим типом), ответ будет содержать ресурс, который описывает или содержит результат действия.
HTTP 201 Создано
Некоторые запросы предназначены для создания нового ресурса. Когда они завершаются успешно, отправляется статус 201
, чтобы указать, что новый ресурс был создан. Обычно это используется вместе с типом запроса PUT.
HTTP 202 Принято
Запрос был принят, но не выполнялся. Запрос может или не может быть выполнен.
HTTP 203 Неавторизованная информация
Ответ содержит запрошенный ресурс, но ресурс мог быть получен из другого источника и, следовательно, может быть ненадежным — сервер не ручается за действительность или подлинность ресурса.
HTTP 204 Нет содержимого
Это отправляется, когда сервер успешно обработал запрос, но не должен возвращать какое-либо содержимое.Чаще всего это происходит в результате запроса DELETE.
Когда отправляется запрос 204, пользовательский агент (клиент или веб-браузер), в частности, , а не , должен изменить свое представление.
Например, если запрос был отправлен через форму на странице, ответ не должен приводить к обновлению формы или посещению браузером другой страницы — в запросе нет нового содержимого для замены существующего содержимого в взгляд пользователя.
HTTP 205 Сброс содержимого
Ответ 205
аналогичен ответу 204
, но пользовательский агент должен обновить свое представление до состояния по умолчанию текущего документа.
HTTP 206, частичное содержимое
Используется, когда сервер отправляет только часть запрошенного ресурса, потому что пользователь запросил для получения только части ресурса.
Это происходит, когда ресурс достаточно велик или соединение настолько ненадежно, что пользовательский агент хочет разделить ресурс на серию «фрагментированных» запросов, как показано:
- Клиент: Дайте мне первую 1/4 .
- Сервер: 206 Частичное содержимое
- Клиент: Дайте мне второй
1/4.
- Сервер: 206 Частичное содержимое.
- И так далее …
Эти частичные запросы выполняются клиентом с использованием заголовка диапазона
. Они могут происходить одно за другим (для защиты от сбоя загрузки) или все сразу в нескольких потоках (для ускорения загрузки).
HTTP 207 Multi-Status
Как и 103
, используется только с WebDAV.
Запрос WebDAV может иметь несколько подзапросов, каждый из которых имеет свой статус и ответ.Статус 207
указывает, что тело ответа будет включать XML-документ с подробным описанием статуса и ответов каждого подзапроса.
HTTP 208 уже передано
Другой код состояния только для WebDAV. Это означает, что члены привязки DAV уже были перечислены в предыдущем ответе на текущий запрос и не включаются снова.
HTTP 226 IM Используется
Сервер выполнил запрос ресурса, и ответ является представлением результата одной или нескольких манипуляций с экземпляром, примененных к текущему экземпляру.
Код состояния HTTP 3xx — перенаправление
Всякий раз, когда вы отказываетесь от чего-то, вы должны что-то заменить.
—Lou Holtz
Статусы в классе 3xx отправляются, когда со стороны клиента требуется дополнительное действие для выполнения запроса. Это чаще всего используется для перенаправления одного URL-адреса на другой, хотя и не всегда.
В случае запросов GET браузер обычно выполняет второй запрос без какого-либо ввода или дополнительного взаимодействия со стороны пользователя.В других случаях требуется дополнительное вмешательство пользователя.
Чтобы избежать бесконечных циклов перенаправления, браузеры обычно не выполняют более пяти последовательных перенаправлений одного и того же запроса.
HTTP 300 с несколькими вариантами выбора
Статус 300
возвращается браузерами, когда запрос приводит к нескольким параметрам для ресурса. Теоретически это можно использовать для представления различных вариантов формата файла, различных медиа-презентаций одного и того же контента или даже для устранения неоднозначности.
Статус 300 Множественный выбор
имеет большой потенциал, но не часто используется.
HTTP 301 перемещен навсегда
Этот статус указывает, что ресурс изменил URL-адрес навсегда.
Поисковые системы обновляют свой индекс на основе этого, обычно присваивая любой рейтинг от исходного URL-адреса новому URL-адресу.
Браузеры и другие типы клиентов часто кэшируют новый URL-адрес и автоматически следуют URL-адресу перенаправления без прямой проверки оригинала на предмет последующих запросов, даже если исходный URL-адрес вводится вручную.Сохраненные закладки также обычно обновляются.
Как правило, если вы настраиваете переадресацию из-за изменения доменного имени в структуре URL-адреса, вы должны использовать переадресацию 301: перемещен навсегда
.
Их можно настроить в файле .htaccess
или httpd.conf
на вашем сервере или часто в вашей системе управления контентом. (Например, есть несколько плагинов WordPress для управления переадресацией 301
.)
Когда веб-сайт изменен и структура URL-адресов изменена, очень важно настроить переадресацию 301
для каждые URL-адресов с исходный сайт.Несоблюдение этого правила приведет к неработающим ссылкам и разочарованию посетителей.
HTTP 302 Найдено
Код состояния 302
обычно используется для временных перенаправлений. Отраслевая практика с переадресацией 301
отличалась от исходной спецификации, и спецификация развивалась в соответствии с отраслевой практикой.
Первоначально в спецификации говорилось, что статус 302
должен заставлять браузер делать второй, идентичный запрос к новому URL-адресу.Однако многие веб-браузеры первого поколения реализовали это таким образом, что запросы POST
были переписаны как запросы GET
.
Чтобы попытаться прояснить ситуацию, обновленная спецификация HTTP / 1.1
добавила два дополнительных кода состояния: 303
и 307
.
302 Found
должен был имитировать реализованное поведение «переключиться на GET
», а 307 Temporary Redirect
предназначалось для замены исходного ожидаемого поведения 302
.
Однако большинство серверов и веб-фреймворков просто продолжали использовать 302
для обратной совместимости с браузерами, которые не реализуют новые стандарты.
Более поздние спецификации HTTP согласились со стандартной практикой, позволяя браузерам переписывать запросы POST
на запросы GET
.
Следствием всего этого является то, что если вы используете перенаправление 302
на URL-адрес, который должен был принимать данные POST
, эти данные, скорее всего, будут включены во второй запрос , а не .
По этой причине 302
следует использовать только на URL-адресах, которые принимают данные POST
(веб-формы), если сервер действительно может принять отправленные данные по исходному URL-адресу и использовать перенаправление для доставки страницы после данных было принято.
Все это на практике делает 303
избыточным.
Обычно перенаправление 302
должно использоваться , а не
HTTP 303 См. Другое
На практике это идентично статусу 302
.Это означает, что ответ или ресурс можно найти по другому URL-адресу с помощью метода GET
. При получении в ответ на запрос POST
браузер должен предположить, что данные были получены.
HTTP 304 Не изменено
Веб-браузеры могут отправлять запрос с заголовком, который спрашивает, был ли ресурс изменен с определенных данных и времени. Это делается, если браузер уже скачал ресурс ранее и сохранил его.
Если с того времени было изменено , сервер ответит ресурсом и статусом 200 Успех
.
Если, однако, ресурс , а не был изменен, сервер отправит статус 304 Не изменен
и не отправит также ресурс. Затем браузер должен обслуживать сохраненную версию ресурса, поскольку она не изменилась.
HTTP 305 Использовать прокси
Запрошенный ресурс доступен только через прокси. Адрес прокси указан в ответе. Ожидается, что веб-браузер повторит запрос через прокси-сервер. Не все клиенты реализуют это в соответствии со стандартом из соображений безопасности.
HTTP 306 Switch Proxy
Статус 306
изначально означал «Последующие запросы должны использовать указанный прокси». Больше не используется.
HTTP 307 Temporary Redirect
Этот статус был создан для репликации исходного намерения статуса 302
(см. Выше).
Статус 307: Temporary Redirect
означает, что на этот раз запрос следует повторить с другим URL-адресом, но в будущем, однако, запросы должны по-прежнему использовать исходный URL-адрес.
В отличие от того, как 302
исторически реализовывалось клиентами, метод запроса не должен изменяться при отправке второго запроса. Например, запрос POST
должен быть повторен с использованием другого запроса POST
и со всеми исходными данными POST
.
HTTP 308 Постоянное перенаправление
Текущий запрос должен быть повторен с использованием другого URL-адреса, и все будущие запросы также должны быть отправлены на этот URL-адрес.
Подобно 307
и 302
, этот статус дублирует функциональность, указанную в исходной спецификации 301
. Однако с 308
(как и с 307
) второй запрос должен быть идентичен исходному запросу — с использованием того же метода и с теми же данными.
HTTP 308 Возобновить неполное
Этот код состояния был создан и используется Google. Он является частью предложения возобновляемых HTTP-запросов и используется для возобновления прерванных запросов PUT
или POST
.
Код состояния HTTP 4xx — ошибка клиента
Кто угодно может ошибаться, но только идиот продолжает ошибаться.
—Marcus Tullius Cicero
Из пяти классов кодов состояния HTTP только два из них действительно являются «кодами ошибок»: классы 4xx
и 5xx
.
Серия ошибок HTTP 4xx
предназначена для использования, когда кажется, что ошибка исходит от клиента, то есть что-то не так с запросом.
Наряду с статусом ошибки и другой информацией заголовка серверы часто предоставляют полный ответ (называемый «сущностью» вместо «ресурса», но в остальном то же самое), который должен отображаться пользователю.
Это предназначено, чтобы предоставить пользователю способ исправить любую ошибку клиента. Наиболее часто встречающаяся форма этих объектов — страница 404
, обсуждаемая ниже.
Неверный запрос HTTP 400
Это общий ответ на запрос с некоторой проблемой.Проблема может заключаться в неправильном синтаксисе, недопустимом форматировании или вводящей в заблуждение маршрутизации запросов. Серверы часто предоставляют дополнительную информацию о том, что конкретно пошло не так с запросом.
HTTP 401 Неавторизованный
Используется, когда ресурс ограничен определенными аутентифицированными пользователями. Статус означает, что либо не было аутентификации, либо аутентификация не удалась. Согласно стандарту ответ с этим кодом должен включать средства аутентификации.
HTTP 402 Требуется оплата
Обычно не используется, поскольку спецификация не предоставляет достаточно информации для текущей реализации (она названа и зарезервирована для использования в будущем, но полная спецификация не была принята).
Намерение состоит в том, чтобы использовать этот код как часть некоторого типа системы цифровых денег или микроплатежей.
YouTube использует этот статус, если получает слишком много запросов с одного IP-адреса. Ответ требует CAPTCHA, чтобы подтвердить, что пользователь — человек.
HTTP 403 Запрещено
Подобно 401
, это означает, что запрос был действительным, но сервер не ответит на него, потому что у пользователя нет разрешения на просмотр ресурса. В отличие от ошибки 401: Unauthorized
, аутентификация не имеет значения.
HTTP 404 Not Found
Это наиболее часто встречающаяся ошибка класса 4xx
и, возможно, наиболее часто замечаемый статус HTTP для обычного пользователя.
404
возвращается, если запрос действителен, но запрошенный ресурс просто не может быть найден на сервере.
Большинство веб-фреймворков дают администратору веб-сайта возможность создать «страницу 404». Это страница, которую пользователь видит при возникновении ошибки 404
.
Обычно это информирует пользователя о проблеме, приносит извинения за неудобства и предоставляет альтернативные способы поиска контента, который ищет пользователь, например поиск.
Некоторые веб-сайты будут проверять любые ключевые слова в URL-адресе запроса и пытаться определить, какую страницу или ресурс, возможно, искал пользователь, и предоставить один или несколько вариантов для альтернативных страниц.
Несмотря на то, что ошибки 4xx
технически являются «ошибками клиента», ошибка 404
часто является результатом неработающих ссылок — URL-адресов, которые ранее содержали контент, но теперь изменились.
По этой причине необходимость доставки страницы 404
может немного смущать веб-сайты, поскольку это часто означает неспособность обеспечить правильное перенаправление URL-адресов. Подразумевается не «вы испортили свой запрос», а скорее «мы потеряли то, что вы ищете».
Из-за этого очень часто веб-сайты превращают свои 404 Pages
в место для юмора.
HTTP 405 Method Not Allowed
Используется, когда запрос правильно сформирован и запрашиваемый ресурс существует, но метод запроса (например, GET
или POST
) не подходит для ресурса.
Например, URL-адрес, который получил данные формы, должен быть доступен с помощью запроса POST
. Запрос GET
может привести к ответу 405: метод запрещен
. Использование PUT
на ресурсе только для чтения также может вызвать такой ответ.
HTTP 406 Неприемлемо
Запросы могут и часто указывают тип контента, который они ищут, с использованием типов MIME.
Если тип запрошенного ресурса не соответствует типу (ам), перечисленным в заголовке Accept
запроса, сервер вернет ошибку 406: Not Acceptable
.
HTTP 407 Требуется аутентификация прокси-сервера
Перед тем, как получить доступ к запрошенному ресурсу, клиент должен сначала аутентифицировать себя с помощью прокси, указанного в ответе.
HTTP 408 Request Timeout
Эта ошибка возникает, когда сервер теряет время ожидания запроса.
Из спецификации:
Клиент не отправил запрос в течение времени, которое сервер был подготовлен к ожиданию. Клиент МОЖЕТ повторить запрос без изменений в любое время.
Конфликт HTTP 409
Указывает, что запрос не может быть обработан из-за конфликта с самим собой. Это может произойти, например, в случае нескольких обновлений, которые вызывают конфликты редактирования друг с другом.
HTTP 410 Gone
Эта ошибка аналогична ошибке 404
, но предназначена для указания того, что запрошенный ресурс был намеренно удален и больше не будет доступен ни по одному URL-адресу.
Клиенты должны отреагировать на этот ответ, очистив ресурс — закладки должны быть удалены, а поисковые системы должны удалить ресурс из своих индексов.
В большинстве случаев этого не требуется, и ошибка 404
обычно является более подходящей.
HTTP 411 Требуется длина
Запрошенный ресурс требует, чтобы в запросах была указана их длина, а в запросе этого не было.
HTTP 412 Precondition Failed
Запрашивающая сторона поместила предварительные условия или требования в заголовок запроса, и сервер не может удовлетворить одно или несколько из этих требований.
HTTP 413 Слишком большой объект запроса
Размер запроса больше, чем сервер может обработать.
HTTP 414 Request-URI Too Long
Указанный URI (URL) слишком длинный для обработки сервером.
Это часто является причиной того, что несоответствующий объем данных передается в URL-адресе в виде строки запроса в запросе GET
. Обычное решение — преобразовать запрос в POST и поместить данные в тело запроса.
HTTP 415 Неподдерживаемый тип носителя
Обычно используется для загрузки файлов, когда объект запроса (загружаемый файл) имеет тип, не поддерживаемый сервером.
HTTP 416 Запрошенный диапазон не выполняется
Это возвращается, когда запрос запрашивает часть файла с использованием заголовка диапазона
, но запрошенная часть не существует.Например, если запрос запрашивает часть файла, которая находится за пределами файла.
HTTP 417 Expectation Failed
Этот статус возвращается сервером, если он не может соответствовать ожиданиям, установленным заголовком expect
в запросе.
Заголовок expect
чаще всего используется для запроса у сервера статуса 100 Continue
.
HTTP 418 Я чайник
Этот код ошибки возвращают подключенные к Интернету чайники, если им отправляют запрос на кофе.
HTTP 419 Тайм-аут аутентификации
На самом деле это не часть стандарта HHTP, но некоторые клиенты и серверы его используют. Он возвращается, когда запрос, требующий аутентификации пользователя, отправляется запрашивающей стороной, срок аутентификации которой истек.
Ошибка метода HTTP 420 (Spring Framework)
Не является частью стандарта HTTP, но определено Spring в их веб-платформе для использования в случае сбоя метода. Это устарело.
HTTP 420 Повысьте спокойствие (Twitter)
Не является частью стандарта HTTP, но введен Twitter.Это использовалось версией 1 их API, когда скорость запросов от конкретного клиента была ограничена.
Более стандартный статус для такой ситуации - 429: слишком много запросов
.
Неверный запрос HTTP 421
Этот статус был введен в HTTP / 2. Он используется, когда запрос был направлен на сервер, который в настоящее время не может дать ответ.
HTTP 422 Unprocessable Entity
Это связано с расширением WedDAV. Он возвращается, когда семантические ошибки делают запрос необработанным.
HTTP 423 Заблокировано
Используется с WedDAV. Это означает, что запрошенный ресурс заблокирован.
HTTP 424 Неудачная зависимость
Используется с WebDav. Запрос не выполнен, потому что предыдущий запрос, от которого зависит текущий запрос, не удался.
HTTP 426 Требуется обновление
Клиент должен переключиться на другой протокол, как указано в заголовке upgrade
.
HTTP 428 Требуется предварительное условие
Используется, когда сервер требует, чтобы запрос был условным.
Например, сервер может потребовать, чтобы запрос содержал условие, согласно которому запрос должен обрабатываться только в том случае, если ресурс не обновлялся с определенной даты и времени. Если никакое условие не указано, запрос не выполняется, и возвращается этот статус.
Согласно спецификации, этот статус был предназначен для предотвращения «проблемы« потерянного обновления », когда клиент ПОЛУЧАЕТ состояние ресурса, изменяет его и отправляет обратно на сервер, когда тем временем третья сторона изменила состояние на сервер, что привело к конфликту."
HTTP 429 Слишком много запросов
Клиент (обычно в соответствии с IP-адресом) отправил слишком много запросов в течение указанного периода.
Это возвращается, когда одно поле заголовка или все они вместе являются слишком большими для обработки сервером.
HTTP 440 Тайм-аут входа в систему (Microsoft)
Не входит в стандарт, но используется Microsoft. Указывает, что время сеанса истекло.
HTTP 444 Нет ответа (Nginx)
Не входит в стандарт.На самом деле это не статус ответа, который использовался.
Это было введено Nginx для журналов серверов, чтобы указать, когда сервер просто не отправил ответ и закрыл соединение, обычно в случае предполагаемой атаки вредоносного ПО.
HTTP 449 Retry With (Microsoft)
Не является частью стандарта, но используется Microsoft.
Запрос следует повторить после выполнения действия, описанного в ответе.
HTTP 450 заблокировано родительским контролем Windows (Microsoft)
Не входит в стандарт, но используется Microsoft.
Эта ошибка возникает, когда родительский контроль Windows включен и блокирует доступ к данной веб-странице. Ошибка исходит от приложения WPC, а не от сервера.
HTTP 451 Недоступен по юридическим причинам (черновик)
Этот статус еще не является частью стандарта, но доступен в виде черновика.
Предполагаемое использование - когда ресурс не может быть предоставлен из-за цензуры или по другим юридическим причинам. Кодовый номер - это ссылка на книгу Farenheit 451 .
HTTP 451 Redirect (Microsoft)
Не является частью стандарта, но используется Microsoft. Происходит в Exchange ActiveSync, если существует более эффективный сервер для использования или сервер не может получить доступ к почтовому ящику пользователей.
Не входит в стандарт, но использовался Nginx. Сейчас не рекомендуется.
Он имел то же значение, что и 431
, но был введен до того, как этот статус стал частью стандарта HTTP.
HTTP 495 Ошибка сертификата (Nginx)
Не входит в стандарт.Фактически не используется статус ответа, но отображается в журналах Nginx при возникновении ошибки сертификата клиента SSL.
HTTP 496 Нет сертификата (Nginx)
Не входит в стандарт. Фактически не используется статус ответа, но отображается в журналах Nginx, когда клиент не предоставил сертификат.
HTTP 497 HTTP в HTTPS (Nginx)
Не входит в стандарт. Фактически не используется статус ответа, но отображается в журналах Nginx, когда простые HTTP-запросы отправляются на порт HTTPS.
HTTP 498 Token Expired / Invalid (Esri)
Возвращено ArcGIS for Server.Код 498 указывает на просроченный или недействительный токен по иным причинам.
HTTP 499 Client Closed Request (Nginx)
Не входит в стандарт. Фактически не используется статус ответа, но отображается в журналах Nginx, когда соединение было закрыто клиентом, пока сервер все еще обрабатывает свой запрос, что делает сервер неспособным отправить код состояния обратно.
Требуется токен HTTP 499 (Esri)
Возвращается ArcGIS for Server. Код 499 указывает на то, что требуется токен (если токен не был отправлен).
Код состояния HTTP 5xx - Ошибка сервера
Я действительно поражаюсь, когда думаю, насколько слаб мой разум и насколько подвержен ошибкам.
—Rene Descartes
Наряду с серией 4xx
, коды состояния HTTP 5xx
являются кодами ошибок, которые выдаются, когда что-то идет не так. Коды ошибок 5xx
- это коды ошибок сервера, означающие, что они возвращаются, когда проблема возникает на сервере, а не на клиенте.
По возможности сервер должен возвращать объект ответа, который описывает ошибку клиенту.Пользовательские агенты (веб-браузеры) должны показывать эту информацию пользователю.
HTTP 500 Внутренняя ошибка сервера
Это самая общая ошибка сервера, которая выдается веб-серверами, когда что-то неопределенное пошло не так.
Как правило, любое изменение конфигурации веб-сайта или сервера должно сопровождаться тщательным тестированием, чтобы убедиться, что не возникает 500: Внутренняя ошибка сервера
.
Когда возникает ошибка 500
, просмотр журналов сервера часто может помочь определить, откуда возникла ошибка.Часто это может быть просто опечатка в файле .htaccess
.
HTTP 501 Не реализовано
Это возвращается, когда метод запроса HTTP (например, PUT
или DELETE
), метод API в некоторых случаях, еще не реализован. Это используется для API веб-служб. Обычно ошибка 501
подразумевает, что метод запроса планируется реализовать в будущем.
HTTP 502 Плохой шлюз
Это происходит, когда сервер действует как прокси или шлюз и получает недопустимый ответ от вышестоящего сервера.
HTTP 503 Служба недоступна
Сервер в настоящее время недоступен. Например, потому что он перегружен или отключен для обслуживания.
Ошибка 503
означает временное отключение.
HTTP 504 Gateway Timeout
Эта ошибка возвращается, когда сервер действует как прокси или шлюз и не получает ответа от вышестоящего сервера в течение отведенного времени.
HTTP 505 Версия HTTP не поддерживается
Эта ошибка означает, что сервер не поддерживает версию протокола HTTP, используемую в запросе.
HTTP 506 вариант также согласовывает
Чтобы понять ошибку 506
, вы должны понимать согласование прозрачного содержимого.
При согласовании содержимого один URL-адрес может доставлять один и тот же ресурс или информацию в нескольких форматах. Например, одно и то же изображение может быть закодировано как JPEG и как GIF.
Ошибка 506
возникает, когда это согласование содержимого вызывает цикл. Например: Запрошенный ресурс A
имеет два варианта - B
и C
.Оба они имеют вариант A
.
Чтобы выразить это более техническим языком, спецификация описывает ошибку 506
следующим образом:
Согласование прозрачного содержимого для запроса приводит к циклической ссылке.
HTTP 507 Недостаточно памяти (WebDAV; RFC 4918)
Этот статус используется для протокола WebDAV. Он возвращается, когда сервер не может сохранить представление, необходимое для выполнения запроса.
Обнаружен цикл HTTP 508
Сервер обнаружил бесконечный цикл при попытке обслуживания запрошенного ресурса.
Превышен предел пропускной способности HTTP 509 (Apache)
Не является частью стандарта HTTP, но введен и используется Apache. Он выдается при превышении ограничений пропускной способности сервера.
HTTP 510 не расширен
Эта ошибка означает, что для его выполнения сервером требуются дальнейшие расширения запроса.
HTTP 511 Требуется сетевая аутентификация
Ошибка 511
возвращается, когда клиенту необходимо пройти аутентификацию для получения доступа к сети.
Этот статус предназначен для использования при перехвате прокси-серверов, используемых для управления доступом к сети, то есть «Captive Portals», используемых для запроса входа в систему или соглашения об условиях обслуживания перед предоставлением доступа в Интернет через портал WiFi.
(Если вы когда-либо пытались выйти в Интернет в аэропорту или отеле, вы, вероятно, столкнулись с ошибкой 511
.)
HTTP 520 Неизвестная ошибка
Этот код ошибки не является частью стандарта HTTP, но используется несколькими крупными поставщиками серверной инфраструктуры как услуги, такими как CloudFlare.Он используется как общая ошибка для неопознанных проблем, которые приводят к тому, что запрос не заполняется.
HTTP 598 Ошибка тайм-аута сетевого чтения (Microsoft)
Этот код ошибки не является частью стандарта HTTP, но используется прокси-серверами Microsoft HTTP для передачи клиенту перед прокси-сервером тайм-аута сетевого чтения за прокси-сервером.
HTTP 599 Ошибка тайм-аута сетевого подключения (Microsoft)
Этот код ошибки не является частью стандарта HTTP, но используется прокси-серверами Microsoft HTTP для сигнализации тайм-аута сетевого подключения за прокси-сервером для клиента перед прокси.
Ресурсы
Дополнительная литература
У нас есть больше руководств, руководств и инфографики, связанных с веб-разработкой:
Окончательное руководство по веб-хостингу
Ознакомьтесь с нашим Полным руководством по веб-хостингу. Он объяснит вам все, что вам нужно знать, чтобы сделать осознанный выбор.
Коды состояния HTTP 300 | Разработчик AT&T
Введение
Инструмент AT&T Video Optimizer специально определяет коды состояния HTTP 301 и 302, обнаруженные в трассировке приложения.Эти два кода являются важной частью анализа приложения, потому что они указывают на ответ перенаправления от сервера, который приведет к некоторым дополнительным накладным расходам для приложения.
В этом углубленном обзоре передовой практики представлены некоторые сведения о классе кодов состояния HTTP 3xx, описаны проблемы, возникающие при использовании кодов состояния 301 и 302, и даны рекомендации по возможным решениям этих проблем.
Фон
Термин «Код состояния HTTP» часто используется взаимозаменяемо с термином «Строка состояния HTTP», но они немного отличаются.Строка состояния HTTP более полная и состоит из двух частей: (1) кода состояния HTTP (например, 404) и фразы причины HTTP (т.е. запрашиваемой страницы не существует).
Класс кодов состояния HTTP 3xx указывает, что пользовательский агент должен предпринять дальнейшие действия для выполнения запроса. Требуемое действие может быть выполнено пользовательским агентом без взаимодействия с пользователем, если и только если во втором запросе используется метод GET или HEAD. Клиент должен попытаться обнаружить бесконечные петли перенаправления, поскольку такие петли генерируют сетевой трафик для каждого перенаправления.
Полный список всех кодов состояния HTTP можно найти в IANA или W3C.
Выпуск
Одно появление кода состояния HTTP 301 или 302 в трассировке приложения приводит к сбою теста Best Practices «301, 302 HTTP Status Response Codes» в AT&T Video Optimizer.
Провал этого теста не обязательно означает, что разработчику есть над чем действовать. Результаты предназначены для информирования о том, что перенаправления добавляют накладные расходы приложению и что разработчик должен проверять каждую проблему, определять, можно ли ее решить, и принимать меры, где это возможно.
Рекомендация по передовой практике
Лучшая рекомендация для кодов состояния HTTP 301 и 302 - проверять каждое появление этих кодов в ответе HTTP и при необходимости принимать меры. Ниже более подробно описаны эти два кода состояния и обсуждаются некоторые возможные действия.
Получение кода состояния HTTP 301
Код состояния HTTP 301 указывает, что ресурс, запрошенный клиентом, навсегда перемещен в новое место.HTTP-ответ, содержащий этот код, также должен включать новое местоположение, и клиент должен использовать этот новый URL-адрес в следующий раз, когда он попытается получить тот же ресурс.
Когда появляется код состояния HTTP 301, клиент должен обновить все ссылки на URL-адрес запроса, если у него есть возможность сделать это. HTTP-ответ, содержащий код, может кэшироваться, и, если метод запроса не был HEAD, объект должен содержать небольшую гипертекстовую заметку с гиперссылкой на новый URL-адрес. Если код состояния 301 получен в ответ на запрос любого типа, кроме GET или HEAD, клиент должен спросить пользователя перед перенаправлением на новый URL.
Если веб-сервер не возвращает альтернативный URL-адрес в ответе с кодом состояния 301, значит, либо само программное обеспечение веб-сервера неисправно, либо сервер не настроен для правильной обработки перенаправления URL-адреса.
Получение кода состояния HTTP 302
Код состояния HTTP 302 указывает, что ресурс, запрошенный клиентом, временно перемещен в новое место. В ответе также должно быть указано это местоположение. Этот код указывает клиенту, что он должен продолжать использовать тот же URL-адрес для доступа к этому ресурсу.
Код состояния HTTP 302 - наиболее распространенный способ перенаправления. Это пример отраслевой практики, противоречащей стандартной спецификации HTTP / 1.0, которая требовала от клиента выполнения временного перенаправления. Описывающая фраза была «Перемещено временно», но веб-браузеры реализовали ее как код состояния 303 «См. Другое», изменив тип запроса на GET независимо от того, каким он был изначально.
Если код состояния 302 получен в ответ на запрос, отличный от GET или HEAD, пользовательский агент не должен автоматически перенаправлять запрос, если он не может быть подтвержден пользователем, поскольку это может изменить условия, при которых запрос был выпущен.
Ниже описывается класс кодов состояния HTTP 3xx.
300 Множественный выбор
Этот код состояния указывает, что запрос имеет более одного возможного ответа. Пользовательский агент или пользователь должен выбрать один из них. Не существует стандартного способа выбрать один из ответов.
301 Переехал на постоянной основе
Этот код состояния указывает, что URI запрошенного ресурса был изменен. Обычно в ответе должен быть указан новый URI.
302 Найдено
Этот код состояния указывает, что URI запрошенного ресурса был временно изменен. В будущем могут быть внесены новые изменения в URI. Следовательно, этот же URI должен использоваться клиентом в будущих запросах.
303 См. Другие
Этот код состояния указывает, что сервер отправил этот ответ, чтобы указать клиенту получить запрошенный ресурс на другой URI с запросом GET.
304 Без изменений
Этот код состояния используется для кэширования.Он указывает клиенту, что ответ не был изменен, поэтому клиент может продолжать использовать ту же кэшированную версию ответа.
305 Использовать прокси
Этот код состояния указывает, что к запрошенному ответу должен получить доступ прокси. Этот код ответа в основном не поддерживается по соображениям безопасности.
306 Не используется
Этот код состояния больше не используется.
307 Временное перенаправление
Этот код состояния указывает, что запрошенный ресурс временно расположен в другом URI.Клиент должен запросить ресурс еще раз, используя временный URI, указанный в поле «Местоположение» ответа. Второй запрос должен использовать тот же метод, что и исходный запрос. Он имеет ту же семантику, что и код состояния HTTP 302 «Найден», за исключением того, что пользовательский агент не должен изменять используемый метод HTTP. Например, если POST использовался в первом запросе, POST должен использоваться во втором запросе.
308 Постоянное перенаправление
Этот код состояния указывает, что запрошенный ресурс теперь постоянно находится по другому URI, указанному в заголовке Location: HTTP Response.Он имеет ту же семантику, что и код состояния HTTP 301 «Перемещено навсегда», за исключением того, что пользовательский агент не должен изменять используемый метод HTTP. Например, если POST использовался в первом запросе, POST должен использоваться во втором запросе.
Коды статуса
HTTP - 3xx
3xx - перенаправление
Клиент должен предпринять дополнительные действия для выполнения запроса. Эта группа кодов состояния указывает, что пользовательский агент должен предпринять дальнейшие действия для выполнения запроса.Требуемое действие может быть выполнено пользовательским агентом без взаимодействия с клиентом, только если во втором запросе используется метод GET или HEAD.
300 - множественный выбор
Сервер отвечает сообщением об ошибке 300, когда запрошенный ресурс указывает на место назначения с несколькими представлениями, каждое из которых имеет свое собственное конкретное местоположение, где пользователь должен выбрать предпочтение и перенаправить свой запрос в это местоположение, чтобы запрошенная страница (файл ) отображается.В некоторых случаях выбор наиболее подходящего варианта может быть сделан автоматически.
301 - Постоянно перемещен
Сервер отвечает сообщением об ошибке 301, когда запрошенному ресурсу был назначен новый постоянный URL-адрес. Обычно ответ сервера содержит ссылку на новый URL-адрес, по которому был перемещен ресурс. Если это применимо, агент мониторинга WebSitePulse будет выполнять автоматические перенаправления до 10 перенаправлений с исходного запрошенного URL-адреса.
302 - Найдено (временно перемещено)
Сервер отвечает сообщением об ошибке 302, когда запрошенный ресурс был временно перемещен на другой URL-адрес.Обычно ответ сервера содержит ссылку на новый URL-адрес, по которому был перемещен ресурс. Клиенты должны продолжать использовать URL-адрес запроса, поскольку перенаправление может иногда изменяться. Это один из самых популярных кодов перенаправления, и исходная описывающая фраза была «временно перемещена», но популярные браузеры реализовали ее как код 303 - см. Другой. Поэтому в HTTP / 1.1 добавлены коды состояния 303 и 307, чтобы прояснить два поведения. Однако некоторые веб-приложения и фреймворки по-прежнему используют код состояния 302, как если бы это был 303.Если возможно, агент мониторинга WebSitePulse будет выполнять автоматические перенаправления до 10 перенаправлений с исходного запрошенного URL-адреса.
303 - См. Другие
Веб-сервер отвечает этим кодом состояния, когда запрошенный ресурс можно найти по другому URL-адресу. Ответ сервера содержит ссылку на URL-адрес, по которому находится запрошенный ресурс, и пользовательский агент или агент мониторинга WebSitePulse должен получить информацию, используя запрос метода GET. Новый URL-адрес не заменяет собой ссылку на первоначально запрошенный ресурс.
304 - без изменений
Веб-сервер отвечает этим кодом состояния, когда пользовательский агент отправляет условный запрос Get и доступ разрешен, но содержимое запрошенной веб-страницы не было изменено с момента последней загрузки или кэширования браузером. Эта информация нужна поисковым системам, чтобы определить, есть ли какие-либо изменения в содержании определенного URL-адреса.
Вы не должны получать это сообщение о статусе ни в системе мониторинга WebSitePulse, ни в обычном веб-браузере.Если веб-страница не была изменена, ваш браузер должен извлечь ее из кеша и отобразить. Наш запрос пользовательского агента не разрешает этот код состояния.
305 - использовать прокси
Это очень редкое сообщение о состоянии сервера. Доступ к запрошенному ресурсу должен осуществляться через прокси. В ответе должен быть указан URL-адрес прокси. Затем ожидается, что получатель повторит запрос через прокси. Иногда на веб-сайтах можно увидеть 305 статусов, которые ограничивают доступ к определенному контенту для допустимых пользователей, проходящих через прокси-сервер.
На самом деле вы никогда не должны видеть это сообщение, так как ваш веб-браузер должен немедленно перенаправить вас на указанный URL. Если URL-адрес неизвестен в ответе, значит, проблема связана с веб-сервером или перенаправление настроено неправильно.
306 - прокси-сервер коммутатора (не используется)
Код состояния 306 использовался в предыдущей версии спецификации, но больше не используется, и в настоящее время код зарезервирован.
307 - временное перенаправление
Этим ответом веб-сервер сообщает клиенту, что запрошенный URL-адрес временно находится под другим URL-адресом.Новый временный URL-адрес должен быть указан в ответе сервера. Ожидается, что получатель будет следовать перенаправлению, но будущие запросы по-прежнему могут быть направлены на исходный URL-адрес. В отличие от кода 303, исходный запрос POST должен повторяться с другим запросом POST.
На самом деле вы никогда не должны видеть это сообщение, так как ваш веб-браузер должен немедленно перенаправить вас на указанный URL. Наша система сообщит об этом статусном сообщении, если в ответе сервера не указан альтернативный URL-адрес или если количество перенаправлений превышает 10 (это ограничение предназначено для предотвращения зацикливания агента мониторинга).
308 - постоянное перенаправление
Этим ответом веб-сервер сообщает клиенту, что все будущие запросы должны отправляться с использованием другого URI. В отличие от кодов 301 или 302, это не позволит изменить метод HTTP, а это означает, что какую бы службу вы ни запрашивали для недоступного URI, перенаправление будет реплицировать запрос, чтобы операция была бесшовной.
Похожие темы
Советы по использованию
База знаний
Howtos
Глоссарий
Часто задаваемые вопросы
Список кодов состояния HTTP 3xx для перенаправления »WebNots
Веб-сервер отправляет код состояния в первой строке ответа HTTP, чтобы указать состояние запроса, полученного от клиента.Код состояния состоит из трех цифр и называется кодом состояния HTTP или кодом ошибки HTTP. Существует пять групп кодов состояния, разделенных на категории 1xx, 2xx, 3xx, 4xx и 5xx, указывающих на разные ответы HTTP. Коды состояния HTTP 3xx указывают на перенаправление, которое пользовательский агент (веб-браузер или поисковый робот) должен предпринять для дальнейших действий при попытке доступа к определенному ресурсу.
Обычно веб-сервер автоматически пересылает или перенаправляет пользовательский агент на другой ресурс (URL) без взаимодействия с пользователем.Поскольку пользователи не видят исходный запрошенный URL, поисковые системы не будут индексировать исходный URL, а будут индексировать конечный URL с перенаправлением. Таким образом, коды состояния 3xx имеют более важное значение для поисковой оптимизации по сравнению с другим набором кодов состояния. В этой статье мы для справки объясним все коды состояния HTTP 3xx.
Список кодов состояния HTTP 3xx для перенаправления
Ниже приведены коды состояния HTTP 3xx:
- 300 - несколько вариантов
- 301 - ресурс перемещен навсегда
- 302 - ресурс временно перемещен
- 303 - см. Другой ресурс
- 304 - ресурс не изменен
- 305 - использовать прокси
- 307 - временное направление
- 306 и 308 коды
1.300 - Множественный выбор
Когда запрошенный URL указывает на более чем один ресурс, пользовательский агент (веб-браузер или поисковый робот) не сможет решить, какая страница должна быть извлечена, и будет получен код ошибки HTTP «300 - множественный выбор». Чтобы исправить код ошибки 300, проверьте заголовки HTTP или убедитесь, что URL-адрес указывает только на один ресурс, чтобы пользовательский агент мог успешно получить доступ к странице.
HTTP 300 - несколько вариантов
2. 301 - Ресурс перемещен навсегда
Веб-сервер отправляет код состояния «301 - перемещен навсегда», когда установлено постоянное перенаправление на исходный URL-адрес для перенаправления пользовательского агента на другой URL-адрес.Поскольку пользователь не видит исходный URL, поисковые системы будут индексировать только перенаправленный URL. Большинство популярных поисковых роботов и пользовательских агентов выполняют до 5 перенаправлений для одного URL. Более 5 перенаправлений приведут к бесконечному циклу, и браузеры, такие как Chrome, будут отображать сообщение типа «Слишком много перенаправлений».
Бесконечный цикл перенаправления
Подробнее о переадресации 301.
3. 302 - Ресурс временно перемещен (или найден)
Когда временное перенаправление установлено на исходный URL-адрес для отправки пользовательского агента на другой URL-адрес, сервер отвечает кодом «302 - временно перемещен».Некоторые браузеры рассматривают код 303 как эквивалент кода 302, поскольку код 302 используется только в HTTP / 1.0.
4. 303 - См. Другой ресурс
Если запрошенный ресурс находится по другому URL-адресу и должен быть запрошен с помощью метода GET, то будет получен код «303 - см. Другой ресурс». Исходная запрошенная страница будет проиндексирована поисковыми системами только после получения кода 200 - Success.
HTTP 303 - см. Другой ресурс
5. 304 - Ресурс не изменен
Если запрошенный ресурс не изменился с момента последнего запроса, сервер отвечает кодом «304 - Not Modified».В этом случае сервер предполагает, что нет необходимости отправлять данные снова, поскольку у клиента уже есть копия запрошенного ресурса, которая не изменяется. Время последнего изменения указывается в строке заголовка запроса «If-Modified-Since» или «If-Match».
Если ваша страница не изменялась с момента последнего обращения сканера поисковой системы к вашему сайту, рекомендуется вернуть код 304, чтобы ускорить индексацию и снизить нагрузку на краулер.
6. 305 - Использовать прокси
Если к запрошенному ресурсу можно получить доступ только через прокси-сервер, тогда веб-сервер отвечает кодом «305 - Использовать прокси».Адрес прокси-сервера также будет получен в ответе, который будет отображаться в окне браузера. Некоторые браузеры, такие как Internet Explorer, не отображают этот ответ должным образом из-за проблем безопасности, связанных с отображением прокси-сервера.
Только протокол HTTP / 1.1 использует код состояния 305.
7. 307 - Временное перенаправление
Когда запрошенный ресурс временно перемещается на другой адрес, указанный в заголовке местоположения запроса, принимается код «307 - временное перенаправление».Это всего лишь временное перенаправление, но следующий запрос будет обращаться к исходному URL-адресу. Только протокол HTTP / 1.1 использует этот код состояния.
8. Коды состояния 306 и 308
«306 - Сменить прокси» Код состояния HTTP указывает, что сервер должен использовать указанный прокси для следующих запросов. Текущие протоколы HTTP не используют этот код состояния.
308 - экспериментальный код, указывающий на постоянное перенаправление, аналогично 307, которое является временным перенаправлением. Коды 307 и 308 аналогичны кодам 302 и 301 с той разницей, что не позволяют изменять метод HTTP.
Сводка
Веб-сервер возвращает коды ответа сервера 3xx, указывающие статус запроса. Владельцы веб-сайтов используют эти коды для устранения неполадок, чтобы понять статус транзакции HTTP. 301 - самый популярный из всех кодов ответа сервера 3xx. Причина проста: все веб-мастера должны настроить 301 редирект, чтобы сохранить рейтинг страниц в поисковых системах.
что нужно знать
Коротко о кодах состояния HTTP
Коды состояния
HTTP - это трехзначные ответы, которые сервер возвращает по запросу клиента (браузера или поисковой системы).Они разделены на пять классов с несколькими вариантами, которые передают разные типы сообщений.
Каждый оптимизатор поисковых систем должен знать наизусть хотя бы наиболее распространенные коды состояния HTTP, чтобы быстро оценить любую ситуацию:
- 200 ОК
- 301 Постоянно перемещен
- 302 Найдено / перемещено временно
- 404 Не найдено
- 410 ушел
- 503 Служба недоступна
Что такое коды состояния HTTP?
Коды состояния
HTTP - это трехзначные ответы, которые сервер возвращает по запросу клиента (браузера или поисковой системы).Существует пять классов кодов состояния, каждый из которых передает свой тип сообщения.
Когда вы запросили эту страницу в своем браузере, вы сделали десятки запросов на наш сервер, запрашивая всю информацию, необходимую для просмотра и отображения страницы. Все это произошло в мгновение ока, и вы не заметили этого. Коды состояния HTTP сыграли важную роль в этом.
HTTP означает протокол передачи гипертекста. Это протокол, используемый клиентами и серверами для связи и обмена данными.Коды состояния HTTP являются частью процесса связи.
Обратите внимание, что мы будем использовать термины «URL», «страница» и «ресурс» как синонимы, в зависимости от контекста. В конце концов, это все ресурсы.
Коды статуса
- один из самых четких индикаторов SEO для работоспособности сайта, но не всегда ясно, как их исправить. Не позволяйте этому накоплению проблемных кодов статуса закрасться в вашу поисковую консоль!
Я лично считаю обработку кода статуса одним из наиболее важных элементов гигиены SEO и одним из самых важных текущих процессов.
Вот почему важно понимать коды статуса HTTP:
- У нас было много обсуждений по поводу
301
и302
, и это было одним из самых больших расхождений между тем, что официально говорит Google, и тем, что говорит нам практичность. Я предлагаю позаботиться о любых302s
, потому что даже если они могут передавать PageRank так же, как301s
, Google не будет обновлять ваш фрагмент в поисковой выдаче. Имейте это в виду при любом типе миграции.- Soft
404s
- по моему опыту, одни из самых больших врагов крупных сайтов. Обычно они сводятся к пустым страницам и должны быть исправлены, как и404s
.5xx
часто возникают от случая к случаю, и о них следует немедленно позаботиться, поскольку за ними следует уменьшение бюджета сканирования.Оптимально, чтобы вы привлекли команду разработчиков к работе с кодами состояния, потому что это такая же их работа, как и ваша.Общие цели здесь являются ключевыми.
Примечание о тайм-аутах и других ошибках подключения
Тайм-аут или ошибки подключения, не связанные с классами кода состояния HTTP , не являются ответами сервера . Подобные ошибки означают, что клиент никогда не достиг сервера.
Поскольку это важно понимать, но сбивает с толку большинство людей, мы рассмотрим несколько примеров:
- Ошибки тайм-аута подключения, такие как сообщение Google Chrome «Этот сайт недоступен», не являются кодами состояния.Сервер недоступен, поэтому они не могут быть ответами сервера и не классифицируются как коды состояния.
- ошибки поиска DNS, например сообщение Google Chrome «Эта веб-страница недоступна». Эта ошибка также не является ответом сервера, поскольку клиент не может подключиться к серверу из-за проблемы с DNS.
Во всех случаях, когда вы получаете код состояния HTTP, это означает, что сервер был достигнут и смог отправить ответ.
Почему коды состояния HTTP важны для SEO?
Цель SEO - привлечь органический трафик, который, вероятно, будет заинтересован в том, что вы хотите сказать.
Чтобы привлечь этот трафик, вам необходимо убедиться, что ваш контент доступен для сканеров поисковых систем. Когда они запрашивают ваш контент, вы хотите, чтобы был возвращен статус HTTP 200 OK
. Чего вы не хотите, так это того, чтобы возвращались коды состояния HTTP 5xx
и 4xx
, и вы также хотите свести к минимуму коды состояния HTTP 3xx
.
Сканеры поисковых систем и веб-сайты используют HTTP
. Если вам сложно понять, о чем они говорят, как вы собираетесь стать эффективным специалистом по поисковой оптимизации?
Не понимать коды статуса HTTP - это все равно, что управлять рестораном в чужой стране, где вы не говорите на этом языке.Вы увидите, как много всего происходит, но на самом деле вы не знаете, что происходит, почему это происходит и как это улучшить.
Если вы используете CMS, такую как WordPress, с плагином Redirect Manager, например Yoast, настроить 301 несложно. Как специалисту по цифровому маркетингу, действительно полезно понимать, как это можно сделать без плагина и почему могут существовать коды статуса, которые вы не настроили намеренно. Почему? Это помогает вам быстрее отлаживать проблемы и позволяет более подробно обсуждать с разработчиками.
В идеальном мире у вас нет
404
ошибок или301
перенаправлений внутри внутренних ссылок вашего веб-сайта.Наиболее распространенные внутренние ошибки
404
вызваны людьми - использование относительных путей для ссылки на другой корневой домен, неправильный ввод URL-адреса и иногда вставка невидимых символов в ваш редактор WYSIWYG.В идеальном мире вы бы устранили корень этих проблем, и только если не сможете исправить корень проблемы, используйте перенаправления
301
в качестве патча.Вот почему переадресация301
привлекает специалистов по поисковой оптимизации - зачастую они гораздо более гнусны под капотом, поскольку живут как участки технического долга.
Как выглядят HTTP-ответы?
Ответы HTTP
, отправляемые веб-серверами, обычно состоят из двух частей: заголовков и основной информации.
Заголовки содержат код состояния HTTP и другую информацию, такую как инструкции о том, как долго клиент должен кэшировать ответ.
Заголовки не отображаются для пользователя, но они инструктируют клиента о том, как обрабатывать ответ и как отображать полезные данные тела (если они есть).Вы можете увидеть, какие заголовки HTTP
были возвращены с помощью Web Inspector или других инструментов браузера.
Когда полезная нагрузка тела присутствует в ответе HTTP
, она используется для рендеринга и отображения страницы пользователю. Когда дело доходит до перенаправления, полезной нагрузки тела нет - и имейте в виду, что полезная нагрузка тела не является обязательной для некоторых ошибок.
Как выглядят коды состояния HTTP?
Давайте посмотрим на упрощенный пример того, что сделал ваш браузер, когда вы запросили эту страницу:
GET / академия / http-статус-коды / HTTP / 2
Это разбивается на:
-
GET
: описывает методHTTP
, используемый для получения от сервера того, что вы хотите. -
/ academy / http-status-codes /
: описывает, к какому URL-адресу относится запрос. -
HTTP / 2
: описывает, по какому протоколу взаимодействовать.
А вот заголовок ответа HTTP, который наш сервер отправил обратно:
HTTP / 2 200 ОК
-
HTTP / 2
- описывает, по какому протоколу взаимодействовать. -
200 ОК
- запрос выполнен - это то, что вы хотите увидеть.
Какие коды статуса HTTP являются наиболее распространенными в SEO?
Наиболее распространенные коды состояния HTTP, с которыми вы столкнетесь в повседневной SEO-жизни:
Как вы проверяете коды состояния HTTP?
Вы можете увидеть коды состояния HTTP прямо в браузере с помощью встроенных инструментов, плагина браузера или, например, инструмента проверки URL в Google Search Console.
Поскольку все эти типы проверки выполняются на постраничной основе, они медленные и неэффективные, если вы хотите проверить большое количество URL-адресов. Они еще более утомительны, если вы хотите отслеживать эти URL. Если это то, что вы хотите сделать, быстро переходите к следующему разделу.
Проверка кода состояния HTTP в вашем браузере с помощью встроенных инструментов
Проверка кода состояния HTTP в вашем браузере очень похожа в разных браузерах.
Каждый браузер поставляется с соответствующими встроенными инструментами:
Анализ кода состояния HTTP на вкладке сети Google Chrome DevTools
Проверка кода состояния HTTP с помощью плагина для браузера
Если вы находите использование встроенных функций в браузерах слишком сложным или недостаточно удобным для пользователя, вы можете использовать подключаемый модуль браузера.
Один из примеров популярного плагина Google Chrome: Redirect Path (открывается в новой вкладке) от Ayima.
Путь перенаправления Ayima в действии, показывающий коды ответа для запроса варианта HTTP от Facebook.
Проверка кода статуса HTTP в Google Search Console
В консоли поиска Google вы можете запросить код состояния HTTP для URL-адреса с помощью функции проверки URL-адресов. Вы увидите код статуса HTTP как значение для параметра «Выборка страницы».
Например, когда мы запрашиваем https: // www.contentkingapp.com/academy/protect-staging-environment/
и открыв панель «Покрытие», мы видим, что она возвращает «Успешно» - что на самом деле является кодом состояния 200 OK
.
Консоль поиска Google показывает, что получение URL-адреса было успешным.
Когда мы запрашиваем несуществующий URL, мы видим следующее:
Консоль поиска Google показывает, что не удалось получить URL-адрес, поскольку сервер вернул ошибку 404 Not Found.
Когда дело доходит до диагностики заголовков состояния HTTP, одна из самых распространенных ошибок, которые я вижу, - это когда сервер отвечает условно в зависимости от
User-Agent
.Например, я видел случаи, когда сервер отвечает со статусом
404
, когда браузер пытается получить доступ к файлу robots.txt, но когда вы используете браузер без сохранения состояния или инструмент командной строки, который имитирует Googlebot, сервер ответит совсем другое. Худший сценарий - это когда на самом деле статус HTTP500
вместо404
, который вы видели в браузере.Я обычно проверяю весь статус HTTP через командную строку и сделал полезный ярлык для запуска строки кода, которая выглядит так:
$ curl -sIX GET --user-agent 'Mozilla / 5.0 (Linux; Android 6.0.1; Nexus 5X Build / MMB29P) AppleWebKit / 537.36 (KHTML, например, Gecko) Chrome / 41.0.2272.96 Mobile Safari / 537.36 (совместимый; Googlebot / 2.1; + http: //google.com/bot .html) 'http://yoursite.com
Если можете, также измените это, чтобы выводить HTML в файл.
Итак, мой совет: проверьте и обеспечьте согласованность в заголовках
HTTP
, независимо от браузера или агента пользователя. Не доверяйте только одному источнику, особенно плагинам для браузера. Кроме того, если вы не знаете, что делаете, у сервера нет причин отвечать на запрос условно.
Полезные ресурсы
Как вы отслеживаете коды состояния HTTP?
Помимо неприятных проблем с сервером, когда вы перемещаете контент, его объединение или полное удаление приводит к множеству изменений кода состояния HTTP. Проверка их на постраничном уровне никуда не годится.
Таким образом, мы настоятельно рекомендуем отслеживать коды состояния HTTP ваших URL-адресов. Вы можете сделать это с помощью ContentKing, который предупреждает вас, если важные страницы начинают перенаправлять ( 3xx
) или возвращают ошибки клиента ( 4xx
) или ошибки сервера ( 5xx
).
Оповещение ContentKing, показывающее множество URL-адресов с измененными кодами статуса HTTP.
И, конечно же, вы всегда можете видеть код статуса HTTP любого URL, поскольку он обновляется в режиме реального времени.
Обзор страниц ContentKing, показывающий URL-адреса и их коды состояния HTTP.
Получите представление о кодах состояния HTTP вашего сайта
Позвольте ContentKing предупреждать вас, если важные страницы начинают перенаправлять или возвращают ошибки клиента или сервера.
Различные типы статусов HTTP
Существует пять классов кодов состояния ответа HTTP:
Коды состояния HTTP 1xx
Коды состояния
HTTP 1xx
носят информационный характер.Они указывают на то, что запрос был получен и понят, но просто еще не обработан.
Мы не рассматриваем коды статуса 1xx
, так как они встречаются редко.
Полезные ресурсы
Коды состояния HTTP 2xx
Коды состояния HTTP 2xx
указывают на успешные запросы. Все прошло по плану.
С точки зрения SEO, наиболее важным кодом статуса в диапазоне 2xx
является код статуса HTTP 200
.
Код состояния HTTP 200 OK
Что означает код состояния HTTP 200?
Когда сервер отправляет код состояния HTTP 200
в качестве ответа, он сообщает клиенту, что запрос был успешно получен, и отвечает запрошенным содержимым.
Обратите внимание, что это не код ошибки. Статус HTTP 200 OK
означает, что все прошло нормально!
Пример правильного использования кода состояния HTTP 200
Когда запрашивается существующая страница, и этот код состояния HTTP является ответом.
Типичный пример некорректного использования кода статуса HTTP 200
Когда запрашивается несуществующая страница и отображается код состояния HTTP 200
вместо кода состояния HTTP 404 или кода состояния HTTP 410. Это то, что мы называем программной ошибкой 404.
Полезные ресурсы
Коды состояния HTTP 3xx
Коды состояния HTTP 3xx
указывают на необходимость дальнейших действий. Запрос был получен, но пока не может быть выполнен.Когда клиент получает код состояния 3xx
, ему необходимо сделать новый запрос к местоположению, которое сервер вернул вместе с перенаправлением. Все коды статуса HTTP, которые мы опишем в этом разделе, являются переадресацией.
Это происходит, когда запрос сделан для URL-адреса A, но URL-адрес A перенаправлен на URL-адрес B. Таким образом, запрос фактически должен быть сделан на URL-адрес B.
Редиректы похожи на бандаж, вы используете их, если хотите что-то быстро исправить. Накладывать бинты друг на друга не получится.Избегайте того же с переадресацией. Не используйте цепочку переадресации; всегда перенаправлять в конечный пункт назначения перенаправления.
В этом разделе мы рассмотрим следующие коды статуса HTTP, поскольку они важны для SEO:
При просмотре кодов состояния перенаправления в анализе журнала с помощью Chrome или Live Test Google Search Console важно не объединять обработку Google кодов 30X для HTML-страниц и ресурсов страниц.
Google использует коды
30X
для страниц, чтобы канонизировать и консолидировать ссылочный вес.302
vs301
в файлах CSS или JS мало влияют, поскольку Google не нужно понимать каноническую версию. Активные или кэшированные ресурсы Google используются для рендеринга, а не для индексации.
301 код статуса: постоянно перемещен
Что означает код состояния HTTP 301?
Код состояния HTTP 301
, сокращенно «301 перенаправление», указывает, что ресурс окончательно переместился в другое место. Запрос и все будущие запросы должны быть перенаправлены на другой URL вместо запрошенного источника.
Из-за своего постоянного характера все сигналы от запрашиваемого URL-адреса, который перенаправляется, передаются на целевой URL. Обратите внимание, что браузеры также будут кэшировать переадресацию 301, чтобы сохранить дополнительный запрос в будущем, что приведет к лучшему взаимодействию с пользователем за счет более быстрого отображения страницы.
301 редирект: постоянно перемещаемый контент
Пример правильного использования кода состояния HTTP 301
Когда веб-сайт перешел с HTTP
на HTTPS
, и каждый URL-адрес HTTP
перенаправляется на его версию HTTPS
.301 редирект важен для успешной миграции веб-сайтов.
Типичный пример некорректного использования кода статуса HTTP 301
Когда страница временно недоступна.
Полезные ресурсы
Я склонен прислушиваться к совету Google с недоверием. Дело не в том, что я думаю, что они пытаются передать дезинформацию, я просто не верю, что ответы всегда «полные».
Алгоритм поиска Google является проприетарным, и часть «игры» SEO заключается в тестировании компонентов, которые положительно / отрицательно влияют на рейтинг.Я полагаю, что Google видит убывающую отдачу довольно быстро, когда предоставляет идеи / подтверждения теорий SEO, поэтому я не виню их за расплывчатость или потенциально неполные ответы на вопросы.
Что касается конкретно редиректов, я строго использую 301 редирект. Я видел слишком много миграций, в которых использовалась переадресация, отличная от 301, с немедленным отрицательным влиянием на производительность. Будет ли переадресация 302 или 307 соответствовать значению ранжирования / канонизации с течением времени (согласно заявлению Google)?
Может быть.
Я готов подождать и узнать, нет!
При переносе веб-сайтов не забудьте также реализовать переадресацию 301 для файлов изображений, поскольку поиск изображений становится все более важным, особенно для веб-сайтов электронной коммерции.
Поскольку Google игнорирует теги
rel = "canonical"
для изображений, настройка переадресации 301 - единственный способ передать полномочия ваших старых изображений новым. Имейте в виду, что Google по-прежнему медленно отслеживает обновления изображений, поэтому убедитесь, что вы создали карты сайта для старых и новых изображений, чтобы поисковая система быстрее увидела изменения.Также важно отметить, что Google увеличит скорость сканирования при обнаружении переадресации 301 в целом, поэтому, если у вас большой сайт электронной коммерции, убедитесь, что среда вашего хостинга может справиться с повышенной скоростью сканирования при переносе полной интернет сайт!
302 код статуса: найдено / временно перемещено
Что означает код состояния HTTP 302?
Код состояния HTTP 302
, сокращенно «302 перенаправление», указывает, что ресурс временно перемещен в другое место.
Из-за своего временного характера сигналы популярности и релевантности от перенаправленного URL-адреса не передаются на целевой URL-адрес, и перенаправленный URL-адрес все равно будет ранжироваться, а не консолидироваться. Обратите внимание, что по прошествии значительного времени переадресация 302 может рассматриваться поисковыми системами как переадресация 301.
Проще говоря: если перенаправление 302 существует уже давно, оно считается постоянным.
302 редирект: временно перемещенный контент
Пример правильного использования кода статуса HTTP 302
Вы запускаете кампанию и в течение короткого периода времени хотите, чтобы пользователи, переходящие с URL A, на URL B.Через три недели кампания заканчивается, и вы удаляете 302 редирект.
Типичный пример некорректного использования кода статуса HTTP 302
Когда миграция веб-сайта завершена, и 302 редиректа реализованы вместо 301 редиректа. Сигналы от старых URL-адресов не передаются на новые URL-адреса сразу, поэтому новые URL-адреса не будут такими успешными, как старые URL-адреса. Может пройти несколько месяцев, прежде чем 302 переадресации будут считаться на самом деле 301 переадресацией.
Полезные ресурсы
303 код состояния: см. Другие
Что означает код состояния HTTP 303?
Код состояния HTTP 303
, сокращенно «303 перенаправление», указывает, что сервер перенаправляет URL-адрес запроса на другой URL-адрес.Его можно, например, использовать для предотвращения случайной повторной отправки пользователями форм при использовании кнопки «назад» в своем браузере, поскольку перенаправление 303 указывает, что последующий запрос на временный URL-адрес должен быть выполнен с использованием GET
HTTP метод.
Когда Гэри Иллиса из Google спросили, проходят ли переадресация 303 сигналы о популярности, он ответил «Да» (открывается в новой вкладке); Когда речь идет о формах, можно использовать 303 редирект, но не используйте их для перенаправления контента, не имеющего отношения к формам.
Почему?
Потому что Google отметил, что 303 редиректа также передают равенство ссылок (аналогично 301 редиректу), но они не заметили, что для этого требуется довольно много времени.
Пример правильного использования кода статуса HTTP 303
У вас есть контактная форма на вашем веб-сайте, и вы хотите, чтобы пользователи не могли случайно повторно отправить свой ввод, когда они используют кнопку «назад» в своем браузере.
Типичный пример некорректного использования кода статуса HTTP 303
Когда контент постоянно перемещается и используется перенаправление 303 вместо перенаправления 301.
Полезные ресурсы
Коды состояния 304: Не изменено
Что означает код состояния HTTP 304?
Код состояния HTTP 304
, сокращенно «304 перенаправление», указывает, что запрошенный ресурс не изменялся с момента последнего запроса; поэтому он не будет возвращен клиенту, и вместо этого следует использовать кешированную версию.
Пример: мы открыли страницу 27 мая 2019 года в 9:00. В четверг, 30 мая, мы снова получаем доступ к странице, но запрашиваем у сервера, изменилась ли страница с момента нашего последнего обращения к ней.Мы можем сделать это, добавив это условие в запрос.
If-Modified-Since: Mon, 27 May 2019 09:00:00 GMT
Пример правильного использования кода статуса HTTP 304
Передача кода состояния HTTP 304
пользователям, когда содержимое не изменилось, является наилучшей практикой. С точки зрения поискового робота, вы больше всего выиграете от кода состояния HTTP 304
для больших веб-сайтов, скажем, от 100 000 страниц и выше. Когда мы говорим в таком масштабе, очень важно убедиться, что сканеры поисковых систем эффективно используют свой краулинговый бюджет для вашего веб-сайта.
Типичный пример некорректного использования кода статуса HTTP 304
Ответ с кодом состояния HTTP 304
, когда страница действительно изменилась.
Полезные ресурсы
Код статуса
307: временное перенаправление / внутреннее перенаправление
Что означает код состояния HTTP 307?
Код состояния HTTP 307
, сокращенно «307 редирект», является эквивалентом HTTP 1.1 перенаправления 302. Перенаправление 302 не гарантирует, что в используемый метод HTTP не будет внесено никаких изменений, в отличие от перенаправления 307.Редирект 307 был изобретен, чтобы гарантировать, что метод HTTP, используемый для выполнения запроса, не изменится, когда сервер отвечает перенаправлением. Например, если использовался HTTP-метод GET
, то HTTP-метод GET
передается как часть перенаправления.
307 код статуса как внутреннее перенаправление
Редирект 307 также используется в качестве внутреннего перенаправления в случаях, когда браузер знает, что HTTPS
принудительно. Браузер может знать это либо потому, что это было сказано при выполнении предыдущих запросов, либо потому, что домен находится в списке предварительной загрузки HSTS.
Список предварительной загрузки HSTS - это список доменов, использующих HTTPS
. Даже если пользователь может запросить версию URL-адреса HTTP
, браузер будет использовать внутреннее перенаправление 307 для запроса версии URL-адреса HTTPS
. Это предотвратит ненужные небезопасные запросы.
Этот список доступен для всех браузеров. См. Раздел «Отправка списка предварительной загрузки HSTS» (открывается в новой вкладке) для получения дополнительной информации.
Пример правильного использования кода статуса HTTP 307
Когда используется внутреннее перенаправление 307
, чтобы убедиться, что соединение остается безопасным.
Типичный пример некорректного использования кода статуса HTTP 307
Когда контент постоянно перемещается и используется перенаправление 307 вместо перенаправления 301.
Полезные ресурсы
308 код статуса: постоянное перенаправление
Что означает код состояния HTTP 308?
Код состояния HTTP 308
, сокращенно «308 редирект», является эквивалентом HTTP 1.1 перенаправления 301 и не позволяет изменять метод запроса с POST
на GET
.
На данный момент не очень ясно, какой авторитет страницы передает перенаправление 308, поэтому мы рекомендуем вместо этого использовать перенаправление 301, чтобы указать, что контент был перемещен навсегда.
Полезные ресурсы
Коды состояния HTTP 4xx
HTTP 4xx
коды состояния указывают на ошибку на стороне клиента. Возможные причины этих ошибок: запрашивающая сторона не уполномочена запрашивать страницу, запрашивает несуществующие страницы и делает слишком много запросов.
В этом разделе мы рассмотрим следующие коды статуса HTTP, поскольку они важны для SEO:
401 код статуса: неавторизованный
Что означает код состояния HTTP 401?
Код состояния HTTP 401
является ошибкой и указывает на сбой проверки подлинности HTTP. Запрошенная страница требует комбинации имени пользователя и пароля и / или ей не разрешен доступ в зависимости от ее IP-адреса.
Обычно вы видите статус HTTP 401
, когда сканеры пытаются получить доступ к промежуточным средам, и вы внедрили HTTP-аутентификацию, чтобы предотвратить это.Код состояния HTTP 401
- это то, что вы хотите видеть; в противном случае поисковые системы могут индексировать вашу промежуточную среду, а третьи стороны могут получить доступ к конфиденциальной информации.
Пример правильного использования кода статуса HTTP 401
Когда реализована HTTP-аутентификация и вы отклоняете неверные запросы с кодом состояния HTTP 401
.
Типичный пример некорректного использования кода статуса HTTP 401
Использование кода состояния HTTP 401
вместо 403
, чтобы указать, что авторизация не удалась.
Полезные ресурсы
403 код статуса: Запрещено
Что означает код состояния HTTP 403?
Код состояния HTTP 403
, сокращенно «ошибка 403», указывает на то, что запрашивать URL-адрес запрещено. Этот код состояния обычно используется как постоянная мера для предотвращения того, чтобы сканеры (поисковой системы) отправляли запросы после некорректного поведения. Он также возвращается в случае, если клиент предоставляет неправильные учетные данные для входа.
Обратите внимание, что коды состояния HTTP 401
и 403
используются в разных ситуациях.
Пример правильного использования кода статуса HTTP 403
Когда мошеннические сканеры запрашивают слишком много URL-адресов на вашем сайте, а вы отвечаете кодом состояния HTTP 403
, чтобы остановить их.
Типичный пример некорректного использования кода статуса HTTP 403
Использование кода состояния HTTP 403
вместо 401
, чтобы указать, что клиент не авторизован для выполнения запросов.
Полезные ресурсы
404 код состояния: не найдено
Что означает код состояния HTTP 404?
Код состояния HTTP 404
, сокращенно «ошибка 404», указывает на то, что запрошенный ресурс не может быть найден.В нем прямо не говорится, что его можно было найти раньше, в отличие от кода состояния HTTP 410
, но просто сказано: «Эй, у нас нет того, что вы ищете (больше)».
Код состояния 404
, вероятно, является наиболее распространенным кодом состояния для большинства людей, просматривающих веб-страницы, поскольку именно он отображается при нажатии на неработающую ссылку. Например, когда владелец веб-сайта удаляет страницу, но все еще есть страницы, ссылающиеся на нее. Можно сказать, что возвращенный 404
не является реальной проблемой - это страница, на которую указывает ссылка.
404 ошибки также могут неправильно возникать для все еще существующего контента из-за ошибок, внесенных разработчиками или обслуживания, выполняемого на веб-сервере. Если URL-адреса возвращают ошибку 404, это плохо , если вы не удалили контент .
Хотя поисковые системы не удаляют URL-адреса, возвращающие из своего индекса ошибки 404 после однократного попадания 404
, они могут сделать это после нескольких попыток, поэтому вам необходимо отслеживать ошибки 404. Если URL-адрес постоянно возвращает ошибки, зачем им хранить его в своем индексе?
Поисковые системы в стороне, ошибки 404 плохи и с точки зрения пользовательского опыта, поскольку они создают тупик для пользователей.Следите за ними!
Пример правильного использования кода статуса HTTP 404
Когда вы обслуживаете код состояния HTTP 404
для всех запрошенных URL-адресов, которые не существуют и никогда не существовали.
Типичный пример некорректного использования кода статуса HTTP 404
Использование кода состояния HTTP 404
на существующих страницах, которые действительно работают нормально.
Полезные ресурсы
Предупреждение… хотя ошибки
404
и программные ошибки 404 часто встречаются в Search Console и часто не вызывают беспокойства, НЕ применяйте политику перенаправления ошибок 404 для URL-адресов, которые никогда не существовали!Это стало распространенной тактикой негативного SEO, когда злоумышленники злоупотребляют URL-адресами, которые могут быть действительными (например, результатами поиска).Они создают спам-ссылки на эти страницы и ожидают, что, когда вы увидите
404s
в Search Console, вы их перенаправите. Как только вы это сделаете, эти спам-ссылки будут накапливаться на любой странице, на которую вы были перенаправлены!
Многие платформы на основе JavaScript делают практически невозможным (или невозможным) правильную доставку кода статуса
404
, когда страница не существует. По сути, запрос REST API выполнен успешно, но не возвращает содержимого. Из-за «успеха» вы получаете код статуса200
… но страницы нет! Обычный обходной путь для этого - перенаправление на URL-адрес, который всегда возвращает код состояния404
.Хотя это не самое чистое решение, оно гарантирует, что поисковые системы не будут введены в заблуждение и не станут недоверчивыми, когда существует бесконечное количество URL-адресов, возвращающих код статуса
200
.
410 код состояния: ушел
Что означает код состояния HTTP 410?
Код состояния HTTP 410
, для краткости «ошибка 410», указывает, что запрошенный URL был окончательно удален. Это означает, что URL-адрес существовал раньше, но был явно удален и больше не вернется.
Поисковые системы быстро удаляют URL-адреса из своего индекса, когда возвращается ошибка 410. Это делает его мощным инструментом в любом наборе инструментов SEO, поэтому используйте его возможности с осторожностью.
Пример правильного использования кода статуса HTTP 410
Когда вы обслуживаете код состояния HTTP 410
для всех URL-адресов, которые были явно удалены и не вернутся.
Типичный пример некорректного использования кода статуса HTTP 410
Использование кода состояния HTTP 410
для URL-адресов, которые временно недоступны.
Полезные ресурсы
Группировка кодов состояния
4xx
используется, чтобы указать, когда страница недоступна на сервере. Чаще всего это заголовок404
с пометкой «Страница не найдена».Код состояния
410
используется, чтобы указать, что контент был намеренно удален. Хотя мы иногда видим, что компании используют это, когда они удаляют инвентарь (например, товар или объявление о недвижимости), обычно это не рекомендуемый подход по сравнению сперенаправление на соответствующую замену.Чаще всего мы используем код статуса
410
, когда мы удалили URL-адреса, которые, как кажется, никогда не вернутся для домена. В качестве примера, когда сайт был взломан и внезапно появляются спамерские URL-адреса, или если мы определяем, что более выгодно «вырезать наживку» на URL-адресе, чем продолжать попытки очистить ссылки.
418 код статуса: я чайник
Что означает код состояния HTTP 418?
Код статуса HTTP 418
на самом деле немного шутка, так как он исходит из шутки.1 апреля 1998 года протокол HTCPCP был определен в RFC 2324 как протокол связи для управления, мониторинга и диагностики кофейников.
Это не настоящий код статуса, который что-то делает, но он иногда используется, например, в Google в качестве пасхального яйца.
Полезные ресурсы
429 код состояния: слишком много запросов
Что означает код состояния HTTP 429?
Код состояния HTTP 429
, для краткости «ошибка 429», указывает, что клиент делал слишком много запросов к серверу в течение определенного периода времени.
Ошибка 429 может рассматриваться как временная версия кода состояния HTTP 403, при условии, что мы говорим о клиентах, отправляющих слишком много запросов. Если запросы продолжают поступать, несмотря на обслуживаемую ошибку 429, сервер может решить начать отвечать с кодом состояния HTTP 403
.
Если сервер продолжает возвращать в Google коды статуса 429
HTTP в течение более длительного периода времени, Google может удалить контент, для которого они получают коды статуса 429
HTTP.Это еще одна причина убедиться, что ваша хостинговая платформа надежна, и всегда возвращать правильные коды статуса для правильной работы.
Вот что Гэри Иллес из Google сказал об этом в Twitter:
Пример правильного использования кода статуса HTTP 429
Когда клиент запрашивает слишком много URL-адресов в течение определенного периода времени и с кодом состояния HTTP 429
, сервер посылает четкий сигнал о том, что клиент должен замедлиться.
Типичный пример некорректного использования кода статуса HTTP 429
Использование кода состояния HTTP 429
вместо кода состояния HTTP 403
для защиты от мошенников.
Полезные ресурсы
430 код состояния: Слишком большие поля заголовка запроса (Shopify)
Что означает код состояния HTTP 430?
Код состояния HTTP 430
- неназначенный (неофициальный) код состояния. Этот код статуса HTTP использовать нельзя.
Однако Shopify перепутала использование кодов состояния и неправильно отправляет код состояния 430
, хотя на самом деле они должны отправлять 429
.
Итак, когда вы отслеживаете сайт Shopify и получаете 430 ошибок, это означает, что вы запрашиваете слишком много URL-адресов в течение определенного периода времени.В этом случае лучше всего снизить скорость отслеживания.
Пример правильного использования кода статуса HTTP 430
Этот код состояния используется неправильно.
Типичный пример некорректного использования кода статуса HTTP 430
Shopify с использованием кода состояния HTTP 430
вместо 429
.
Полезные ресурсы
451 код статуса: недоступен по юридическим причинам
Что означает код состояния HTTP 451?
Код состояния HTTP 451
, сокращенно «ошибка 451», указывает на то, что запрошенный URL недоступен по юридическим причинам.Например, он может быть подан, когда вам было приказано (или только что поступило требование) удалить определенную страницу. Номер кода состояния 451
является ссылкой на книгу по 451 градусам Фаренгейта (открывается в новой вкладке).
Интернет-провайдеры
также могут вмешаться и ответить кодом состояния HTTP 451
, что происходит во многих странах, когда запрашиваются нелегальные торрент-сайты.
Когда этот ответ получен клиентом, также должно быть предоставлено объяснение с подробным описанием того, почему ресурс недоступен, какое законодательство или нормативные акты применяются и к чему они действительно применяются.
Пример правильного использования кода статуса HTTP 451
Когда кто-то явно скопировал контент с другого веб-сайта и впоследствии получил приказ удалить его и, таким образом, возвращает 451 ошибку клиентам, запрашивающим URL, при этом объясняя, что произошло.
Типичный пример некорректного использования кода статуса HTTP 451
Обслуживает 451 ошибку, когда люди из Европейской экономической зоны (ЕЭЗ) запрашивают ресурсы с веб-сайтов за пределами ЕЭЗ из-за опасений по поводу последствий GDPR.
Pilotonline.com неправильно возвращает код статуса HTTP 451
Полезные ресурсы
Коды состояния HTTP 5xx
5xx
Коды состояния HTTP, для краткости «ошибки 5xx», обслуживаются, когда клиенты делают допустимые запросы, но серверы не могут их выполнить по какой-либо причине. Например, веб-сайт может быть слишком загружен или временно недоступен для обслуживания.
Если поисковые системы часто получают ошибки 5xx
(или 429
ошибок, если на то пошло) при сканировании веб-сайта, они могут делать несколько вещей, ни одна из которых не является хорошей с точки зрения SEO:
- Они могут подумать, что сервер не может обработать такое количество запросов, поэтому они замедлят сканирование.По сути, это означает, что они назначают меньший краулинговый бюджет.
- Они также могут понизить рейтинг страниц или полностью удалить их из индекса, поскольку считают, что проблемы сохраняются. Поисковые системы стремятся обеспечить пользователям удобство работы, и - аналогично ошибкам
4xx
- ошибки5xx
- противоположность этому.
В этом разделе мы рассмотрим следующие коды статуса:
Код состояния
500: внутренняя ошибка сервера
Что означает код состояния HTTP 500?
Код состояния HTTP 500
, сокращенно «ошибка 500», указывает на то, что у сервера возникли проблемы с обработкой запроса, но он не может явно указать, что пошло не так.
Пример правильного использования кода статуса HTTP
500
Когда при обработке запроса возникла непредвиденная ошибка, и никакая другая ошибка 5xx
не применяется.
Типичный пример некорректного использования кода статуса HTTP
500
Обслуживает ошибку 500
, когда сервер действительно знает о проблеме и должен был ответить более конкретным намеком относительно того, что не так.
Полезные ресурсы
503 код состояния: служба недоступна
Что означает код состояния HTTP 503?
Код состояния HTTP 503
, сокращенно «ошибка 503», указывает на то, что сервер временно недоступен и будет снова доступен позже.Это может быть связано с плановым обслуживанием (хотя мы настоятельно не рекомендуем этого делать) или когда сервер слишком загружен.
Ошибка 503 позволяет включить в свой ответ значение « Retry-After
», в основном говорящее: «Попробуйте еще раз позже, тогда я смогу обработать ваш запрос».
Подобно коду статуса HTTP 429, Google может удалять контент, для которого они получают коды статуса HTTP 503
в течение более длительного периода времени.
Пример правильного использования кода статуса HTTP 503
Когда сервер слишком занят и не может в данный момент обработать запрос клиента.
Типичный пример некорректного использования кода статуса HTTP 503
Обработка ошибки 503 со значением « Retry-After
» в прошлом или в далеком будущем.
Полезные ресурсы
Если ваш сайт выходит из строя по какой-либо причине и страницы становятся недоступными в течение длительного периода времени, поисковые системы в конечном итоге удаляют страницу из своего индекса. Чтобы предотвратить это, используйте код состояния
503
с заголовкомRetry-After
с указанным временем, сообщая поисковым роботам снова попытаться получить доступ к странице через X промежутков времени.Вы также можете указать дату в случаях, когда у вас запланирован простой и вы точно знаете, когда сайт снова будет доступен.Образец кода
Retry-After: Wed, 11 Nov 2019 23:59:59 GMT
Указывает поисковым роботам попытаться повторно получить доступ к сайту после указанной даты и времени.
Retry-After: 7200
Это указывает поисковым роботам попытаться повторно получить доступ к сайту через два часа (время в секундах 60 x 120 = 7200 секунд или 2 часа).
Имейте в виду, что вам нужно как можно скорее убедиться, что ваш веб-сайт снова доступен, чтобы предотвратить деиндексирование ваших страниц. Даже код статуса
503
с заголовком Retry-After не может помешать поисковым системам деиндексировать страницы, если они недоступны в течение длительного периода времени.
524 код состояния: истекло время ожидания (Cloudflare)
Что означает код состояния HTTP 524?
Код статуса HTTP 524
официально не существует.Он был создан Cloudflare и отправляется по истечении времени ожидания источника запроса. Проблема не в стороне Cloudflare; вместо этого проблема заключается в сервере, на который полагается Cloudflare.
Понятно, что Cloudflare изобрели здесь свой собственный код статуса HTTP, потому что, когда были разработаны коды статуса HTTP, таких компаний, как Cloudflare, еще не существовало.
Cloudflare возвращает ошибку 524
Полезные ресурсы
Заключительные слова
Коды состояния
HTTP играют фундаментальную роль в быстрой передаче сообщений между клиентами и серверами.Для каждого оптимизатора поисковых систем важно знать самые распространенные из них наизусть, так как это делает их работу более эффективной: это позволяет им значительно быстрее диагностировать проблемы.
Вот список наиболее распространенных кодов статуса HTTP из всех:
-
200 ОК
-
301 Постоянно перемещен
-
302 Найдено / перемещено временно
-
404 Не найдено
-
410 Исчез
-
503 Служба недоступна
Выучи их хорошо!
Удачи, дайте нам знать (открывается в новой вкладке), если вы считаете, что мы пропустили код статуса, который важен для SEO!
Ресурсы, использованные при создании этой статьи
Часто задаваемые вопросы
Шпаргалка с кодами статуса HTTP, необходимая каждому маркетологу
Шпаргалка по кодам состояния HTTP позволяет быстро ссылаться на коды, понимать, что происходит на внутренней стороне веб-сайта, определять, какие ошибки необходимо исправить, и определять способы оптимизации сайта для улучшения SEO.
Чтобы помочь вам быстро найти наиболее важные коды состояния HTTP, мы создали PDF-файл с кодами ошибок HTTP, который вы можете загрузить. Мы также создали руководство, которое дополнит шпаргалку по кодам состояния HTTP и поможет вам определить, что означает каждый код состояния HTTP и что, по нашему мнению, наиболее актуально для SEO.
Что такое коды состояния HTTP?
HTTP или протокол передачи гипертекста - это стандартный протокол, который определяет, как сообщения форматируются и отправляются через Интернет. Коды состояния HTTP - это наборы чисел, которые объясняют, что происходит во время процесса передачи между клиентом (или браузером) и сервером.
Коды иногда называют кодами ошибок браузера или кодами ошибок Интернета, когда они указывают на то, что веб-сайт не загружается должным образом.
Вам не нужно знать каждый код статуса HTTP, но есть важные коды статуса HTTP, с которыми вы должны быть знакомы, чтобы избежать проблем с поисковой оптимизацией. Вот несколько наиболее распространенных кодов:
- Код состояния HTTP 404: когда сервер не может найти ресурс или URL
- Код состояния HTTP 400: когда сервер не может обработать запрос из-за недопустимого синтаксиса
- Код состояния HTTP 500: когда сервер не может выполнить запрос и не имеет информации о конкретной проблеме
В нашей шпаргалке с кодами статуса HTTP перечислено более 60 кодов, а в нашем руководстве объясняются коды, которые, по нашему мнению, наиболее важны для SEO и статуса веб-сайта.
Общие сведения об организации статуса HTTP
Значение для каждого кода состояния HTTP не является случайным. Первое число в каждом коде помогает отнести код к конкретной ситуации или проблеме.
- 1xx Коды состояния: запрос информации
- 2xx Коды состояния: Успех
- 3xx: перенаправление
- 4xx: ошибка клиента
- 5xx: ошибка сервера
Коды состояния
Коды состояния
Коды состояния
Знание структуры кодов состояния HTTP поможет вам быстро понять ее общий характер.Посмотрев на первое число, вы можете понять, что подразумевает код.
Нажми и твитни!
. Но чтобы помочь вам полностью понять каждый код и конкретную ситуацию, мы составили эту шпаргалку по кодам состояния HTTP.
Шпаргалка по кодам состояния HTTP
Коды состояния
1xx: запрос информации
Коды состояния HTTP
1xx указывают на то, что сервер обрабатывает информацию и еще не полностью выполнил запрос. Большинство кодов статуса 1xx не имеют прямого отношения к SEO.
- 100 - Продолжить: запрос клиента принят и обрабатывается.
- 101 - Протокол переключения: клиент запросил изменение типа протокола, и сервер согласился.
- 102 - Обработка: Обработка занимает больше времени, чем обычно.
2xx Коды состояния: Успех
Коды состояния
2xx HTTP показывают, что запрос был выполнен и передача произошла, как планировалось. Коды состояния 2xx не очень важны для SEO, кроме как показать, что все работает должным образом.
- 200 - ОК: обмен между клиентом и сервером завершен. Все настроено правильно и ничто не должно негативно сказаться на SEO.
- 201 - Создано: клиент успешно создал что-то (например, новую страницу) на сервере.
- 202 - Принято: клиент запросил создание чего-либо на сервере. Он был принят, но не завершен.
- 203 - Неавторизованная информация: Информация была передана, но не была взята из первоисточника.
- 204 - Нет содержимого: запрос был получен, но данные клиенту не отправлены.
- 205 - Сброс содержимого: аналогично 204, запрос был получен, но данные не были отправлены клиенту, но ответ также включает запрос на обновление содержимого.
- 206 - Частичное содержимое: клиенту была отправлена только часть содержимого заголовка.
- 207 - Мульти-статус: сервер передал сразу результаты нескольких независимых операций, которые помещаются в тело сообщения в виде XML-документа.
Коды состояния 3xx: перенаправление
Коды состояния HTTP
3xx указывают на то, что клиент запросил информацию, которой больше нет по указанному адресу. Их часто называют кодами переадресации, и они очень важны для маркетологов, поскольку влияют на впечатления посетителей и эффективность SEO.
Например, если посетитель запрашивает перемещенный контент, отправка его на страницу 404 - плохой опыт. Перенаправление позволяет направлять посетителей к актуальному содержанию, которое действительно существует.Кроме того, он помогает поисковым системам понять, какой контент доступен на вашем сайте, и сообщает, как вы хотите, чтобы они сканировали и индексировали его. Обе эти переменные влияют на ваши долгосрочные результаты SEO.
3xx Коды состояния, относящиеся к SEO
- 301 - перемещен навсегда: запрос ресурса (или URL) постоянно направляется на другой ресурс. Вы можете настроить 301 редирект для страницы, которая больше не доступна. Это направляет клиента на другую действующую страницу, а не на страницу с ошибкой, а также позволяет поисковым системам знать, что им необходимо обновить свой индекс для страницы.
- 302 - Найдено: похоже на 301, но это временное перенаправление, а не постоянное. Он направляет клиентов со старого URL-адреса на новый, но не сообщает поисковым системам обновлять индекс страницы (как это сделал бы 301).
- 307 - временное перенаправление: 307 более специфично, чем перенаправление 302. Сервер не видит запрос, и вместо этого браузер реализует перенаправление самостоятельно. Он часто используется на веб-сайтах, обслуживаемых по HTTPS, когда они находятся в списке предварительной загрузки HSTS.
Прочие важные коды состояния 3xx
- 300 - Множественный выбор: показывает, что ресурс был перемещен, и предоставляет список доступных альтернатив.
- 303 - См. Другое: запрошенный ресурс доступен по URL-адресу, который отличается от запрошенного.
- 304 - Не изменено: клиент запрашивает ресурс только в том случае, если он не изменялся с момента последнего кеширования документа.
- 305 - Использовать прокси: доступ возможен только через прокси, указанный в ответе.
4xx Коды состояния: ошибка клиента
Коды состояния HTTP
4xx указывают на то, что на стороне клиента возникла проблема. «Клиент» - это браузер, используемый для доступа к веб-сайту. Ошибки статуса 4xx показывают, что есть проблема с получением браузером информации с сервера.
Эти коды обычно нежелательны для SEO, потому что страницы, которые не найдены, создают плохие впечатления для посетителей. Кроме того, ошибка 404 означает, что на вашем сайте есть страницы, которые не привлекают трафик и не дают результатов для SEO.
4xx Коды состояния, относящиеся к SEO
- 404 - Не найдено: ресурс или URL-адрес больше не существует, и сервер не может вернуть какую-либо информацию. Ошибка 404 на веб-сайте может негативно повлиять как на SEO, так и на пользовательский опыт. Все страницы 404 должны использовать перенаправление 301 для отправки запросов несуществующей страницы на действующую страницу.
- 410 - Ушло: ресурс или URL-адрес больше не существует, был намеренно удален и не перенаправлен. 410 сообщает поисковым системам, что страницу следует удалить из индекса, а не перенаправлять на другой URL.
Прочие важные коды состояния 4xx
- 400 - неверный запрос: синтаксическая ошибка препятствует прохождению запроса.
- 401 - Неавторизованный: для доступа к запрошенному ресурсу требуется авторизация.
- 403 - Запрещено: пользователь пытается получить доступ к ресурсу, к которому у него нет доступа.
- 408 - Тайм-аут запроса: истекло время ожидания передачи сервером ретрансляции от клиента.
- 410 - Исчез: ресурс ранее находился по URL-адресу, но теперь он пропал или недоступен.
- 429 - Слишком много запросов: клиент пытается отправить слишком много запросов за короткий промежуток времени.
Другие коды состояния 4xx
- 402 - Требуется оплата
- 405 - Метод запрещен
- 406 - неприемлемо
- 407 - требуется проверка подлинности прокси
- 409 - Конфликт
- 411 - Требуемая длина
- 412 - Ошибка предварительного условия
- 413 - слишком большой объект запроса
- 414 - слишком длинный URL-адрес запроса
- 415 - Неподдерживаемый тип носителя
- 416 - Запрошенный диапазон не выполняется
- 417 - Ожидание не выполнено
- 422 - Необработанная сущность
- 423 - закрыто
- 424 - Неудачная зависимость
- 425 - неупорядоченная коллекция
- 426 - требуется обновление
- 428 - Требуются предварительные условия
- 431 - Слишком большие поля заголовка запроса
- 444 - Нет ответа
- 449 - Повторить с (Microsoft)
- 450 - заблокировано родительским контролем Windows (Microsoft)
- 451 - Недоступно по юридическим причинам
5xx Коды состояния: ошибка сервера
Коды состояния HTTP
5xx указывают на то, что на стороне сервера что-то не так.Клиент сделал правильный запрос, но сервер не может завершить передачу. Когда сервер выдает ошибки 5xx, это может негативно повлиять на SEO (поскольку он может указывать поисковым системам деиндексировать страницу), поэтому важно быстро решить эти проблемы.
5xx Коды состояния, относящиеся к SEO
- 503 - Служба недоступна: существует временная техническая проблема, не позволяющая серверу обработать запрос. Сервер сообщает поисковым системам о преднамеренной остановке обработки.Поисковая система не изменит статус индексации, как при чтении других ошибок 5xx. Если ошибка 503 сохраняется в течение длительного периода времени, поисковые системы могут начать интерпретировать ее как постоянную ошибку и в конечном итоге деиндексировать страницу.
Прочие важные коды состояния 5xx
- 500 - Внутренняя ошибка сервера: ошибка, которая не соответствует другим ошибкам класса.
- 501 - Не реализовано: сервер не понимает или не может поддерживать запрос.
- 502 - Плохой шлюз: сервер получил недопустимое сообщение от вышестоящего сервера.
Прочие коды состояния 5xx
- 504 - Тайм-аут шлюза
- 505 - Версия HTTP не поддерживается
- 506 - Вариант также оговаривается
- 507 - Недостаточно памяти
- 509 - Превышен предел пропускной способности
- 510 - не расширен
- 511 - требуется сетевая аутентификация
- 550 - В разрешении отказано
Загрузить шпаргалку по HTTP PDF
Чтобы получить список всех 60+ кодов HTTP, загрузите нашу шпаргалку по кодам состояния HTTP и держите ее под рукой для быстрой справки и идентификации всех кодов состояния.
Найдите и исправьте ошибки HTTP на вашем сайте
Теперь, когда вы понимаете коды состояния HTTP, используйте эти сведения, чтобы улучшить свой веб-сайт. Запустите проверку статуса HTTP и найдите и исправьте ошибки HTTP, чтобы сделать ваш сайт более привлекательным как для поисковых систем, так и для пользователей.
Чтобы получить хорошее представление о состоянии процессов HTTP на вашем сайте, запустите технический SEO-аудит с помощью инструмента Alexa Site Audit. Отчет формирует список существующих ошибок и помогает найти проблемы с переадресацией, отсутствующими страницами и неработающими ссылками, которые необходимо исправить, чтобы соответствовать лучшим практикам SEO.
Чтобы получить доступ к полному отчету об аудите SEO для вашего сайта, зарегистрируйтесь для получения бесплатной пробной версии расширенного плана Alexa.
3xx Redirection - SISTRIX
Категория кода состояния 3xx Redirection разделена на восемь кодов состояния HTTP. Категория кода состояния 3xx информирует запрашивающего клиента о том, что для завершения запроса требуются дополнительные меры, поскольку цель была перемещена, например, в другое место, и теперь к ней можно получить доступ из этого нового источника (URL).
Соответствующий код состояния HTTP описывает состояние перенаправления.
Код состояния HTTP | Метка | Описание |
---|---|---|
300 | Множественный выбор | Веб-сервер имеет несколько возможных ответов на запрос, поскольку запрашиваемые ресурсы доступны в разных типах. |
301 | Перемещен навсегда | Запрошенный ресурс больше не может быть найден по URL-адресу A, поскольку он был навсегда перемещен на URL-адрес B и с этого момента может быть там.Адрес URL A больше не действителен. |
302 | Найден (временно перемещен) | Запрошенный ресурс доступен на веб-сервере, но временно не найден по URL A, а по URL B. Адрес URL A остается действительным. |
303 | См. Другое (открыть другое место хранения) | Веб-сервер сообщает запрашивающему клиенту, что для получения желаемого ресурса необходимо отправить отдельный запрос GET в другое место хранения. |
304 | Не изменено | Со времени последнего запроса от клиента к веб-серверу ресурс не изменился и, следовательно, не будет передан снова. |
Добавить комментарий