Содержание

Коды состояния HTTP: полный список

Patrick Stox

Патрик Стокс — консультант по продукту, технический SEO-специалист и амбассадор бренда в Ahrefs. Он является организатором Raleigh SEO Meetup, конференции Raleigh SEO, Beer & SEO Meetup, конференции Findability и модератором /r/TechSEO.

Поделиться этой статьей

Содержание

    Коды состояния HTTP — это ответы сервера на запросы от клиента (обычно браузера). Коды состояния находятся в ответе сервера. Они состоят из трехзначного номера и обычно имеют описание состояния. Спецификации и их функциональность определяются консорциумом World Wide Web Consortium (W3C).

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

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

    Существует пять диапазонов кодов:

    • 1xx — информационные
    • 2xx — успешно выполненные запросы
    • 3xx — редиректы
    • 4xx — ошибки на стороне клиента
    • 5xx — ошибка на стороне сервера

    Читайте дальше, чтобы узнать, что означают разные коды состояния и как Google их обрабатывает.

    1xx — предоставляют какую-то дополнительную информацию

    Коды состояния 1xx указывают на то, что сервер получил запрос и обработает его.

    100 Continue — на данном этапе все хорошо. Можно продолжать.

    101 Switching Protocols — получено сообщение, такое как запрос на обновление, которое переключает обработку на другой протокол.

    102 Processing — обработка выполняется и еще не закончена.

    103 Early Hints — дает возможность предварительно загружать ресурсы, что может помочь улучшить отрисовку самого крупного контента (LCP) для Core Web Vitals.

    2xx — показывают, что запрос успешно выполнен

    Коды состояния 2xx указывают на то, что запрос от клиента получен, понят и принят.

    200 OK — все хорошо. Все прошло успешно.

    201 Created — аналогично коду 200, но мерой успеха является создание нового ресурса.

    202 Accepted — запрос принят в обработку, но еще не выполнен. Возможно,его выполнение еще даже не началось.

    203 Non-Authoritative Information — что-то изменилось после того, как запрос был отправлен вам с сервера.

    204 No Content — запрос отправлен, но в теле нет контента.

    205 Reset Content — сбрасывает документ в его исходное состояние, например, очищает форму.

    206 Partial Content — отправлена только часть контента.

    207 Multi-Status — есть и другие коды ответов, среди которых могут быть коды 2xx, 3xx, 4xx или 5xx.

    208 Already Reported — клиент сообщает серверу, что тот же ресурс уже упоминался ранее.

    218 This is fine — неофициальное использование Apache.

    226 IM Used — этот код позволяет серверу отправлять изменения (правки) ресурсов клиентам.

    Как Google обрабатывает коды 2xx

    Большинство кодов 2xx позволяют индексировать страницы. Однако коды 204 будут рассматриваться как мягкие коды 404 и не будут индексироваться. 

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

    Вы можете найти эти мягкие коды 404 в отчете “Покрытие” в Google Search Console.

    3xx — в основном относятся к редиректам с некоторыми исключениями

    Коды состояния 3xx указывают, что клиенту все еще нужно что-то сделать, прежде чем запрос будет успешным.

    300 Multiple Choices — существует несколько возможных ответов, и вам, возможно, придется выбрать один из них.

    301 Moved Permanently — старый ресурс теперь перенаправляет на новый ресурс.

    302 Found — старый ресурс теперь временно перенаправляет на новый ресурс.

    302 Moved Temporarily — старый ресурс теперь временно перенаправляет на новый ресурс.

    303 See Other — это еще один редирект, указывающий, что ресурс может находиться в другом месте. 

    304 Not Modified — говорит, что страница не изменена. Обычно используется для кеширования.

    305 Use Proxy — запрашиваемый ресурс доступен только при использовании прокси-сервера.

    306 Switch Proxy — ваши следующие запросы должны использовать указанный прокси-сервер. Этот код больше не используется.

    307 Temporary Redirect — имеет ту же функциональность, что и редирект 302, за исключением того, что вы не можете переключаться между методами POST и GET.

    307 HSTS Policy — заставляет клиент использовать HTTPS при отправке запросов вместо HTTP.

    308 Permanent Redirect — имеет ту же функциональность, что и редирект 301, за исключением того, что вы не можете переключаться между методами POST и GET.

    Как Google обрабатывает коды 3xx

    Коды 301 и 302 — это сигналы каноникализации. Они передают PageRank и помогают определить, какой URL-адрес отображается в индексе Google. Код 301 консолидируется на новом URL-адресе, а 302 консолидируется на старом URL-адресе. Если код 302 присутствует достаточно долго или если URL-адрес, на который он перенаправляется, уже существует, код 302 может рассматриваться как 301 и вместо этого консолидироваться на новом URL-адресе. 

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

    Коды 303 имеют неопределенную обработку в Google. Они могут рассматриваться как 301 или 302, в зависимости от того, как они функционируют.

    У кода 307 есть два разных применения. В тех случаях, когда это временный редирект, он будет рассматриваться так же, как 302, и будет консолидироваться на старом URL-адресе. Когда веб-серверы требуют, чтобы клиенты использовали только HTTPS-подключения (политика HSTS), Google не увидит код 307, поскольку он кешируется в браузере. Первоначальное обращение (без кеша) будет иметь код ответа сервера, вероятно, 301 или 302. Но ваш браузер покажет код 307 для последующих запросов.

    Код 308 обрабатывается так же, как 301, и консолидируются на новом URL-адресе.

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

    Вы можете найти эти цепочки перенаправлений в инструменте Аудит сайта Ahrefs или в наших бесплатных инструментах Ahrefs Webmaster Tools (AWT).

    4xx — ошибки на стороне клиента исключениями

    Коды состояния 4xx указывают на ошибку на стороне клиента. Ошибка обычно объясняется в ответе. 

    400 Bad Request — что-то не так с запросом от клиента. Возможно, он искажен, недействителен или слишком большой. Из-за этого сервер не может понять запрос.

    401 Unauthorized — клиент не идентифицировал или не подтвердил себя, когда это необходимо.

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

    403 Forbidden — клиент известен, но не имеет прав доступа.

    404 Not Found — запрашиваемый ресурс не найден.

    405 Method Not Allowed — используемый метод запроса не поддерживается, например, форма должна использовать POST, но вместо этого использует GET.

    406 Not Acceptable — заголовок Accept, запрошенный клиентом, не может быть выполнен сервером.

    407 Proxy Authentication Required — аутентификация должна быть выполнена через прокси-сервер.

    408 Request Timeout — время ожидания сервера истекло или он решил закрыть соединение.

    409 Conflict — запрос конфликтует с состоянием сервера.

    410 Gone — по своей сути похож на код 404, указывающий на то, что ресурс не найден, но этот код также указывает на то, что он больше не будет доступен.

    411 Length Required — запрос не содержит поля длины контента, когда это необходимо.

    412 Precondition Failed — клиент сделал запрос с условием, которое сервер не выполняет.

    413 Payload Too Large — запрос больше, чем позволяет сервер.

    414 URI Too Long — запрошенный URI длиннее, чем позволяет сервер.

    415 Unsupported Media Type — запрошенный формат не поддерживается сервером.

    416 Range Not Satisfiable — клиент запрашивает часть файла, которую сервер не может предоставить, например, он запрашивает часть файла за пределами области, в которой файл фактически заканчивается.

    417 Expectation Failed — ожидание, указанное в заголовке запроса Expect, не может быть выполнено сервером.

    418 I’m a Teapot — указывает на то, что сервер не может приготовить кофе, потому что он чайник. Код появился как первоапрельская шутка в 1998 году, но он на самом деле стандартизирован. Поскольку в наши дни мы окружены смарт-устройствами, он потенциально может использоваться.

    419 Page Expired — неофициально используется Laravel Framework.

    420 Method Failure — неофициально используется Spring Framework.

    420 Enhance Your Calm — неофициально используется Twitter.

    421 Misdirected Request — сервер не может ответить на отправленный ему запрос.

    422 Unprocessable Entity — в запросе присутствуют смысловые ошибки.

    423 Locked — запрашиваемый ресурс заблокирован.

    424 Failed Dependency — этот сбой происходит из-за того, что для выполнения запроса необходим второй запрос, который также завершился сбоем.

    425 Too Early — сервер отказывается обрабатывать запрос сейчас, потому что он, вероятно, поступит еще раз позже.

    426 Upgrade Required — сервер отклоняет запрос, пока клиент не использует более новый протокол. То, что нужно обновить, указано в заголовке “Upgrade”.

    428 Precondition Required — сервер требует, чтобы запрос был условным. 

    429 Too Many Requests — это форма ограничения скорости обработки для защиты сервера, когда клиент отправляет слишком много запросов слишком быстро.

    430 Request Header Fields Too Large — неофициально используется Shopify.

    431 Request Header Fields Too Large — сервер не обрабатывает запрос, потому что поля заголовка слишком велики.

    440 Login Time-out — неофициально используется IIS.

    444 No Response — неофициально используется nginx.

    449 Retry With — неофициально используется IIS.

    450 Blocked by Windows Parental Controls — неофициально используется Microsoft.

    451 Unavailable For Legal Reasons — блокировка по какой-то юридической причине. Иногда вы увидите эту ситуацию с блокировками на уровне страны, например, с новостями или видео, заблокированными по причинам конфиденциальности или лицензирования. Вы можете увидеть этот код для удалений, связанных с DMCA. Сам код является отсылкой к роману “451 градус по Фаренгейту”.

    451 Redirect — неофициально используется IIS.

    460 — неофициально используется AWS Elastic Load Balancer.

    463 — неофициально используется AWS Elastic Load Balancer.

    494 Request header too large — неофициально используется nginx.

    495 SSL Certificate Error — неофициально используется nginx.

    496 SSL Certificate Required — неофициально используется nginx.

    497 HTTP Request Sent to HTTPS Port — неофициально используется nginx.

    498 Invalid Token — неофициально используется Esri.

    499 Client Closed Request — неофициально используется nginx.

    499 Token Required — неофициально используется Esri.

    Как Google обрабатывает коды 4xx

    Коды 4xx приводят к удалению страниц из индекса. 

    Коды 404 и 410 обрабатываются аналогично. Из-за обоих кодов страницы удаляются из индекса, но 410 обрабатывается немного быстрее. Их практическое применение примерно одинаково.

    Код 421 используется Google для отказа от сканирования с помощью HTTP/2.

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

    Вы можете найти ошибки 4xx в Аудите сайта или в наших бесплатных инструментах Ahrefs Webmaster Tools.

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

    1. Вставьте свой домен в Сайт Эксплорер (также доступный бесплатно в AWT)
    2. Затем перейдите к отчету Лучшие по ссылкам
    3. Добавьте фильтр HTTP-ответа “404 Not found”

    Я обычно сортирую результаты по столбцу “Домены-доноры”.

    5xx — ошибки на стороне сервера

    Коды состояния 5xx указывают на то, что на сервере произошла ошибка, и он знает, что не может выполнить запрос. Ответ будет содержать причину ошибки.

    500 Internal Server Error — сервер столкнулся с какой-то проблемой и не может предоставить более точный код ошибки.

    501 Not Implemented — метод запроса не поддерживается сервером.

    502 Bad Gateway — сервер выполнял запрос, находясь в роли посредника для маршрутизации, но получил неверный ответ от сервера, на который выполнялась маршрутизация.

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

    504 Gateway Timeout — сервер выполнял запрос, находясь в роли посредника для маршрутизации, но не получил своевременный ответ от сервера, на который выполнялась маршрутизация.

    505 HTTP Version Not Supported — текст состояния говорит сам за себя. Версия протокола HTTP в запросе не поддерживается сервером.

    506 Variant Also Negotiates — позволяет клиенту получить лучший вариант ресурса, когда на сервере доступно несколько вариантов.

    507 Insufficient Storage — сервер не может хранить то, что ему нужно для выполнения запроса.

    508 Loop Detected — сервер столкнулся с бесконечным циклом при попытке обработать запрос.

    509 Bandwidth Limit Exceeded — неофициально используется Apache и cPanel.

    510 Not Extended — требуются дополнительное расширение запроса, прежде чем сервер выполнит его.

    511 Network Authentication Required — клиенту требуется пройти аутентификацию, прежде чем сервер разрешит доступ к сети.

    520 Web Server Returned an Unknown Error — неофициально используется Cloudflare.

    521 Web Server is Down — неофициально используется Cloudflare.

    522 Connection Timed Out — неофициально используется Cloudflare.

    523 Origin is Unreachable — неофициально используется Cloudflare.

    524 A Timeout Occurred — неофициально используется Cloudflare.

    525 SSL Handshake Failed — неофициально используется Cloudflare.

    526 Invalid SSL Certificate — неофициально используется Cloudflare.

    527 Railgun Error — неофициально используется Cloudflare.

    529 Origin is Unreachable — неофициально используется Cloudflare.

    530 — неофициально используется Cloudflare.

    530 Site is frozen — неофициально используется Pantheon.

    561 Unauthorized — неофициально используется AWS Elastic Load Balancer.

    598 (Informal convention) Network read timeout error — неофициально используется некоторыми HTTP-прокси.

    Как Google обрабатывает коды 5xx

    Ошибки 5xx замедляют сканирование. В конце концов, страницы будут исключены из индекса Google. Вы можете найти их с помощью Аудита сайта или Ahrefs Webmaster Tools, но они могут отличаться от состояний 5xx, которые видит Google. Поскольку это ошибки на стороне сервера, они могут присутствовать не всегда.

    Коды ответов протокола HTTP — Раздел помощи

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

    Первая цифра кода состояния определяет класс ответа:

      1xx: Информационные коды — запрос получен, продолжается обработка.

      2xx: Успешные коды — запрос был успешно получен, понят и выполнен.

      3xx: Коды перенаправления — для выполнения запроса должны быть предприняты дальнейшие действия агента пользователя (программы, принимающей ответ на запрос).

      4xx: Коды ошибок клиента — запрос имеет плохой синтаксис или не может быть выполнен. Также указывает, является ли ситуация временной или постоянной.

      5xx: Коды ошибок сервера — сервер не в состоянии выполнить допустимый запрос или выполнил его с ошибкой.

    Просмотр кода ответа протокола HTTP

    Один из самых простых способов увидеть коды ответа — зайти в инструменты разработчика в браузере. Например, для браузеров google chrome и mozilla firefox достаточно:

    1. Зайти на нужный сайт
    2. Нажать на кнопку F12 на клавиатуре, в открывшихся инструментах перейти на вкладку «Network»
    3. Обновить страницу

    На скриншоте показаны инструменты разработчика google chrome, коды ответа есть в колонке Status.

    Наиболее распространённые коды ответов протокола HTTP

    200 OK — запрос был выполнен успешно.

    403 Forbidden (Запрещено) — сервер понял запрос, но отказывается выполнять его. Установление подлинности (Authorization) не поможет, и запрос не должен быть повторен. Ошибка 403 может возникать, когда доступ к ресурсу запрещён с определённого IP-адреса или всех адресов, либо в папке сайта отсутствует индексный файл.

    404 Not Found (Не найден) — сервер не нашел ничего, соответствующего данному запрашиваемому URI (Universal Resource Identifier). Страница может быть не найдена вследствие некорректных настроек файла .htaccess или в случае фактического отсутствия искомой страницы на сайте.

    500 Internal Server Error (Внутренняя ошибка сервера) — сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос. Ошибка 500 является следствием невозможности запуска скрипта, а также возникает в случае синтаксических или иных ошибок в скрипте или присутствия некорректных записей в файле . htaccess.

    502 Bad Gateway (Ошибка шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, получил недопустимый ответ от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В случае, если используется связка apache+nginx, проксирующим сервером является nginx. Данная ошибка может появиться в случае, если работающий процесс пытается потребить больше ресурсов, чем доступно в рамках услуги виртуального хостинга, в этом случае ему посылается сигнал завершения и возвращается результат запроса 502.

    503 Service Unavailable (Сервис недоступен) — сервер в настоящее время не способен обработать запрос из-за временной перегрузки или обслуживания сервера. Причина возникновения 503 Service Unavailable как правило, кроется в превышении лимита на количество одновременно запущенных процессов на аккаунте. На тарифах виртуального хостинга, согласно п. 2.12 Договора оферты, данный лимит составляет 64 процесса.

    504 Gateway Timeout (Истекло время ожидания от шлюза) — сервер, действуя в качестве шлюза или прокси-сервера, не получил своевременного ответа от следующего сервера в цепочке запросов, к которому обратился при попытке выполнить запрос. В связке apache+nginx nginx выполняет роль прокси-сервера, и в случае, если он не дожидается ответа от apache, он отдаёт код 504. Также 504 Bad Gateway возникает, если исполняемый скрипт не может отработать в установленный лимит времени. Это возможно решить увеличением параметра max_execution_time или оптимизировать скрипт, при работе которого возникает ошибка.

    Список прочих кодов ответов протокола HTTP

    100 Continue (Продолжать) — клиент может продолжать запрос, а если запрос отправлен, то игнорировать отклик. Сервер должен послать окончательный отклик по завершении реализации запроса.

    101 Switching Protocols (Переключение протоколов) — сервер принял и понял запрос клиента на переключение на модифицированный протокол. Сервер переходит на протокол, определенный в поле заголовка отклика Upgrade, немедленно после получения пустой строки, завершающей отклик 101.

    201 Created (создан) — запрос был выполнен и в результате был создан новый ресурс.

    202 Accepted (Принято) — запрос был принят для обработки, но обработка не была завершена. В конечном счете запрос может быть, а может и не быть выполнен, поскольку он может быть отвергнут при фактической обработке.

    203 Non-Authoritative Information (Ненадёжная информация) — присылаемая в ответ метаинформация в заголовке объекта не идентифицируется, как полученная от исходного сервера, её следует скорее считать косвенной, полученной опосредованно.

    204 No Content (нет содержимого) — сервер выполнил запрос, но нет никакой новой информации, которую можно послать обратно.

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

    206 Partial Content (Частичное содержимое) — сервер выполнил частичный GET запрос ресурса.

    300 Multiple Choices (Множественный выбор) — запрошенный ресурс имеет несколько представлений, и можно использовать любое из перечисленных.Агент пользователя выбирает предпочтительное представление и перенаправляет запрос ему.

    301 Moved Permanently (Постоянно перенесен) — запрошенному ресурсу был назначен новый постоянный URI, и любые будущие ссылки на этот ресурс следует выполнять, используя один из возвращенных URI.

    302 Moved Temporarily (Временно перемещен) — запрошенный ресурс временно находится под другим URI.

    303 See Other (Смотреть другой) — ответ на запрос может быть найден под другим URI и его следует запрашивать, используя метод GET для этого ресурса.

    304 Not Modified (Не модифицирован) — если клиент выполнил условный GET запрос, и доступ разрешен, но документ не изменился, то серверу следует ответить, используя этот код состояния.

    305 Use Proxy (Используйте прокси-сервер) — обращение к запрошенному ресурсу должно производиться через прокси-сервер, указанный в поле Location. В поле Location указан URL прокси-сервера.

    400 Bad Request (Испорченный Запрос) — запрос не может быть понят сервером из-за ошибки синтаксиса.

    401 Unauthorized (Несанкционированно) — запрос требует установления подлинности пользователя.

    402 Payment Required (Требуется оплата) — этот код зарезервирован для будущего использования.

    405 Method Not Allowed (Метод не дозволен)- метод, определенный в строке запроса (Request-Line) не дозволено применять для ресурса, идентифицированного запрашиваемым URI (Request-URI).

    406 Not Acceptable (Не приемлем) — ресурс, определенный запросом, может генерировать только ответ, характеристики которого не соответствуют заголовкам, посланным в запросе.

    407 Proxy Authentication Required (Требуется установление подлинности через прокси-сервер) — этот код подобен коду 401, но указывает, что клиент должен сначала установить свою подлинность (authenticate) прокси-серверу.

    408 Request Timeout (Истекло время ожидания запроса) — клиент не произвел запрос в течение времени, которое сервер готов ждать.

    409 Conflict (Конфликт) — запрос не был выполнен из-за конфликта с текущим состоянием ресурса, конфликты, наиболее вероятно, будут возникать в ответ на запрос PUT.

    410 Gone (Удален)- запрошенный ресурс больше не доступен на сервере, и нет никакого адреса для перенаправления запроса.

    411 Length Required (Требуется длина) — cервер отказывается принимать запрос с неопределенным Content-Length.

    412 Precondition Failed (Предусловие неверно) — предусловие, представленное одним или несколькими полями заголовка запроса (request-header), оказалось ложным при проверке сервером.

    413 Request Entity Too Large (Объект запроса слишком большой) — сервер отказывается обрабатывать запрос, потому что объект запроса больше, чем сервер желает или способен обработать.

    414 Request-URI Too Long (URI запроса слишком длинный) — сервер отказывается обслуживать запрос, потому что запрашиваемый URI (Request-URI) длиннее, чем сервер желает интерпретировать.

    415 Unsupported Media Type (Неподдерживаемый медиа тип) — сервер отказывается обслуживать запрос, потому что объект запроса находится в формате, не поддерживаемом запрошенным ресурсом для запрошенного метода. В случае нашего хостинга, такой ответ может давать срабатывание модуля безопасности ModSecurity

    501 Not Implemented (Не реализовано) — сервер не поддерживает функциональные возможности, требуемые для выполнения запроса.

    505 HTTP Version Not Supported (Не поддерживаемая версия HTTP) — сервер не поддерживает, или отказывается поддерживать, версию HTTP протокола, которая используется в сообщении запроса.

    Код состояния протокола передачи гипертекста (HTTP) Реестр

    100 Продолжить [RFC9110, раздел 15. 2.1]
    101
    Протоколы переключения
    [RFC9110, раздел 15.2.2]
    102 Обработка [RFC2518]
    103 Ранние подсказки [RFC8297]
    104-199 Не назначено
    200 ОК [RFC9110, раздел 15.3.1]
    201 Создан [RFC9110, раздел 15.3.2]
    202
    Принято [RFC9110, раздел 15.3.3]
    203 Неофициальная информация [RFC9110, раздел 15. 3.4]
    204 Нет содержимого [RFC9110, раздел 15.3.5]
    205 Сбросить содержимое [RFC9110, раздел 15.3.6]
    206 Частичное содержание [RFC9110, раздел 15.3.7]
    207 Мультистатус [RFC4918]
    208 Уже Сообщено [RFC5842]
    209-225 Не назначено
    226 IM Используется [RFC3229]
    227-299 Не назначено
    300 Множественный выбор [RFC9110, раздел 15. 4.1]
    301 Перемещено навсегда [RFC9110, раздел 15.4.2]
    302 Найдено [RFC9110, раздел 15.4.3]
    303 См. Другое [RFC9110, раздел 15.4.4]
    304 Не изменено [RFC9110, раздел 15.4.5]
    305 Использовать прокси [RFC9110, раздел 15.4.6]
    306 (не используется) [RFC9110, раздел 15.4.7]
    307 Временное перенаправление [RFC9110, раздел 15.4.8]
    308 Постоянное перенаправление [RFC9110, раздел 15.
    4.9]
    309-399 Не назначено
    400 Неверный запрос [RFC9110, раздел 15.5.1]
    401 Неавторизованный [RFC9110, раздел 15.5.2]
    402 Требуется оплата [RFC9110, раздел 15.5.3]
    403 Запрещено
    [RFC9110, раздел 15.5.4]
    404 Не найдено [RFC9110, раздел 15.5.5]
    405 Метод не разрешен [RFC9110, раздел 15.5.6]
    406 Неприемлемо [RFC9110, раздел 15. 5.7]
    407 Требуется аутентификация прокси-сервера [RFC9110, раздел 15.5.8]
    408 Время ожидания запроса [RFC9110, раздел 15.5.9]
    409 Конфликт [RFC9110, раздел 15.5.10]
    410 Ушел [RFC9110, раздел 15.5.11]
    411 Требуемая длина [RFC9110, раздел 15.5.12]
    412 Предварительное условие не выполнено [RFC9110, раздел 15.5.13]
    413 Содержимое слишком большое [RFC9110, раздел 15. 5.14]
    414 URI слишком длинный [RFC9110, раздел 15.5.15]
    415 Неподдерживаемый тип носителя [RFC9110, раздел 15.5.16]
    416 Диапазон не удовлетворяет [RFC9110, раздел 15.5.17]
    417 Ожидание не оправдалось [RFC9110, раздел 15.5.18]
    418 (не используется) [RFC9110, раздел 15.5.19]
    419-420 Не назначено
    421 Неверно направленный запрос [RFC9110, раздел 15. 5.20]
    422 Необрабатываемый контент [RFC9110, раздел 15.5.21]
    423 Заблокировано [RFC4918]
    424 Неудачная зависимость [RFC4918]
    425 Слишком рано [RFC8470]
    426 Требуется обновление [RFC9110, раздел 15.5.22]
    427 Не назначено
    428 Требуется предварительное условие [RFC6585]
    429 Слишком много запросов [RFC6585]
    430 Не назначено
    431 Поля заголовка запроса слишком велики [RFC6585]
    432-450 Не назначено
    451
    Недоступно по юридическим причинам [RFC7725]
    452-499 Не назначено
    500 Внутренняя ошибка сервера [RFC9110, раздел 15. 6.1]
    501 Не реализовано [RFC9110, раздел 15.6.2]
    502 Плохой шлюз [RFC9110, раздел 15.6.3]
    503 Служба недоступна [RFC9110, раздел 15.6.4]
    504 Время ожидания шлюза [RFC9110, раздел 15.6.5]
    505 Версия HTTP не поддерживается [RFC9110, раздел 15.6.6]
    506 Вариант также согласовывается с [RFC2295]
    507 Недостаточно памяти [RFC4918]
    508 Обнаружена петля [RFC5842]
    509 Не назначено
    510 Не расширен (УСТАРЕЛ) [RFC2774][статус-изменение-http-эксперименты-на-историю]
    511 Требуется сетевая аутентификация [RFC6585]
    512-599 Не назначено

    Полное руководство и список кодов ошибок

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

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

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

    Давайте погрузимся!

    Предпочитаете смотреть видеоверсию?

    Что такое коды состояния HTTP?

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

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

    Обычно только когда что-то идет не так, вы можете увидеть его в своем браузере. Это способ сервера сказать: «Что-то не так. Вот код, который объясняет, что пошло не так».

    Код состояния Google 404 HTTP

    Если вы хотите увидеть коды состояния, которые ваш браузер обычно не показывает, существует множество различных инструментов, упрощающих эту задачу. Расширения браузера доступны для удобных для разработчиков платформ, таких как Chrome и Firefox, а также существует множество веб-инструментов для извлечения заголовков, таких как Web Sniffer.

    Чтобы просмотреть коды состояния HTTP с помощью одного из этих инструментов, найдите строку в верхней части отчета с надписью «Статус: HTTP/1. 1». За этим последует код состояния, возвращенный сервером.

    Общие сведения о классах кодов состояния HTTP

    Коды состояния HTTP делятся на 5 «классов». Это группы ответов, имеющих сходное или родственное значение. Знание того, что это такое, может помочь вам быстро определить общее содержание кода состояния 9.0630 до  ищите его конкретное значение.

    Пять классов включают:

    • 100s: Информационные коды, указывающие на то, что запрос, инициированный браузером, продолжается.
    • 200s:  Коды успеха возвращаются, когда запрос браузера получен, понят и обработан сервером.
    • 300s:  Коды перенаправления возвращаются, когда запрошенный ресурс заменяется новым.
    • 400s:  Коды ошибок клиента, указывающие на проблему с запросом.
    • 500s:  Коды ошибок сервера, указывающие на то, что запрос был принят, но ошибка на сервере помешала выполнению запроса.

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

    Почему коды состояния HTTP и ошибки имеют значение для поисковой оптимизации (SEO)

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

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

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

    300-уровневые коды имеют несколько более сложные отношения с SEO. Главное, что вам нужно знать, чтобы понять их влияние, — это разницу между постоянными и временными переадресациями, которую мы рассмотрим более подробно в соответствующем разделе ниже.

    В двух словах, однако, постоянные перенаправления делят вес ссылок с обратными, а временные — нет. Другими словами, когда вы используете временную переадресацию для перемещенных страниц, вы теряете SEO-преимущество всего того, что вы сделали.

    Проверка кодов состояния HTTP в Google Search Console

    Одним из способов отслеживания того, как Google воспринимает коды состояния HTTP на вашем сайте, является использование Google Search Console. Вы можете просмотреть 300-, 400- и 500-уровневые коды состояния в Охват  отчет:

    Отчет о покрытии Google Search Console

    В этой области панели инструментов отображаются четыре типа контента на вашем сайте:

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

    Вы можете найти страницы с кодами состояния HTTP уровня 300, 400 и 500 под кодом Исключено , Ошибка или Действителен с предупреждениями  секции, в зависимости от типа кода. Например, переадресация 301 может быть указана в разделе Исключено как Страница с переадресацией :

    Страница с переадресацией в отчете о покрытии Google Search Console.

    400- и 500-уровневые коды состояния, скорее всего, появятся под кодом Error .

    Еще один способ просмотреть коды состояния HTTP – использовать инструмент   Проверки URL. Если Google не может проиндексировать определенную страницу из-за ошибки, вы увидите это здесь: 9059.9 Ошибка 404 в инструменте проверки URL-адресов Google Search Console

    Дополнительные советы по использованию Google Search Console см. в нашем подробном руководстве по платформе.

    Полное руководство и список кодов состояния HTTP

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

    100 Коды состояния

    100-уровневый код состояния сообщает вам, что запрос, который вы сделали на сервер, по какой-то причине все еще выполняется. Это не обязательно проблема, это просто дополнительная информация, чтобы вы знали, что происходит.

    • 100: «Продолжить». Это означает, что рассматриваемый сервер получил заголовки запроса вашего браузера и теперь также готов к отправке тела запроса. Это делает процесс запроса более эффективным, поскольку не позволяет браузеру отправить основной запрос, даже если заголовки были отклонены.
    • 101: «Переключение протоколов». Ваш браузер попросил сервер изменить протоколы, и сервер подчинился.
    • 103: «Ранние подсказки». Это возвращает некоторые заголовки ответа до того, как остальная часть ответа сервера будет готова.

    200 кодов состояния

    Это лучший тип кода состояния HTTP для получения. Ответ уровня 200 означает, что все работает именно так, как должно.

    • 200: «Все в порядке». Это код, который доставляется, когда веб-страница или ресурс ведут себя именно так, как ожидается.
    • 201: «Создано». Сервер выполнил запрос браузера и в результате создал новый ресурс.
    • 202: «Принято». Сервер принял запрос вашего браузера, но все еще обрабатывает его. В конечном итоге запрос может привести или не привести к завершенному ответу.
    • 203: «Неавторитетная информация». Этот код состояния может появиться, когда используется прокси. Это означает, что прокси-сервер получил код состояния 200 «Все в порядке» от исходного сервера, но изменил ответ, прежде чем передать его вашему браузеру.
    • 204: «Без содержания».   Этот код означает, что сервер успешно обработал запрос, но не собирается возвращать какой-либо контент.
    • 205: «Сбросить содержимое». Как и код 204, это означает, что сервер обработал запрос, но не собирается возвращать какой-либо контент. Однако для этого также требуется, чтобы ваш браузер сбросил представление документа.
    • 206:  «Частичный контент». Вы можете увидеть этот код состояния, если ваш HTTP-клиент (также известный как ваш браузер) использует «заголовки диапазонов». Это позволяет вашему браузеру возобновить приостановленные загрузки, а также разделить загрузку на несколько потоков. Код 206 отправляется, когда заголовок диапазона заставляет сервер отправлять только часть запрошенного ресурса.

    300 кодов состояния

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

    • 300: «Множественный выбор». Иногда может быть несколько возможных ресурсов, которыми сервер может ответить, чтобы выполнить запрос вашего браузера. Код состояния 300 означает, что теперь ваш браузер должен выбирать между ними. Это может произойти, если доступно несколько расширений типов файлов или если на сервере выполняется устранение неоднозначности смысла слов.
    • 301:  «Запрошенный ресурс был перемещен без возможности восстановления». Этот код доставляется, когда веб-страница или ресурс были навсегда заменены другим ресурсом. Он используется для постоянного перенаправления URL.
    • 302: «Запрошенный ресурс был перемещен, но найден». Этот код используется для указания того, что запрошенный ресурс был найден, но не в том месте, где он ожидался. Используется для временного перенаправления URL.
    • 303:  «См. Другое». Чтобы понять код состояния 303, необходимо знать разницу между четырьмя основными методами HTTP-запроса. По сути, код 303 сообщает вашему браузеру, что он нашел ресурс, запрошенный вашим браузером через POST, PUT или DELETE. Однако, чтобы получить его с помощью GET, вам нужно сделать соответствующий запрос к URL-адресу, отличному от того, который вы использовали ранее.
    • 304:  «Запрошенный ресурс не был изменен с момента последнего обращения к нему». Этот код сообщает браузеру, что ресурсы, хранящиеся в кеше браузера, не изменились. Он используется для ускорения доставки веб-страниц за счет повторного использования ранее загруженных ресурсов.
    • 307:  «Временное перенаправление». Этот код состояния заменил 302 «Найдено» в качестве подходящего действия, когда ресурс был временно перемещен на другой URL-адрес. В отличие от кода состояния 302, он не позволяет изменить метод HTTP.
    • 308: «Постоянная переадресация». Код состояния 308 является преемником кода 301 «Перемещено навсегда». Он не позволяет изменять метод HTTP и указывает, что запрошенный ресурс теперь постоянно находится по новому URL-адресу.

    400 кодов состояния

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

    • 400: «Неверный запрос». Сервер не может вернуть ответ из-за ошибки на стороне клиента. См. наше руководство по устранению этой ошибки.
    • 401:  «Не авторизовано» или «Требуется авторизация». Это возвращается сервером, когда у целевого ресурса отсутствуют действительные учетные данные для аутентификации. Вы можете увидеть это, если вы настроили базовую HTTP-аутентификацию с помощью htpasswd.
    Ошибка авторизации Nginx 401 в Chrome
    • 402: «Требуется оплата». Изначально этот код был создан для использования в системе цифровой наличности. Однако этот план так и не был реализован. Вместо этого он используется различными платформами, чтобы указать, что запрос не может быть выполнен, обычно из-за отсутствия необходимых средств. Общие случаи включают в себя:
      • Вы достигли дневного лимита запросов к Google Developers API.
      •  Вы не оплатили комиссию Shopify, и ваш магазин временно деактивирован.
      •  Ваш платеж через Stripe не прошел, или Stripe пытается предотвратить мошеннический платеж.
    • 403:  «Доступ к этому ресурсу запрещен». Этот код возвращается, когда пользователь пытается получить доступ к чему-то, на что у него нет разрешения на просмотр. Например, попытка получить доступ к защищенному паролем содержимому без входа в систему может привести к ошибке 403.
    • 404:  «Запрошенный ресурс не найден». Это самое распространенное сообщение об ошибке из всех. Этот код означает, что запрошенный ресурс не существует, и сервер не знает, существовал ли он когда-либо.
    • 405:  «Метод не разрешен». Это генерируется, когда хост-сервер (исходный сервер) поддерживает полученный метод, а целевой ресурс — нет.
    • 406:  «Неприемлемый ответ». Запрошенный ресурс способен генерировать только тот контент, который неприемлем в соответствии с заголовками accept, отправленными в запросе.
    • 407: «Требуется аутентификация прокси». Прокси-сервер используется и требует, чтобы ваш браузер аутентифицировал себя, прежде чем продолжить.
    • 408: «Время ожидания сервера истекло, ожидая остальной части запроса от браузера». Этот код генерируется, когда время ожидания сервера истекает при ожидании полного запроса от браузера. Другими словами, сервер не получил полный запрос, отправленный браузером. Одной из возможных причин может быть сетевая перегрузка, приводящая к потере пакетов данных между браузером и сервером.
    • 409: «Конфликт». Код состояния 409 означает, что сервер не смог обработать запрос вашего браузера из-за конфликта с соответствующим ресурсом. Иногда это происходит из-за нескольких одновременных правок.
    • 410:  «Запрошенный ресурс пропал и не вернется». Это похоже на код 404 «Не найдено», за исключением того, что 410 указывает на ожидаемое и постоянное состояние.
    • 411: «Требуемая длина». Это означает, что запрошенный ресурс требует, чтобы клиент указал определенную длину, а он этого не сделал.
    • 412: «Не удалось выполнить предварительное условие». Ваш браузер включил определенные условия в заголовки своих запросов, и сервер не соответствовал этим спецификациям.
    • 413:  «Слишком большая полезная нагрузка» или «Слишком большой объект запроса». Ваш запрос больше, чем сервер хочет или может обработать.
    • 414: «URI слишком длинный». Обычно это результат запроса GET, который был закодирован как строка запроса, слишком большая для обработки сервером.
    • 415:  «Неподдерживаемый тип носителя». Запрос включает тип мультимедиа, который не поддерживается сервером или ресурсом.
    • 416:  «Диапазон недостижим». Ваш запрос относился к части ресурса, которую сервер не может вернуть.
    • 417:  «Ожидание не оправдалось». Сервер не может выполнить требования, указанные в поле ожидаемого заголовка запроса.
    • 418:  «Я чайник». Этот код возвращают чайники, которые получают запросы на приготовление кофе. Это также первоапрельская шутка 1998 года.
    418 Код состояния «Я чайник»
    • 422:  «Необрабатываемый объект». Запрос клиента содержит семантические ошибки, и сервер не может его обработать.
    • 425:  «Слишком рано». Этот код отправляется, когда сервер не желает обрабатывать запрос, поскольку он может быть воспроизведен повторно.
    • 426: «Требуется обновление». Из-за содержимого поля заголовка обновления запроса клиент должен переключиться на другой протокол.
    • 428: «Требуется предварительное условие». Сервер требует, чтобы условия были указаны перед обработкой запроса.
    • 429:  «Слишком много запросов». Это генерируется сервером, когда пользователь отправил слишком много запросов за заданный промежуток времени (ограничение скорости). Иногда это может происходить из-за того, что боты или скрипты пытаются получить доступ к вашему сайту. В этом случае вы можете попробовать изменить URL-адрес входа в WordPress. Вы также можете ознакомиться с нашим руководством по исправлению ошибки 429.Ошибка «Слишком много запросов».
    429 слишком много запросов
    • 431: «Поля заголовка запроса слишком велики». Сервер не может обработать запрос, так как поля заголовка слишком велики. Это может указывать на проблему с одним полем заголовка или со всеми вместе.
    • 451: «Недоступно по юридическим причинам». Оператору сервера поступило требование запретить доступ к запрошенному вами ресурсу (или набору ресурсов, включая запрошенный вами). Забавный факт: этот код является отсылкой к роману Рэя Брэдбери «9».0630 по Фаренгейту 451 .
    • 499:  «Клиент закрыл запрос». Это возвращается NGINX, когда клиент закрывает запрос, пока Nginx все еще обрабатывает его.

    500 кодов состояния

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

    • 500:  «На сервере произошла ошибка, и запрос не может быть выполнен». Это общий код, который просто означает «внутренняя ошибка сервера». Что-то пошло не так на сервере и запрошенный ресурс не был доставлен. Этот код обычно генерируется сторонними плагинами, неисправным PHP или даже разрывом соединения с базой данных. Ознакомьтесь с нашими руководствами о том, как исправить ошибку при подключении к базе данных, а также о других способах устранения внутренней ошибки сервера 500.
    Ошибка при установлении подключения к базе данных
    • 501: «Не реализовано». Эта ошибка указывает на то, что сервер не поддерживает функции, необходимые для выполнения запроса. Это почти всегда проблема на самом веб-сервере и обычно должна решаться хостом. Ознакомьтесь с нашими рекомендациями по устранению не реализованной ошибки 501.
    • 502:  «Плохой шлюз». Этот код ошибки обычно означает, что один сервер получил неверный ответ от другого, например, при использовании прокси-сервера. В других случаях запрос или запрос занимают слишком много времени, поэтому он отменяется или уничтожается сервером, а соединение с базой данных разрывается. Для получения более подробной информации см. наш подробный учебник о том, как исправить ошибку 502 Bad Gateway.
    • 503:  «Сервер сейчас недоступен для обработки этого запроса». Запрос не может быть выполнен в данный момент времени. Этот код может быть возвращен перегруженным сервером, который не может обрабатывать дополнительные запросы. У нас есть полное руководство о том, как исправить ошибку 503 Service Unreachable.
    • 504:  «Сервер, выступающий в роли шлюза, истек по тайм-ауту в ожидании ответа другого сервера». Этот код возвращается, когда два сервера участвуют в обработке запроса, и время ожидания первого сервера истекло, ожидая ответа второго сервера. Подробнее о том, как исправить ошибку 504, читайте в нашем специальном руководстве.
    • 505: «Версия HTTP не поддерживается». Сервер не поддерживает версию HTTP, которую клиент использовал для выполнения запроса.
    • 508 : «Достигнут лимит ресурсов» достигнуты ограничения на ресурсы, установленные вашим веб-хостом. Ознакомьтесь с нашим руководством о том, как устранить ошибку «508 Resource Limit Is Reached».
    • 509 : «Превышено ограничение пропускной способности» означает, что ваш веб-сайт использует большую пропускную способность, чем позволяет ваш хостинг-провайдер.
    • 511: «Требуется сетевая аутентификация». Этот код состояния отправляется, когда сеть, которую вы пытаетесь использовать, требует какой-либо формы аутентификации перед отправкой вашего запроса на сервер. Например, вам может потребоваться принять Условия использования общедоступной точки доступа Wi-Fi.
    • 521:  «Веб-сервер не работает». Ошибка 521 — это сообщение об ошибке, характерное для Cloudflare. Это означает, что ваш веб-браузер смог успешно подключиться к Cloudflare, но Cloudflare не смог подключиться к исходному веб-серверу.
    • 525 : «Сбой рукопожатия SSL». Ошибка 525 означает, что рукопожатие SSL между доменом, использующим Cloudflare, и исходным веб-сервером не удалось. Если у вас возникли проблемы, есть пять методов, которые вы можете легко исправить с ошибкой 525.

    Где узнать больше о кодах состояния HTTP

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

    • Полный список кодов состояния HTTP из Википедии.
    • Определения кодов состояния от Инженерной группы Интернета (IETF).
    • RFC 7231.

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

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

    Резюме

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

    В этом посте мы определили более 40 кодов состояния HTTP, с которыми вы можете столкнуться.