Сервер упал какой код ошибки получит пользователь

Полный список кодов ошибок сервера (HTTP) с детальным разбором. Как избавиться от наиболее частых ошибок сервера. Описание состояний HTTP.

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

А еще тут будет парочка забавных (и не очень) пикч и анимаций на тему описанных ошибок. Хоть какое-то развлечение.

Ошибки со стороны клиента (4xx)

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

400 Bad Request

Такой ответ от браузера можно получить в том случае, если сервер не смог правильно отреагировать на запрос со стороны пользователя. Часто код 400 возникает при попытке клиента получить доступ к серверу без соблюдения правил оформления синтаксиса протокола передачи гипертекста (HTTP). Повторный запрос не стоит отправлять до тех пор, пока не будет исправлена ошибка (или несколько из них). 

401 Unauthorized

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

402 Payment Required

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

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

403 Forbidden

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

Анимация на тему 403 

Творчество на тему знаменитой киносаги

404 Not Found

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

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

Ошибка 404

Еще вариант оформления ошибки 404

И таких вариаций тысячи. Каждый пытается добавить в оформление что-то свое.

405 Method Not Allowed

405 сообщает клиенту о том, что метод, используемый при запросе, не разрешен. В качестве примера можно привести попытку со стороны клиента ввести данные в форму с помощью GET, когда она работает только с POST. Ну и в таком же духе. 

406 Not Acceptable

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

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

407 Proxy Authentication Required

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

408 Request Timeout

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

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

Кадр из фильма Мистер Робот 

В Мистере Роботе частенько называли серии в честь ошибок HTTP (весь четвертый сезон в нумерации 4хх). В честь 408, например, назвали восьмую серию четвертого сезона

409 Conflict

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

410 Gone

Своего рода аналог 404. Разница лишь в том, что 410 намекает на перманентность отсутствия страницы. Так что этот код стоит использовать, когда на 100% уверен, что страница ушла в небытие (ну или с текущего адреса) навсегда. В любом другом случае есть универсальный 404. 

411 Length Required

411 оповещает пользователя о том, что сервер не желает принимать запрос со стороны клиента, потому что в нем не определен заголовок Content-Length. Да, это первый код в подборке, который смогут понять только люди, сведущие в настройке серверов. По-простому уложить сущность HTML-заголовков в этот материал не получится.

412 Precondition Failed

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

413 Payload Too Large/Request Entity Too Large

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

414 URI Too Long

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

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

415 Unsupported Media Type

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

416 Range Not Satisfiable

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

417 Expectation Failed

Такая ошибка высвечивается, когда ожидания сервера не совпадают с данными в запросе клиента. Сведения об ожиданиях прописываются в заголовке Expect заранее. Так что можно ознакомиться с ними, чтобы выяснить, как решить названную проблему.

418 I’m a teapot

Код 418 можно увидеть, если сервер откажется варить кофе, потому что он чайник. Это первоапрельская шутка. Естественно, 418 не используется нигде всерьез и просто существует как дань памяти программистам-юмористам, придумавшим это в 1998 году.

Чайник на сайте Google

У Google получился такой симпатичный чайник

421 Misdirected Request

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

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

422 Unprocessable Entity

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

423 Locked

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

424 Failed Dependency

424 сообщает о том, что для выполнения запроса со стороны клиента успешно должна завершиться еще одна или несколько параллельных операций. Если какая-то из них «провалится», то «помрет» все соединение сразу, и обработать запрос до конца не получится. Аналогичное происходит, если некорректно был обработан один из предыдущих запросов.

425 Too Early

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

426 Upgrade Required

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

428 Precondition Required

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

429 Too Many Requests

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

Ошибка 429

431 Request Header Fields Too Large

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

444 No Response

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

449 Retry With

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

450 Blocked by Windows Parental Controls

450 код увидят дети, попавшие под действие системы «Родительский контроль» компании Microsoft. По сути, ошибка говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров родительского контроля.

451 Unavailable For Legal Reasons

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

Лого Роскомнадзора

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

Ошибка сервера 504

Ошибка сервера 403

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Список ошибок на стороне сервера (5xx)

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

500 Internal Server Error

Этот код возникает, когда сервер сталкивается с непредвиденными обстоятельствами. Такими, которые и сам не может пояснить. Как, собственно, и завершить запрос со стороны пользователя. По факту, эта ошибка говорит нам что-то вроде «Я не могу подобрать более подходящий код ошибки, поэтому лови 500 и делай с этим, что хочешь». Мы писали о нем чуть подробнее тут.

Ошибка 500

Дело не в тебе, дело во мне (С)

 Синий экран смерти

501 Not Implemented

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

Иногда в теле ошибки еще пишут что-то в духе «Приходите попозже, возможно, в будущем нужная функция появится».

502 Bad Getaway

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

503 Service Unavailable

Появляется, когда сервер не может обработать запрос клиента по одной из двух технических причин:

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

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

504 Gateway Timeout

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

 Вариант оформления ошибки 504

505 HTTP Version Not Supported

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

506 Variant Also Negotiates

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

507 Insufficient Storage

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

508 Loop Detected

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

509 Bandwidth Limit Exceeded

Возникает, если сервер начинает потреблять больше трафика, чем ему позволено. 

510 Not Extended

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

511 Network Authentication Required

511 код говорит о том, что перед тем как выйти в сеть, надо авторизоваться (ввести логин и пароль). Можно воспринимать это неким PPPoE подключением, когда от клиента требуются данные для авторизации.

Заключение

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

Содержание

  • Что такое код ответа HTTP
  • Как проверить код состояния страницы
  • В браузере
  • В Яндекс.Вебмастере
  • В Google Search Console
  • 1* класс кодов (информационные сообщения)
  • 100 Continue
  • 101 Switching Protocols
  • 102 Processing
  • 103 Checkpoint
  • 105 Name Not Resolved
  • 2* класс кодов (успешно обработанные запросы)
  • 200 ОК
  • 201 Created
  • 202 Accepted
  • 203 Non‑Authoritative Information
  • 204 No Content
  • 205 Reset Content
  • 206 Partial Content
  • 207 Multi‑Status
  • 226 IM Used
  • 3* класс кодов (перенаправление на другой адрес)
  • 300 Multiple Choices
  • 301 Moved Permanently
  • 302 Found/Moved 
  • 303 See Other
  • 304 Not Modified
  • 305 Use Proxy
  • 306 Unused
  • 307 Temporary Redirect
  • 308 Resume Incomplete
  • 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
  • 412 Precondition Failed
  • 413 Request Entity Too Large
  • 414 Request‑URI Too Long
  • 415 Unsupported Media Type
  • 416 Requested Range Not Satisfiable
  • 417 Expectation Failed
  • 418 I’m a teapot
  • 422 Unprocessable Entity
  • 423 Locked
  • 424 Failed Dependency
  • 425 Unordered Collection
  • 426 Upgrade Required
  • 428 Precondition Required
  • 429 Too Many Requests
  • 431 Request Header Fields Too Large
  • 434 Requested Host Unavailable
  • 444 No Response
  • 449 Retry With
  • 450 Blocked by Windows Parental Controls
  • 451 Unavailable For Legal Reasons
  • 456 Unrecoverable Error
  • 499 Client Closed Request
  • 5* класс кодов (ошибки на стороне сервера)
  • 500 Internal Server Error
  • 501 Not Implemented
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout
  • 505 HTTP Version Not Supported
  • 506 Variant Also Negotiates
  • 507 Insufficient Storage
  • 508 Loop Detected
  • 509 Bandwidth Limit Exceeded
  • 510 Not Extended
  • 511 Network Authentication Required
  • Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.

    Что такое код ответа HTTP

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

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

    Как проверить код состояния страницы

    Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.

    В браузере

    Для примера возьмём Google Chrome.

    1. Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы». 

    2. Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу: 

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    Как посмотреть код ответа сервера в инструментах разработчика в браузере

    В Яндекс.Вебмастере

    Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

    Как посмотреть код состояния в Вебмастере

    Как посмотреть код состояния в Вебмастере

    Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса

    В Google Search Console

    Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

    Проверка URL в инструменте GSC

    Проверка URL в инструменте GSC

    Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

    Изучить просканированную страницу в GSC

    Изучить просканированную страницу в GSC

    А затем в открывшемся окне перейдите на вкладку «Подробнее»:

    HTTP код страницы в GSC

    HTTP код страницы в GSC

    Теперь расскажем подробнее про все классы кодов состояния HTTP.

    1* класс кодов (информационные сообщения)

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

    100 Continue

    Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.

    101 Switching Protocols

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

    102 Processing

    Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.

    103 Checkpoint

    Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.

    POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса. 

    Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные. 

    Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.

    105 Name Not Resolved

    Не удается преобразовать DNS‑адрес сервера — это  означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.

    2* класс кодов (успешно обработанные запросы)

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

    200 ОК

    Все хорошо — HTTP‑запрос успешно обработан (не ошибка).

    201 Created

    Создано — транзакция успешна, сформирован новый ресурс или документ.

    202 Accepted

    Принято — запрос принят, но ещё не обработан.

    203 Non‑Authoritative Information

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

    204 No Content

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

    205 Reset Content

    Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.

    206 Partial Content

    Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.

    GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ. 

    Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с  получением данных, а POST‑запрос нужен для отправки данных.

    При работе с подобными ответами следует уделить внимание кэшированию.

    207 Multi‑Status

    Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus. 

    226 IM Used

    Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).

    3* класс кодов (перенаправление на другой адрес)

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

    300 Multiple Choices

    Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.

    301 Moved Permanently

    Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.

    302 Found/Moved 

    Временно перемещено — страница временно перенесена на другой URL,  который указан в поле Location.

    303 See Other

    Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.

    304 Not Modified

    Модификаций не было — с момента последнего визита клиента изменений не было.

    305 Use Proxy

    Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.

    306 Unused

    Зарезервировано. Код в настоящий момент не используется.

    307 Temporary Redirect

    Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.

    Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.

    308 Resume Incomplete

    Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.

    4* класс кодов (ошибки на стороне клиента)

    Эти коды указывают на ошибки со стороны клиентов. 

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    Скриншот страницы с ошибкой 404 с сайта modcloth.com

    400 Bad Request

    Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).

    401 Unauthorized

    Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.

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

    402 Payment Required

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

    403 Forbidden

    Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.

    404 Not Found

    Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).

    405 Method Not Allowed

    Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.

    406 Not Acceptable

    Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).

    407 Proxy Authentication Required

    Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.

    408 Request Timeout

    Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение  и просто обновите страницу.

    409 Conflict

    Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).

    410 Gone

    Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и  недоступен (серверу неизвестно месторасположение).

    411 Length Required

    Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length. 

    Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.

    412 Precondition Failed

    Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.

    413 Request Entity Too Large

    Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.

    414 Request‑URI Too Long

    Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.

    415 Unsupported Media Type

    Формат не поддерживается —  сервер не может принять запрос, так как  данные подгружаются в некорректном формате, и сервер разрывает соединение.

    416 Requested Range Not Satisfiable

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

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

    417 Expectation Failed

    Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».

    418 I’m a teapot

    Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.

    422 Unprocessable Entity

    Объект не обработан — сервер принял запрос, но в нём  есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.

    423 Locked

    Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.

    424 Failed Dependency

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

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

    425 Unordered Collection

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

    426 Upgrade Required

    Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection. 

    Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.

    428 Precondition Required

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

    429 Too Many Requests

    Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.

    431 Request Header Fields Too Large

    Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.

    Исправляется это с помощью сокращения заголовков и повторной отправки запроса.

    434 Requested Host Unavailable

    Адрес запрашиваемой страницы недоступен.

    444 No Response

    Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.

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

    449 Retry With

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

    450 Blocked by Windows Parental Controls

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

    451 Unavailable For Legal Reasons

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

    456 Unrecoverable Error

    Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.

    499 Client Closed Request

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

    5* класс кодов (ошибки на стороне сервера)

    Эти коды указывают на ошибки со стороны серверов. 

    При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

    Изображение страницы с ошибкой сайта REG.RU

    Изображение страницы с ошибкой сайта REG.RU

    500 Internal Server Error

    Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос. 

    Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.

    501 Not Implemented

    Не выполнено —  код отдается, когда сам сервер не может идентифицировать метод запроса. 

    Сами вы эту ошибку не исправите. Устранить её может только сервер.

    502 Bad Gateway

    Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.

    Актуально исключительно для прокси и шлюзовых конфигураций.

    503 Service Unavailable

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

    В поле Retry‑After заголовка сервер укажет время, через которое  можно повторить запрос.

    504 Gateway Timeout

    Тайм‑аут шлюза —  сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.

    Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере. 

    Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого  нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.

    505 HTTP Version Not Supported

    Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.

    506 Variant Also Negotiates

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

    507 Insufficient Storage

    Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.

    508 Loop Detected

    Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.

    509 Bandwidth Limit Exceeded

    Превышена пропускная способность —  используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру. 

    510 Not Extended

    Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.

    511 Network Authentication Required

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

    Информационные 100 Continue «Продолжить». Этот промежуточный ответ указывает, что запрос успешно
    принят и клиент может продолжать присылать запросы либо проигнорировать
    этот ответ, если запрос был завершён. Только HTTP/1.1 101 Switching Protocol «Переключение протокола». Этот код присылается в ответ на запрос
    клиента, содержащий заголовок Upgrade:, и указывает, что
    сервер переключился на протокол, который был указан в заголовке. Эта
    возможность позволяет перейти на несовместимую версию протокола и обычно
    не используется. Только HTTP/1.1 102 Processing «В обработке». Этот код указывает, что сервер получил запрос и
    обрабатывает его, но обработка ещё не завершена. Только HTTP/1.1 103 Early Hints «Ранние подсказки». В ответе сообщаются ресурсы, которые могут быть
    загружены заранее, пока сервер будет подготавливать основной ответ.
    RFC 8297 (Experimental). Только HTTP/1.1 Успешные 200

    OK

    «Успешно». Запрос успешно обработан. Что значит «успешно», зависит от
    метода HTTP, который был запрошен:

    • GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле
      ответа.
    • HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
    • POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на
      запрос, передан в теле ответа.
    • TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного
      сервером.
    HTTP/0.9 и выше 201 Created «Создано». Запрос успешно выполнен и в результате был создан ресурс.
    Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ». HTTP/0.9 и выше 202 Accepted «Принято». Запрос принят, но ещё не обработан. Не поддерживаемо, т.е.,
    нет способа с помощью HTTP отправить асинхронный ответ позже, который
    будет показывать итог обработки запроса. Это предназначено для случаев,
    когда запрос обрабатывается другим процессом или сервером, либо для
    пакетной обработки. HTTP/0.9 и выше 203 Non-Authoritative Information «Информация не авторитетна». Этот код ответа означает, что информация,
    которая возвращена, была предоставлена не от исходного сервера, а из
    какого-нибудь другого источника. Во всех остальных ситуациях более
    предпочтителен код ответа 200 OK. HTTP/0.9 и 1.1 204 No Content «Нет содержимого». Нет содержимого для ответа на запрос, но заголовки
    ответа, которые могут быть полезны, присылаются. Клиент может
    использовать их для обновления кешированных заголовков полученных ранее
    для этого ресурса. HTTP/0.9 и выше 205 Reset Content «Сбросить содержимое». Этот код присылается, когда запрос обработан,
    чтобы сообщить клиенту, что необходимо сбросить отображение документа,
    который прислал этот запрос. Только HTTP/1.1 206 Partial Content «Частичное содержимое». Этот код ответа используется, когда клиент
    присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в
    несколько потоков. Только HTTP/1.1 Сообщения о перенаправлениях 300 Multiple Choice

    «Множественный выбор». Этот код ответа присылается, когда запрос имеет
    более чем один из возможных ответов. И User-agent или пользователь
    должен выбрать один из ответов. Не существует стандартизированного
    способа выбора одного из полученных ответов.

    HTTP/1.0 и выше 301 Moved Permanently

    «Перемещён на постоянной основе». Этот код ответа значит, что URI
    запрашиваемого ресурса был изменён. Возможно, новый URI будет
    предоставлен в ответе.

    HTTP/0.9 и выше 302 Found

    «Найдено». Этот код ответа значит, что запрошенный ресурс
    временно изменён. Новые изменения в URI могут быть доступны в
    будущем. Таким образом, этот URI, должен быть использован клиентом в
    будущих запросах.

    HTTP/0.9 и выше 303 See Other «Просмотр других ресурсов». Этот код ответа присылается, чтобы
    направлять клиента для получения запрашиваемого ресурса в другой URI с
    запросом GET. HTTP/0.9 и 1.1 304 Not Modified «Не модифицировано». Используется для кеширования. Это код ответа
    значит, что запрошенный ресурс не был изменён. Таким образом, клиент
    может продолжать использовать кешированную версию ответа. HTTP/0.9 и выше 305 Use Proxy «Использовать прокси». Это означает, что запрошенный ресурс должен быть
    доступен через прокси. Этот код ответа в основном не поддерживается из
    соображений безопасности. Только HTTP/1.1 306 Switch Proxy Больше не использовать. Изначально подразумевалось, что » последующие
    запросы должны использовать указанный прокси.» Только HTTP/1.1 307 Temporary Redirect «Временное перенаправление». Сервер отправил этот ответ, чтобы клиент
    получил запрошенный ресурс на другой URL-адрес с тем же методом, который
    использовал предыдущий запрос. Данный код имеет ту же семантику, что код
    ответа 302 Found, за исключением того, что агент
    пользователя не должен изменять используемый метод HTTP: если в первом
    запросе использовался POST, то во втором запросе также
    должен использоваться POST. Только HTTP/1.1 308 Permanent Redirect

    «Перенаправление на постоянной основе». Это означает, что ресурс
    теперь постоянно находится в другом URI, указанном в заголовке
    Location: HTTP Response. Данный код ответа имеет ту же
    семантику, что и код ответа 301 Moved Permanently, за
    исключением того, что агент пользователя не должен изменять
    используемый метод HTTP: если POST использовался в первом
    запросе, POST должен использоваться и во втором запросе.

    Примечание: Это экспериментальный код ответа,
    Спецификация которого в настоящее время находится в черновом виде.

    draft-reschke-http-status-308 Клиентские 400 Bad Request «Плохой запрос». Этот ответ означает, что сервер не понимает запрос
    из-за неверного синтаксиса. HTTP/0.9 и выше 401 Unauthorized «Неавторизованно». Для получения запрашиваемого ответа нужна
    аутентификация. Статус похож на статус 403, но,в этом случае,
    аутентификация возможна. HTTP/0.9 и выше 402 Payment Required «Необходима оплата». Этот код ответа зарезервирован для будущего
    использования. Первоначальная цель для создания этого кода была в
    использовании его для цифровых платёжных систем(на данный момент не
    используется). HTTP/0.9 и 1.1 403 Forbidden «Запрещено». У клиента нет прав доступа к содержимому, поэтому сервер
    отказывается дать надлежащий ответ. HTTP/0.9 и выше 404 Not Found «Не найден». Сервер не может найти запрашиваемый ресурс. Код этого
    ответа, наверно, самый известный из-за частоты его появления в вебе. HTTP/0.9 и выше 405 Method Not Allowed «Метод не разрешён». Сервер знает о запрашиваемом методе, но он был
    деактивирован и не может быть использован. Два обязательных метода,
    GET и HEAD, никогда не должны быть
    деактивированы и не должны возвращать этот код ошибки. Только HTTP/1.1 406 Not Acceptable

    Этот ответ отсылается, когда веб сервер после выполнения
    server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.

    Только HTTP/1.1 407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для
    прокси сервера. Только HTTP/1.1 408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он
    означает, что сервер хотел бы отключить это неиспользуемое соединение.
    Этот метод используется все чаще с тех пор, как некоторые браузеры,
    вроде Chrome и IE9, стали использовать
    HTTP механизмы предварительного соединения
    для ускорения сёрфинга (смотрите баг 634278, будущей
    реализации этого механизма в Firefox). Также учитывайте, что некоторые
    серверы прерывают соединения не отправляя подобных сообщений. Только HTTP/1.1 409 Conflict

    Этот ответ отсылается, когда запрос конфликтует с текущим состоянием
    сервера.

    Только HTTP/1.1 410 Gone

    Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.

    Только HTTP/1.1 411 Length Required

    Запрос отклонён, потому что сервер требует указание заголовка
    Content-Length, но он не указан.

    Только HTTP/1.1 412 Precondition Failed Клиент указал в своих заголовках условия, которые сервер не может
    выполнить Только HTTP/1.1 413 Request Entity Too Large

    Размер запроса превышает лимит, объявленный сервером. Сервер может
    закрыть соединение, вернув заголовок Retry-After

    Только HTTP/1.1 414 Request-URI Too Long URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог
    его обработать Только HTTP/1.1 415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому
    запрос отклонён Только HTTP/1.1 416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть
    выполнен; возможно, он выходит за пределы переданного URI Только HTTP/1.1 417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса
    Expect, не может быть выполнено сервером. Только HTTP/1.1 Серверные 500 Internal Server Error «Внутренняя ошибка сервера». Сервер столкнулся с ситуацией, которую он
    не знает как обработать. HTTP/0.9 и выше 501 Not Implemented «Не реализовано». Метод запроса не поддерживается сервером и не может быть
    обработан. Единственные методы, которые сервера должны поддерживать (и,
    соответственно, не должны возвращать этот код) — GET и
    HEAD. HTTP/0.9 и выше 502 Bad Gateway «Плохой шлюз». Эта ошибка означает что сервер, во время работы в
    качестве шлюза для получения ответа, нужного для обработки запроса,
    получил недействительный (недопустимый) ответ. HTTP/0.9 и выше 503 Service Unavailable «Сервис недоступен». Сервер не готов обрабатывать запрос. Зачастую
    причинами являются отключение сервера или то, что он перегружен.
    Обратите внимание, что вместе с этим ответом удобная для
    пользователей(user-friendly) страница должна отправлять объяснение
    проблемы. Этот ответ должен использоваться для временных условий и
    Retry-After: HTTP-заголовок должен, если возможно,
    содержать предполагаемое время до восстановления сервиса. Веб-мастер
    также должен позаботиться о заголовках, связанных с кешем, которые
    отправляются вместе с этим ответом, так как эти ответы, связанные с
    временными условиями, обычно не должны кешироваться. HTTP/0.9 и выше 504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и
    не может получить ответ вовремя. Только HTTP/1.1 505 HTTP Version Not Supported «HTTP-версия не поддерживается». HTTP-версия, используемая в запросе, не
    поддерживается сервером. Только HTTP/1.1

    Как проверить код ответа сервера и понять его значение. Подробный перечень частых ошибок HTTP с пояснениями.

    В статье:

    1. Как проверить код ответа сервера

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

    3. Информационные коды

    4. Коды успешной обработки запроса

    5. Коды редиректов

    6. Коды ошибок клиента

    7. Коды ошибок сервера

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

    На код ответа сервера обращают внимание поисковые боты и браузеры.

    Как проверить код ответа сервера

    Посмотреть код ответа на странице можно бесплатно за пару кликов. В браузере информация находится на панели разработчика: в Google Chrome для вызовите панель горячей клавишей F12, откройте вкладку Network и обновите страницу.

    Как посмотреть код сайта в браузере

    Результаты просмотра кода в браузере

    Для просмотра кода есть браузерные расширения:
    HTTP Headers для Google Chrome, HTTP Header для Opera.

    Инструмент в Яндекс.Вебмастере покажет код статуса HTTP.

    проверка кода ответа сервера

    Результаты проверки инструментом

    Инструмент
    проверки заголовков сервера от PR-CY определит HTTP статусы сайта и доменного имени.

    как проверить код ответа сервера

    Результаты проверки инструментом

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

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

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

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

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

    Информационные коды

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

    100 Continue

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

    101 Switching Protocols

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

    102 Processing

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

    Коды успешной обработки запроса

    Коды группы сигнализируют о том, что запрос принят и успешно обработан.

    200 ОК

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

    201 Created

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

    202 Accepted

    Сервер принял запрос, но не завершил его обработку. Запрос можно отклонить, поскольку на его выполнение может потребоваться слишком много времени.

    203 Non-Authoritative Information

    Код ответа 203 означает, что операция прошла успешно, но от кода 200 он отличается указанием источника информации. Данные получены не из первоисточника, а с другого сервера или резервной копии. Возможно, информация устарела, о чем и предупреждает код ответа.

    204 No Content

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

    205 Reset Content

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

    206 Partial Reset

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

    207 Multi-Status

    Код обозначает мультистатусность ответа: сервер обработал несколько операций,не зависящих друг от друга. Результаты отображаются в теле сообщения как XML-документ с объектом multistatus.

    226 IM Used

    Сервер успешно завершил операцию: принял заголовок A-IM и вернул содержимое с учетом указанных параметров.

    Коды редиректов

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

    300 Multiple Choices

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

    301 Moved Permanently

    Если у проиндексированной страницы изменился адрес, то со старого URL на новый настраивают 301 редирект. Код ответа показывает, что запрашиваемый документ был навсегда перенесен на другой URL, куда пользователя перенаправляет ссылка. Робот проиндексирует страницу, на которую ведет редирект, и склеит исходный адрес и новый.

    302 Found

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

    Страница остается в индексе, ссылочный вес продолжает передаваться.

    303 See Other

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

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

    304 Not Modified

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

    305 Use Proxy

    Код ответа связан с безопасностью данных. Сервер выдает код 305, если доступ к ресурсу, который запрашивает клиент, возможен только с прокси. Прокси указан там же в ответе сервера.

    307 Temporary Redirect

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

    Коды ошибок клиента

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

    400 Bad Request

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

    401 Unauthorized

    Информация доступна только зарегистрированным пользователям или запаролена. Если пользователь не авторизовался, доступ к странице невозможен.

    403 Forbidden

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

    Если пользователю www-data, под которым запущен сервер, закрыт доступ к чтению файла, поможет команда sudo chmod o=r /usr/share/nginx/html/index.html

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

    404 Not Found

    Серверу не удалось найти ресурс, который запрашивает пользователь, документа по этому адресу не существует.

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

    проверить код ответа сервера

    Код ответа 404 Not Found

    Ссылки на удаленные разделы сайта будут возвращать код 404. На такие документы не нужно тратить краулинговый бюджет, поэтому в файле robots.txt запрещают роботу посещение и индексацию таких страниц.

    405 Method Not Allowed

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

    406 Not Acceptable

    Код ответа означает, что запрашиваемый файл существует, запрос сформулирован верно, но кодировка документа недоступна для расшифровки роботом.

    407 Proxy Authentication Required

    Этот код похож на 401 и 407, он используется, если вопрос корректен, но клиент может получить доступ к документу только с помощью авторизации через прокси. Клиент авторизуется, если прокси вернет поле с заголовком proxy-authenticate.

    408 Request Timeout

    Сервер возвращает этот код ответа, если в установленное время ожидания клиент не сделал ни один запрос. Код 408 не возвращается, если пользователь сам отменил запрос, или соединение оборвалось, а отправить ответ нет возможности.

    409 Conflict

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

    410 Gone

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

    411 Length Required

    Сервер не может принять и обработать запрос, если в заголовке content-length не указана длина контента.

    413 Request Entity Too Large

    Если в теле запроса слишком большой объем информации и сервер не может обработать такой большой запрос, то он возвращает код ошибки 413. Если это временная проблема, в поле Retry-After сервер укажет время, которое нужно подождать.

    414 Request-URL Too Long

    Аналогично с кодом 413, за исключением того, что 414 код отображается, если в запросе указан слишком длинный URL.

    422 Unprocessable Entity

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

    424 Failed Dependency

    Если выполнение этой операции зависит от исхода других связанных с ней операций, сервер вернет этот запрос.

    429 Too Many Requests

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

    431 Request Header Fields Too Large

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

    451 Unavailable For Legal Reasons

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

    418 I’m a teapot

    Это забавный код, возвращающий ошибку «Я чайник», связан с гипертекстовым протоколом управления кофеваркой — Hyper Text Coffee Pot Control Protocol. Ошибка означает, что запрос некорректен, с помощью чайника нельзя приготовить кофе. Протокол и код этой ошибки были созданы в шутку в 1998 году к 1 апреля.

    Код 418 I’m a teapot

    Коды ошибок сервера

    Коды этой группы обозначают ошибки на стороне сервера.

    500 Internal Server Error

    Код обозначает, что сервер не может обработать запрос по причине внутренних ошибок. Обычно проблема в настройке сервера, обращении к некорректному файлу .htaccess или пакету PHP, который не установлен.

    501 Not Implemented

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

    502 Bad Gateway

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

    503 Service Unavailable

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

    504 Gateway Timeout

    Код похож на 502, но ошибка 504 означает, что истек срок ожидания ответа от сервера. Необходимое количество времени истекло, а ответ от бэкенд-сервера не пришел.

    Причина может быть в сетевом соединении, недостатке ресурсов, версии протокола HTTP или настройке сервера, если выставлен слишком короткий таймаут.

    506 Variant Also Negotiates

    Код ответа 506 означает, что сервер настроен некорректно: ошибка в конфигурации зацикливает обращение сервера, и он указывает сам на себя.

    507 Insufficient Storage

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

    510 Not Extended

    Код 510 возвращается в случае, если сервер не поддерживает расширение, которое указано в запросе. В этом же ответе сервер может указать, какие расширения доступны.

    511 Network Authentication Required

    Эта ошибка возвращается клиенту, если пользователь не авторизовался в сети. К примеру, если он не согласился на условия использования интернета, когда подключался к wi-fi, или не ввел пароль.


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

    28.03.2020

    При каждом обращении к странице сайта браузеру сервером через HTTP протокол отдается трехзначный код ответа (HTTP status code). Это код ответа сервера как раз позволяет понять браузеру или поисковой системе типа Yandex или Google текущее состояние страницы сайта к которой они обращаются. Код ответа сервера так же является очень важным параметром влияющим на поисковую оптимизацию сайта.

    Что такое код ответ сервера?

    Код ответ сервера (коды состояния HTTP) представляется трехзначным целым числом в диапазоне от 100 до 526 (диапазон значений код ответа сервера все время расширяется) при помощи этого кода сервер сообщает браузеру о состоянии ресурса (страницы, файла или API). После успешного получения кода ответа браузер начинает свое взаимодействие с сайтом основываясь на значении  кода ответа сервера.

    Наиболее известные коды ответа сервера (коды состояния HTTP) – 404, 200, 500 и 301. Остальные значения тоже важны, но не так хорошо известны  даже системным администраторам, отвечающим за работу серверов.

    Какие коды сервера существуют?

    По назначению коды ответа сервера делятся на пять категорий и распределяются сотнями 100-500.

    Существуют 5 типов кодов:

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

    Свидетельствующие об успешном завершении запроса (2хх) – коды означают, что те данные, которые браузер запрашивал у сервера, были успешно ему переправлены. 

    Коды переадресации (3хх) – коды сообщают пользователю, что для успешного выполнения, поданного пользователем запроса, необходимо сделать еще один запрос к другому URI. 

    Ошибка со стороны клиента (4хх) – коды означают, что в результате неверно сформированного запроса он не может быть обработан сервером. 

    Ошибка со стороны сервера (5хх) – коды дают понять, что сбой в обработке корректно сформированного запроса произошел из-за ошибки на сервере.

    Распространенные коды ответа сервера

    200 ОК — Страница с кодом 200 ОК говорит об успешной обработке запроса. Это значит, что сервер работает нормально, а поисковый робот получил возможность ее проиндексировать.

    301 Moved Permanently — Код переадресации означает, что URL страницы изменен. Страница по запросу недоступна по прошлому адресу и у нее теперь  есть новый URL.

    302 Found — Код означает, что страница временно недоступна по данному адресу, но у нее есть новый временный URL.

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

    403 Forbidden — Данный код ошибки (ответ сервера) говорит о запрете на просмотр страницы. Его можно увидеть, если пользователь получил отказ в доступе, например, при ограничении по IP-адресу или попытке просмотра системных файлов сайта.

    404 Not Found — Ответ сервера (код ошибки) показывающий, что заданная страница (ресурс) больше не существует.

    500 Internet Server Error — Этот код ошибки (ответ сервера) сообщает, что произошла ошибка на стороне сервера.

    502 Bad Gateway — Номер ошибки сервера, говорящий что прокси сервер не может получить ответ от сайта.

    503 Service Unavailable — Ответ сервера (код ошибки) означает, что запроса сервис оказался перегружен и в данный момент не доступен.

    504 Gateway Timeout — Этот номер ошибки появляется в результате слишком долгого ответа, когда прокси-сервер не получил результат запроса от вышестоящего сервиса.

    Итоги

    Существуют множество типов кодов ответа сервера. Они указывают на все возможные состояния сервера.

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

    Еще по теме HTTP протокол

    Полный список кодов ответа сервера.

    Что такое HTTP протокол?

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

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

    В этой статье представлены наиболее распространенные коды статуса и коды ошибок.

    • Откуда они берутся?
    • Классы кодов статуса HTTP
    • Список кодов статуса HTTP
      • Код статуса 200 (код страницы 200)
      • Коды статуса 300
      • Коды статуса 400
      • 429 слишком много запросов (http error 429)
      • Коды статуса 500
      • Ошибка при установлении соединения с базой данных
    • Более подробная информация о кодах статуса HTTP

    Каждый раз, когда вы кликаете по ссылке или вводите URL-адрес и нажимаете «Enter», браузер отправляет запрос на сервер. Он получает и обрабатывает запрос, а затем отправляет обратно запрашиваемые ресурсы вместе с HTTP-заголовком.

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

    Откуда они берутся?

    Код статуса HTTP Google 404

    Чтобы увидеть коды статуса, которые браузер обычно не отображает, потребуются специальные инструменты. Для популярных браузеров, таких как Chrome и Firefox, доступны соответствующие расширения. Также существует много сервисов для отображения заголовков, например Web Sniffer.

    Чтобы увидеть код статуса HTTP с помощью одного из этих инструментов, найдите строку, расположенную в верхней части отчета, в которой указано: “Status: HTTP/1.1”. После нее указан код статуса, возвращаемый сервером.

    Коды статуса HTTP разделены на 5 классов:

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

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

    200: «Все в порядке». Это код, который возвращается, когда веб-страница или ресурс действуют точно так, как ожидается.

    301: «Запрошенный ресурс был перемещен навсегда». Этот код возвращается, когда веб-страница или ресурс заменяется другим ресурсом. Он используется для постоянного редиректа URL-адресов.

    302: это http-ошибка «Запрошенный ресурс перемещен, но был найден». Этот код используется для указания того, что запрошенный ресурс был найден, но не в том месте, где это ожидалось. Он используется для временного редиректа URL-адресов.

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

    401: «Не авторизован». Возвращается сервером, когда для доступа к целевому ресурсу отсутствуют валидные учетные данные.

    http-ошибка 403: «Доступ к этому ресурсу запрещен». Возвращается, когда пользователь пытается открыть ресурс, для которого у него нет прав доступа. Например, попытка просмотра неавторизованным пользователем контента, защищенного паролем, может привести к ошибке 403.

    404: «Запрошенный ресурс не найден». Наиболее распространенное сообщение об ошибке. Означает, что запрошенный ресурс не существует и сервер не знает, существовал ли он когда-либо.

    405: «Метод не разрешен». Генерируется, когда хостинг-сервер (исходный сервер) поддерживает полученный метод, но целевой ресурс отсутствует.

    406: «Неприемлемый ответ». Запрошенный ресурс способен генерировать только контент, неприемлемый в соответствии с заголовками Accept, отправленными в запросе.

    408: «Время ожидания сервером поступления остальной части запроса из браузера истекло». Генерируется, когда сервер прерывает обработку после истечения времени ожидания полного запроса от браузера. Другими словами, сервер не получил полный запрос, отправленный браузером. Одной из возможных причин может быть перегрузка сети, приводящая к потере пакетов между браузером и сервером.

    410: «Запрошенный ресурс отсутствует и не будет возвращен». Подобен коду 404 «Не найден», за исключением того, что код статуса 410, указывает, что данный статус ожидается на постоянной основе.

    429: это http-ошибка «Слишком много запросов». Генерируется сервером, когда пользователь отправил слишком много запросов в заданный промежуток времени (ограничение по скорости). Иногда причиной ошибки могут быть боты, пытающиеся получить доступ к сайту. В этом случае может потребоваться изменение URL-адреса входа в панель администрирования WordPress.

    Коды статуса 400

    499: «Клиент закрыл запрос». Возвращается NGINX, когда клиент закрывает запрос, пока NGINX все еще обрабатывает его.

    500: «На сервере возникла ошибка, и запрос не мог быть завершен». Общий http-код, который также называют «внутренняя ошибка сервера». На сервере что-то пошло не так и запрошенный ресурс не был доставлен. Этот код генерируется сторонними плагинами, при сбоях PHP-кода или подключения к базе данных.

    Коды статуса 500

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

    502: это http-ошибка «Некорректный шлюз». Означает, что один сервер получил неверный ответ от другого. Иногда запрос занимает слишком много времени, и поэтому отменяется или удаляется сервером, а соединение с базой данных прерывается.

    503: это http-ошибка «В данный момент сервер не может обработать запрос». Запрос не может быть обработан прямо сейчас. Этот код возвращается перегруженным сервером, который не может обрабатывать новые запросы.

    504: «Сервер, действующий как шлюз, не смог дождаться ответа от другого сервера». Возвращается, когда в обработке запроса было задействовано два сервера, и на первом сервере истекло время ожидания ответа от второго.

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

    • Полный список кодов статуса HTTP — Википедия;
    • Определения кодов статусаInternet Engineering Task Force (IETF);
    • RFC 7231.

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

    Что такое код сервера

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

    Страница с кодом ответа сервера Discord при переходе на несуществующую страницуСтраница с кодом ответа сервера Discord при переходе на несуществующую страницу

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

    Читайте также: 11 способов проверки битых ссылок на сайте

    Какие бывают коды ответов

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

    Класс 1. Выглядит так: 1ХХ. Это временные информационные коды. Они сообщают о том, что запрос принят и находится в обработке.

    Класс 2. Выглядит так: 2ХХ. Сообщает об успешной обработке запроса.

    Класс 3. Выглядит так: 3ХХ. Сообщает о перенаправлении с одного адреса на другой. Эти коды говорят об изменении URL. Используются при создании зеркал или переносе сайта на новый движок.

    Класс 4. Выглядит так: 4ХХ. Говорит об ошибке со стороны посетителя. Обычно после числа идет небольшой текст с объяснением — в чем проблема. Такие коды говорят о запрете просмотра страницы или об ее отсутствии.

    Класс 5. Выглядит так: 5ХХ. Сообщает об ошибке со стороны сервера. После этого класса тоже следует текстовое сообщение с объяснением причины поломки. 

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

    Класс 1

    100 Continue. Промежуточный ответ сервера. Говорит о том, что сервер принял запрос и начинает обработку.

    101 Switching Protocols. Код ответа указывает протокол, который переключает сервер, используя запрос Upgrade. В ответ сервер отправляет заголовок ответа Upgrade с указанием протокола, на который переключился.

    102 Processing. Это значит, что сервер получил запрос и обрабатывает его. Клиент не должен разрывать соединение, чтобы дождаться ответа от сервера. Этот код используется в протоколе WebDAV (измененный HTTP для работы с файлами).

    Класс 2

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

    202 Accepted. Запрос принят и будет обрабатываться долго. Пользователь может не дожидаться окончания запроса. Используется, когда запрос обрабатывается другим сервером. Такой код используется сервером, чтобы выполнять несколько запросов одновременно: пока пользователь с кодом 202 ждет окончания операции, 200 уже «видит» страницу.

    203 Non-Authoritative Information. Код означает, что обработка запроса прошла успешно. Но информация поступила не от сервера, а от другого источника: облака, резервной копии.

    204 No Content. Такой код используется на портал для запуска скриптов. Например, когда пользователь кликает по свободному месту на сайте.

    205 Reset Content. Говорит о том, что браузеру нужно очистить форму, в которую вписаны данные. Такой код используется, чтобы очистить поля, заполненные при регистрации. При это обновлять ресурс не нужно.

    Класс 3

    300 Multiple Choices. Говорит о том, что указанный URL обозначает больше, чем один ресурс. Например, страницу, переведенную на несколько языков. 

    301 Moved Permanently. Ответ означает, что запрошенный URL изменен или больше не существует, а пользователю предлагается перейти по новой ссылке. 

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

    302 Found. Запрошенный URL перенесен на новый адрес. Такой код используется, когда адрес страницы изменился, но контент индексируется по старой ссылке. Например, 302 используют, чтобы было несколько версий главной страницы на разных языках. Также код говорит о том, что в будущем сайт будет доступен по старому адресу.

    303 See Other. Указывает, что происходит перенаправление на другую страницу. Чтобы новая страница индексировалась, она должна отвечать на код 200. Такой код используется для страниц с подтверждением. Например, когда сайт высылает код подтверждения регистрации. 

    304 Not Modified. Это значит, что предыдущая версия страницы не изменена. Благодаря этому робот индексирует ее без загрузки. Из-за этого сервер меньше нагружается и повышается время безотказной работы. А пользователь работает с версией страницы, которая сохранена в памяти браузера. 

    У пользователей часто возникает ошибка HTTP 304. Такое бывает, если компьютер заражен вирусами или Windows медленно работает. Чтобы решить проблему, нужно проверить ПК на вирусы и очистить от лишних файлов. Еще можно восстановить записи в реестре системы. Но такую процедуру лучше доверить мастерам сервисного центра: если делать самостоятельно, можно превратить ПК в «кирпич».

    305 Use Proxy. Сайт будет доступен только при использовании прокси-сервера. При этом нужно использовать сервер, который указан в разделе Location. Такой код предназначен для защиты сайта. 

    308 Permanent Redirect. Полностью повторяет запрос 301. Разница в методе выполняемого запроса.

    Класс 4

    400 Bad Request. Сервер не может понять запрос, потому что он введен с ошибкой. Под ошибкой обычно понимается синтаксическая: некорректно введен URL. Также код 400 появляется, когда пользователь пытается загрузить на сайт слишком большой файл. Решить проблему помогает смена запроса или очистка cookies. Чтобы очистить куки в браузере, нужно перейти в настройки, в раздел конфиденциальности и безопасности.

    401 Unauthorized. У клиента не получается зайти на страницу сайта, потому что у него не хватает прав доступа. Такая ошибка возникает на сайтах, где есть форма для авторизации. Решить ошибку можно двумя способами: войти в систему с использованием логина и пароля или очистить кэш браузера.

    403 Forbidden. Этот код говорит о запрете на просмотр страницы. Такое бывает, если для IP-адреса внесен запрет на уровне сервера. Решить проблему можно с помощью VPN или прокси.

    Что такое прокси? Как выбрать качественный прокси-сервер? Прокси для SEO, парсинга, арбитража и пр.

    404 Not Found. Код означает, что запрашиваемая страница (сайт или документ) не существует или расположена по другому адресу. 

    Ошибка 404 влияет на SEO-оптимизацию: если страница не существует / не доступна, поисковые роботы не будут ее индексировать и показывать в поиске. А еще переходы по битым ссылкам ухудшают поведенческие факторы. Но нивелировать негатив поможет грамотное оформление 404-страницы. Можно сделать ее с юмором, перенаправить трафик на другие ресурсы.

    405 Method Not Allowed. Соответствующий код появляется, если на этапе обработки запроса сервер получает запрет. Такое случается, если нарушается работа php-скриптов. Ошибку можно решить с помощью перезагрузки страницы. Также помогает проверить все скрипты и удалить дополнения в CMS. 

    408 Request Timeout. Это значит, что сервер прервал соединение. Такое бывает, когда сервер не получает запросов от посетителей долгое время. Если пользователь сам прекращает соединение, ошибки не возникает.

    409 Conflict.Означает конфликт между пользовательским запросом и сервером. Например, клиент хочет скачать с сайта файл «фото01». Но раньше файл назывался «фото1» и это название сохранилось в кеше. Из-за этого сервер не понимает, что хочет скачать пользователь — возникает конфликт.

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

    413 Request Entity Too Large. Ошибка возникает, если пользователь пытается загрузить слишком большой файл на сайт. Стандартно допустимый размер загружаемого файла — 1 Мб. Если клиент пытается загрузить больше — возникает ошибка. Чтобы решить проблему, нужно увеличить размер максимально загружаемого файла. Для этого нужно вносить изменения в настройки Nginx, php и apache. (Есть видео, как это делать в CMS WordPress.)

    414 Request-URL Too Long. Если пользователь пытается сделать запрос с длинным URL, возникает такая ошибка.

    423 Locked. Такая ошибка возникает, если IP-адрес блокируется хостером. Блокировку можно получить за сильную активность, интернет-мошенничество или вирусы. 

    451 Unavailable For Legal Reasons. Новая ошибка, которая набирает популярность. Она появляется на сайтах, которые заблокированы государством. Ошибка 451 — дополнение к 403.

    Класс 5

    500 Internal Server Error. Ошибка из-за сбоев на сервере. Возникает при неправильной конфигурации файла .htaccess. Чтобы решить проблему, нужно изменить директиву Options: поставить в начале строки #.

    502 Bad Gateway. Возникает, если есть промежуточный сервер. Случается, когда промежуточный сервер получает запрос и запрашивает данные у «главного» сервера, и получает неправильный ответ. В решении ошибки помогает очистка кеша браузера, обновление страницы и очистка DNS-кеша.

    503 Service Unavailable. У сервера не получается обрабатывать запросы по техническим причинам. Например, если на сервере ведутся какие-то работы.

    504 Gateway Timeout. Шлюз не дает ответа. Появляется, если ответ от главного сервера не получен.

    507 Insufficient Storage. Ошибка высвечивается, если у сервера нет места работы с операцией. Проблему можно решить перезагрузкой. Или просто подождать.

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

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

    Как проверить код сервера

    Начнем с ручного способа. Для этого перейдите на сайт через браузер Chrome и откройте консоль клавишей «F12». (Или «Fn + F12» на ноутбуках. Также инструменты разработчика можно включить сочетанием клавиш «Ctrl + Shift + I».) Теперь перейдите во вкладку «Network» и нажмите «Ctrl + R».

    Ручная проверка кодов ответа страниц в консолиРучная проверка кодов ответа страниц в консоли

    Чтобы узнать код страницы, нужно смотреть столбец «Status».

    Коды ответа сервера в столбце StatusКоды ответа сервера в столбце Status

    Теперь о проверках с помощью сторонних сайтов и плагинов.

    Bertal

    Bertal — сервис для просмотра http-заголовков, веб-файлов (.html, .php, .asp, .gif, .jpg, .css и др.). Также позволяет просматривать html-код страниц. Работает с протоколами HTTP, HTTPS, FTP.

    Возможности:

    • Запрос информации методами HEAD, GET, POST. Метод HEAD — если запрашивается заголовок. GET — если запрашивается заголовок и тело. POST — как и GET, но с заполненной строкой POST.
    • Поддерживаемые поисковые роботы: YandexBot, GoogleBot, BingBot, Yahoo, Baiduspider.
    • Поддерживаемые браузеры: Mozilla Firefox, Google Chrome, Internet Explorer, Opera, Opera mini.
    • Работает с Proxy.
    • Можно указывать содержимое Cookies.

    Отчет по странице от BertalОтчет по странице от Bertal

    Стоимость. Бесплатно.

    PR-CY

    PR-CY — cервис для SEO-аудита сайта, мониторинга и проверки позиций в поисковой выдачи. Подходит для анализа кодов ответа сервера, метатегов, содержимого страниц. Есть функции мониторинга сайта, проверки индексирования.

    Возможности:

    • Проверка кодов ответа страниц. Сервис проверяет все элементы: текст, скрипты, видео, фотографии. После PR-CY дает рекомендации: сжать текст, сократить HTML, CSS или JS.
    • Работает с видами запросов: GET, POST, HEAD.
    • Глубокий анализ: проверка редиректов, поиск всех кодов.
    • Работает с поисковыми системами Google и Yandex.
    • Проверка контента: пустые заголовки, лишние скрипты, нерабочие внешние ссылки.

    Еще у PR-CY есть много чего: проверка скорости загрузки, вирусов, срока действия SSL-сертификата и др.

    Результаты анализа сайта в PR-CYРезультаты анализа сайта в PR-CY

    Стоимость. Есть бесплатный тариф для экспресс-анализа сайта. Для полного аудита нужно покупать подписку. Она стартует от 990 ₽ в месяц. Позволяет вести до 5 проектов и проверять 1 000 страниц. Дорогие тарифы отличаются тем, что можно вести больше проектов и проверять больше страниц.

    Читайте также: Как оптимизировать изображения для сайта

    Checkmy

    Checkmy — помогает проверить коды и заголовки ответа сервера. А еще доступность URL адресов, кеширование страниц, сжатие контента, исходный код, тип сервера и корректность переадресаций.

    Возможности:

    • Работает с доменам на кириллице.
    • Работает через мобильную версию.
    • Проверяет страницы с несколькими редиректами.
    • Показывает размер и скорость загрузки страницы.
    • Проверяет контент на сжатие.

    Проверка кодов ответа сервера через ChekmyПроверка кодов ответа сервера через Chekmy

    Стоимость. Бесплатно.

    Sitechecker

    Sitechecker подходит для мониторинга сайта и полного аудита.  

    Возможности:

    • Проверка состояния страницы и кодов ответа.
    • Подсчет «веса» HTML-кода страницы. Если он больше 2 Мб, сервис подскажет, как его уменьшить.
    • Отдельная проверка страницы с кодом 404.
    • Проверка индексации поисковыми системами.
    • SEO-анализ страницы: проверка title, description, заголовков h1-h6. Проверка изображений и атрибутов Alt, внутренних и внешних ссылок.
    • SEO-аудит сайта: оценка битых ссылок и редиректов, метатегов, скорости загрузки.
    • Мониторинг ресурса: контроль статуса индексирования, защита от взломов и отслеживание сайтов конкурентов.

    Аудит сайта не сервисе SitechekerАудит сайта не сервисе Sitecheker

    Стоимость. Можно сделать проверку кодов бесплатно. Но функции мониторинга, проверки обратных ссылок и индексации будут недоступны. Платная подписка стартует от 29 $ в месяц. Для подписки доступно 3 тарифа. Они отличаются количеством сайтов, которые можно проверять.

    А еще за парсингом метатегов и заголовков, анализом индексации страниц, съемом позиций в поисковиках, сбором семантического ядра можно обратиться в Promopult. Это мощная платформа для комплексного продвижения в интернете: поисковой оптимизации, контекстной и таргетированной рекламы, управления репутацией.

    Яндекс.Вебмастер

    Яндекс.Вебмастер поможет узнать, доступны ли страницы для поисковых роботов Яндекса. (Но ответ, полученный через Яндекс.Вебмастер, может отличаться от того, который получит поисковый робот. Дело в том, что инструмент работает через другой IP-адрес. Об этом сказано в Яндекс.Справке.)

    Возможности:

    • Проверка всех классов ответа сервера.
    • Дополнительно можно узнать срок действия SSL-сертификата.
    • Проверяет страницы размером до 10 Мб.
    • Работает с файлами этих типов: PDF, DOC/DOCX, XLS/XLSX, PPT/PPTX, ODS, ODP, ODT, ODG, RTF, TXT и SWF.

    Проверка ответа сервера через Яндекс.ВебмастерПроверка ответа сервера через Яндекс.Вебмастер

    Стоимость. Бесплатно.

    Converseo

    Converseo подходит для как для проверки одиночного URL, так и для массового отслеживания.

    Возможности:

    • Работа с методами GET, POST, HEAD.
    • Есть дополнительные функции: сравнение списков, загрузка фото из Instagram.
    • Готовый отчет можно скачать в формате CSV.

    Вот так выглядит отчет по массовой проверке URL на сайте Converseo.Вот так выглядит отчет по массовой проверке URL на сайте Converseo.

    Вот так выглядит отчет по одиночной проверке URL на сайте Converseo.Вот так выглядит отчет по одиночной проверке URL на сайте Converseo.

    Стоимость. Бесплатно.

    Coolakov

    Coolakov — работает также, как и Converseo. Есть и дополнительные функции.

    Возможности:

    • Массовая проверка URL. Особенность в том, что выдается конечный ответ сервера. Например, если был редирект на рабочую страницу — ответ будет 200. Если на сломанную — в зависимости от ошибки.
    • Поддерживаемые браузеры: Mozilla Firefox, Google Chrome, Safari.
    • Проверка доступности сайта.
    • Измерение скорости загрузки портала.
    • Проверка индекса качества сайта.
    • Проверка орфографии.

    Проверка ответов сервера через CoolakovПроверка ответов сервера через Coolakov

    Стоимость. Бесплатно.

    Headmasterseo

    Headmasterseo. Программа для Windows и Mac, которая проверяет массовые URL. Отслеживает коды состояния, редиректы, время ответа и заголовки ответов.

    Возможности:

    • Проверка URL с помощью метода HEAD.
    • Одновременная проверка 500 ссылок.
    • Проверка циклов перенаправления. Есть тестер, который оценит, правильно ли настроен редирект.
    • Работает с прокси.
    • Готовый отчет можно экспортировать в формате CSV.
    • Проверка полей заголовков.
    • Проверка Sitemap файлов в формате XML.

    Пример отчета в HeadmasterseoПример отчета в Headmasterseo

    Стоимость. До 500 URL можно проверять бесплатно. Чтобы проверить больше, нужно платить. За 10 000 URL придется заплатить 50 $. За 100 000 — 100 $. Неограниченное количество ссылок можно проверять за 150 $.

    Читайте также: Исчерпывающий гид по поисковым операторам Google и Яндекса

    Плагины

    Redirect Path Link. Это бесплатный плагин для Google Chrome. Он поможет провести SEO-аудит сайта и проверить HTTP-заголовки. Работает только с 3 классом кодов сервера. 

    Robots Exclusion Checker. Помогает оптимизировать сайт, найти проблемы в индексации и сделать SEO-аудит. Плагин бесплатный. Работает со всеми классами кодов и поисковыми роботами Googlebot, Bing, Yahoo.

    SEO META in 1 CLICK. Бесплатный плагин для Google Chrome. Помогает проверить коды ответа сервера, проанализировать заголовки H1-H6, проверить изображения и Alt атрибуты к ним и др. 

    Website SEO Checker: Free Audit & Analysis. Бесплатный плагин от Sitecheker. В нем есть такие же функции, как и на сайте: аудит, мониторинг, анализ, просмотр кодов ответа и т.д.

    Коротко о главном

    Код ответа сервера — это трехзначное число с небольшим текстовым сопровождением. Коды делят на 5 классов:

    1. 1ХХ — информационные.
    2. 2ХХ — успешные.
    3. 3ХХ — переадресация
    4. 4ХХ — проблемы со стороны пользователя.
    5. 5ХХ — проблемы со стороны сервера.

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

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

    А чтобы глубже разобраться в SEO, приходите учиться в CyberMarketing. У нас есть статьи, вебинары, базовые и продвинутые курсы по поисковому продвижению. Преподают эксперты Promopult: Руслан Байбеков и Евгений Костин.

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

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

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

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

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

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

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

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

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

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

    Инструменты разработчика google chrome

    На скриншоте показаны инструменты разработчика 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 и как их интерпретировать

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

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

    Именно поэтому коды состояния HTTP являются бесценным инструментом для диагностики и исправления ошибок конфигурации веб-сайта.

    Код состояния HTTP (англ. HTTP status code) — это целое трехзначное число в первой части ответа сервера при запросах по протоколу HTTP.

    Классы кодов состояния:

    Все коды состояния разделяются на классы. Класс состояния указывается в первой цифре, две следующие – уточняющие.

    • 1xx: Информационные коды состояния, отражающие процесс передачи запроса.
    • 2xx: Коды успеха, означающие, что сервер успешно получил и обработал запрос.
    • 3xx: Перенаправляющие коды возвращаются, когда изменилось расположение запрашиваемого ресурса и нужно сделать еще один запрос по новому URI.
    • 4xx: Коды ошибки на стороне клиента означают, что обнаружена проблема в запросе.
    • 5xx: Коды ошибки на стороне сервера сообщают, что запрос был получен сервером, но во время его обработки возникла ошибка.

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

    Список кодов состояния:

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

    200 Код состояния

    • 200: «ОК». Этот код возвращается, когда веб-страница или ресурс действует именно так, как требуется.

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

    • 301: «Запрашиваемый ресурс был навсегда перемещен». Этот код возвращается, если запрашиваемому ресурсу был установлен новый URI и будущие обращения к этому ресурсу должны осуществляться по возвращенному URI.
    • 302: «Запрашиваемый ресурс временно находится по другому URI». Так как переадресация может быть изменена в любой момент, клиенту следует продолжать использовать тот же самый URI для будущих запросов.
    • 304: «Запрашиваемый ресурс не изменился с момента последнего запроса». Этот код ответа значит, что запрошенный ресурс не был изменен и клиент может продолжать использовать кэшированную версию ответа. Используется для увеличения скорости загрузки веб-страницы с помощью переиспользования ранее загруженных ресурсов.

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

    • 400: «Ошибка в запросе». Запрос не удалось обработать из-за синтаксической ошибки. Клиенту не следует повторять такой запрос без изменений.
    • 401: «Не авторизовано». Для получения запрашиваемого ответа требуется аутентификация.
    • 403: «Доступ запрещен». У клиента отсутствуют права доступа к ресурсу, поэтому сервер отказывается дать надлежащий ответ. Авторизация не поможет и этот запрос не следует повторять.
    • 404: «Не найдено». Самая распространённая ошибка, возникающая из-за того, сервер не может найти запрашиваемый ресурс по указанному URI. Это чаще всего вызвано ошибкой в написании URI страницы, но код состояния 404 может использоваться в ответе и вместо других кодов, если сервер не хочет раскрывать истинную причину того, почему он не обработал запрос.
    • 405: «Метод не разрешен». Выполнение метода, определенного в запросе, не разрешено для запрашиваемого ресурса. Ответ должен содержать заголовок Allow, содержащий список разрешенных методов для запрашиваемого ресурса.
    • 408: «Таймаут запроса». Клиент не предоставил запрос за то время, пока сервер был готов его ждать. Ответ с данным кодом может отправляться сервером во время простоя соединения, даже если клиент не отправлял запрос, и означает, что сервер хочет разорвать текущее соединение. Имейте в виду, что некоторые сервера могут разрывать соединение даже без отправки этого сообщения.
    • 410: «Ресурс пропал». Требуемый ресурс больше не доступен на сервере и адрес его расположения не известен.
    • 415: «Формат не поддерживается». Сервер отказывается обработать запрос, потому что тело запроса имеет неподдерживаемый запрошенным ресурсом формат.
    • 429: «Слишком много запросов». Данный код означает, что клиент отправил слишком большое количество запросов в заданный промежуток времени.

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

    • 500: «Внутренняя ошибка сервера». Сервер столкнулся с неожиданными условиями, которые не позволили ему обработать запрос. Универсальное сообщение о внутренней ошибке сервера, когда никакое более определенное сообщение не подходит.
    • 502: «Неверный шлюз». Сервер, выступая в роли шлюза или прокси-сервера, получил некорректный ответ от вышестоящего сервера, к которому он обратился для выполнения запроса.
    • 503: «Сервис недоступен». Сервер не может обработать запрос, так как временно перегружен или недоступен из-за технических работ. Это временное состояние, из которого сервер выйдет через какое-то время.
    • 504 «Таймаут шлюза». Сервер, выступая в роли шлюза или прокси-сервера, не дождался ответа от вышестоящего сервера в рамках установленного таймаута текущего запроса.

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

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

    Исчерпывающий список кодов состояния в Википедии

    Список кодов состояния и их совместимости с браузерами на сайте Mozilla

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

    Понравилась статья? Поделить с друзьями:
  • Сервер сообщил об ошибке создания сети hamachi
  • Сервер сообщает об ошибке not local sender over smtp
  • Сервер сообщает об ошибке message size exceeds maximum permitted
  • Сервер рорз код ошибки 10
  • Сервер перегружен попробуйте позже код ошибки restrict area