Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
-
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
-
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:

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

Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

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

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

Теперь расскажем подробнее про все классы кодов состояния 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* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.

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, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

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
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.
принят и клиент может продолжать присылать запросы либо проигнорировать
этот ответ, если запрос был завершён.
клиента, содержащий заголовок
Upgrade:, и указывает, чтосервер переключился на протокол, который был указан в заголовке. Эта
возможность позволяет перейти на несовместимую версию протокола и обычно
не используется.
обрабатывает его, но обработка ещё не завершена.
загружены заранее, пока сервер будет подготавливать основной ответ.
RFC 8297 (Experimental).
OK
метода HTTP, который был запрошен:
-
GET: «ПОЛУЧИТЬ». Запрошенный ресурс был найден и передан в теле
ответа. - HEAD: «ЗАГОЛОВОК». Заголовки переданы в ответе.
-
POST: «ПОСЫЛКА». Ресурс, описывающий результат действия сервера на
запрос, передан в теле ответа. -
TRACE: «ОТСЛЕЖИВАТЬ». Тело ответа содержит тело запроса полученного
сервером.
Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ».
нет способа с помощью HTTP отправить асинхронный ответ позже, который
будет показывать итог обработки запроса. Это предназначено для случаев,
когда запрос обрабатывается другим процессом или сервером, либо для
пакетной обработки.
которая возвращена, была предоставлена не от исходного сервера, а из
какого-нибудь другого источника. Во всех остальных ситуациях более
предпочтителен код ответа 200 OK.
ответа, которые могут быть полезны, присылаются. Клиент может
использовать их для обновления кешированных заголовков полученных ранее
для этого ресурса.
чтобы сообщить клиенту, что необходимо сбросить отображение документа,
который прислал этот запрос.
присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в
несколько потоков.
«Множественный выбор». Этот код ответа присылается, когда запрос имеет
более чем один из возможных ответов. И User-agent или пользователь
должен выбрать один из ответов. Не существует стандартизированного
способа выбора одного из полученных ответов.
«Перемещён на постоянной основе». Этот код ответа значит, что URI
запрашиваемого ресурса был изменён. Возможно, новый URI будет
предоставлен в ответе.
«Найдено». Этот код ответа значит, что запрошенный ресурс
временно изменён. Новые изменения в URI могут быть доступны в
будущем. Таким образом, этот URI, должен быть использован клиентом в
будущих запросах.
направлять клиента для получения запрашиваемого ресурса в другой URI с
запросом GET.
значит, что запрошенный ресурс не был изменён. Таким образом, клиент
может продолжать использовать кешированную версию ответа.
доступен через прокси. Этот код ответа в основном не поддерживается из
соображений безопасности.
запросы должны использовать указанный прокси.»
получил запрошенный ресурс на другой URL-адрес с тем же методом, который
использовал предыдущий запрос. Данный код имеет ту же семантику, что код
ответа
302 Found, за исключением того, что агентпользователя не должен изменять используемый метод HTTP: если в первом
запросе использовался
POST, то во втором запросе такжедолжен использоваться
POST.
«Перенаправление на постоянной основе». Это означает, что ресурс
теперь постоянно находится в другом URI, указанном в заголовке
Location: HTTP Response. Данный код ответа имеет ту же
семантику, что и код ответа 301 Moved Permanently, за
исключением того, что агент пользователя не должен изменять
используемый метод HTTP: если POST использовался в первом
запросе, POST должен использоваться и во втором запросе.
Примечание: Это экспериментальный код ответа,
Спецификация которого в настоящее время находится в черновом виде.
из-за неверного синтаксиса.
аутентификация. Статус похож на статус 403, но,в этом случае,
аутентификация возможна.
использования. Первоначальная цель для создания этого кода была в
использовании его для цифровых платёжных систем(на данный момент не
используется).
отказывается дать надлежащий ответ.
ответа, наверно, самый известный из-за частоты его появления в вебе.
деактивирован и не может быть использован. Два обязательных метода,
GET и HEAD, никогда не должны бытьдеактивированы и не должны возвращать этот код ошибки.
Этот ответ отсылается, когда веб сервер после выполнения
server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
прокси сервера.
означает, что сервер хотел бы отключить это неиспользуемое соединение.
Этот метод используется все чаще с тех пор, как некоторые браузеры,
вроде Chrome и IE9, стали использовать
HTTP механизмы предварительного соединения
для ускорения сёрфинга (смотрите баг 634278, будущей
реализации этого механизма в Firefox). Также учитывайте, что некоторые
серверы прерывают соединения не отправляя подобных сообщений.
Этот ответ отсылается, когда запрос конфликтует с текущим состоянием
сервера.
Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
Запрос отклонён, потому что сервер требует указание заголовка
Content-Length, но он не указан.
выполнить
Размер запроса превышает лимит, объявленный сервером. Сервер может
закрыть соединение, вернув заголовок Retry-After
его обработать
запрос отклонён
Range не может бытьвыполнен; возможно, он выходит за пределы переданного URI
Expect, не может быть выполнено сервером.
не знает как обработать.
обработан. Единственные методы, которые сервера должны поддерживать (и,
соответственно, не должны возвращать этот код) —
GET иHEAD.
качестве шлюза для получения ответа, нужного для обработки запроса,
получил недействительный (недопустимый) ответ.
причинами являются отключение сервера или то, что он перегружен.
Обратите внимание, что вместе с этим ответом удобная для
пользователей(user-friendly) страница должна отправлять объяснение
проблемы. Этот ответ должен использоваться для временных условий и
Retry-After: HTTP-заголовок должен, если возможно,содержать предполагаемое время до восстановления сервиса. Веб-мастер
также должен позаботиться о заголовках, связанных с кешем, которые
отправляются вместе с этим ответом, так как эти ответы, связанные с
временными условиями, обычно не должны кешироваться.
не может получить ответ вовремя.
поддерживается сервером.
Как проверить код ответа сервера и понять его значение. Подробный перечень частых ошибок HTTP с пояснениями.
В статье:
-
Как проверить код ответа сервера
-
Значения кодов ответов сервера
-
Информационные коды
-
Коды успешной обработки запроса
-
Коды редиректов
-
Коды ошибок клиента
-
Коды ошибок сервера
При каждом обращении к серверу вы получаете от него код статуса ответа. Коды связаны с функциональностью страниц сайта и сигнализируют о состоянии страницы. Благодаря значению, которое несет код, сервер корректирует обработку документа после запроса пользователя. Самые популярные коды — 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. На такие документы не нужно тратить краулинговый бюджет, поэтому в файле 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, или не ввел пароль.
На коды ответов сервера обращают внимание поисковые роботы, с помощью этих сигналов они узнают, как им нужно вести себя со страницей — индексировать, пропустить, вернуться к ней позже. Веб-мастерам важно распознавать сигналы с ошибками, чтобы направлять поисковых ботов и исправлять часть ошибок, если причина ошибки им доступна.
22.06.21
Все коды состояния или http-статусы состоят из трех цифр. Они помогают понять, чем в итоге обернулся запрос между пользователем и сервером — успехом или ошибкой. Некоторые из рассматриваемых ниже кодов вам хорошо знакомы, но есть и совсем редкие.
Всего существует пять групп серверных ответов, которые определяют класс состояния по первой цифре. Так можно сразу определить формат ответа от информационного до сообщения об ошибке.
1xx – Информационные
2xx – Успешные коды ответа
3xx – Коды редиректов
4xx – Ошибки со стороны клиента
5xx – Ошибки со стороны сервера

Информационные коды
Данная группа отвечает за передачу данных. Коды этого типа свидетельствуют о том, что запрос принят сервером и обрабатывается.
100 — Continue — Временный код ответа, означающий начало принятия запроса к его последующей обработке.
101 — Switching Protocols — Сообщает о переключении сервера на протокол, которые был указан в заголовке Upgrade запроса клиента.
102 — Processing — Информация о том, что запрос принят сервером и находится в обработке, но этот процесс еще не завершен.
103 — Early Hints — Используется для предварительной загрузки данных пока сервер формирует полный ответ.
Успешная обработка запроса
Коды группы сообщают, что запрос не только принят сервером, но и успешно обработан.
200 — OK — Один из самых популярных ответов. Он свидетельствует о том, что обмен данными между клиентом и сервером прошли успешно. Именно код ответа 200 ждут от ресурса, чтобы проверить, что все работает как надо: сайт загружен, файл открывается и т.д.
201 — Created — Информирует об успешном создании нового ресурса в результате выполнения запроса. Например, была создана новая страница. Если сервер по каким-то причинам не смог обработать запрос и ресурс не был создан, то код ответа будет 202.
202 — Accepted — Сообщает, что сервер принял запрос, но не завершил его обработку.
203 — Non-Authoritative Information — Отвечает об успешной обработке запроса с оговоркой на то, что передаваемая информация была предоставлена не из исходного сервера, а другого источника (например, резервной копии) и может быть неактуальной.
204 — No Content — Сообщает об успешном принятии и обработке запроса, а также о том, что у сервера нет содержимого для отправки пользователю.
205 — Reset Content — Сервер передает пользователю ответ в виде требований к сбросу введенных данных. Например, о необходимости очистить форму с заполненными до этого данными.
206 — Partial Content — Свидетельствует о частичном выполнении GET-запроса сервером, возвращая только запрошенную пользователем часть контента. Этот код встречается при использовании кэширования.
Коды редиректов
Данная группа кодов состояния сообщает о перенаправлении пользователя с его согласием или без него.
300 — Multiple Choices — Ответ срабатывает при условии, что по указанному запросу существует несколько вариантов URL. При таком варианте пользователь или User-agent должен выбрать альтернативный адрес.
301 — Moved Permanently — Свидетельствует о перемещении ранее проиндексированного URL на новый адрес. Это команда роботу индексировать новую страницу вместо старой.
301 редирект также используемся вебмастерами для перенаправления сайта с http://www.mixtelecom.ru на http://mixtelecom.ru. Применяется при переходе на защищенный протокол с HHTP на HTTPS. Используется для защиты доступа к внутренним файлам, например, /index.php переправляется на главный адрес сайта. Некоторые хостинги и CMS автоматически включают данные редиректы при выборе соответствующих опций при настройке сайта.
302 — Found, 302 Moved Temporarily — Сообщает, что ранее проиндексированный URL был временно перемещен по другому адресу. При этом страница остается в индексе, а в ответе указывается новый адрес запрашиваемого URL.
303 — See Other — Указывает пользователю, что запрошенная страница находится по другому адресу с запросом GET.
304 — Not Modified — Показывает, что запрашиваемая страница или объект не были изменены с момента последнего обновления кэша данного документа.
305 — Use Proxy — Сообщает пользователю, что запрашиваемый ресурс доступен только через прокси. Данные по прокси указаны в ответе сервера.
307 — Temporary Redirect — Код схож с 302, сообщая о временном перемещении ресурса на другой адрес. Разница заключается в способе обращения к ресурсу, который должен быть получен тем же методом, что и предыдущий запрос.
Ошибки клиента
Коды состояний данной группы сообщают об ошибках клиента, при которых сервер не может вызвать запрашиваемый результат.
400 — Bad Request — Ошибка свидетельствует от том, что сервер не понял запрос пользователя из-за синтаксической ошибки.
401 — Unauthorized — Сообщает о необходимости быть авторизованным для получения запрашиваемого доступа. Возникает при неправильном вводе данных пользователем при авторизации.
403 — Forbidden — Запрет доступа к запрашиваемой странице. Доступ может быть ограничен настройками индексации или запрещен для определенных IP.
404 — Пожалуй, самая распространенная ошибка. Сообщает о том, что запрашиваемая страница не найдена. Самая частая причина — ошибка в написании адреса.
Когда что-то пошло не так и пользователь не попал по запрашиваемому адресу куда хотел, позаботьтесь, чтобы на сайте была соответствующая страница для ошибки 404. На ней должна быть ссылка на главную страницу или меню ресурса, находиться поиск по сайту или контакты для связи. Если запрашиваемый URL был изменен, то настройте 301-редирект со старого адрес страницы на обновленный.
405 — Method Not Allowed — Сообщает, что в запросе используется метод, который не поддерживается сервером.
406 — Not Acceptable — Указывает, что запрашиваемый пользователем контент не может быть распознан. Причины могут быть в кодировке, методе сжатия или формате объекта.
407 — Proxy Authentication Required — Сообщает, что доступ может быть предоставлен только при авторизации через прокси-сервер.
408 — Request Timeout — Сервер прервал соединение с пользователем из-за слишком долгого ожидания. Данный ответ не возвращается если пользователь принудительно отменил запрос или соединение прервалось по иным причинам.
409 — Conflict — Посылаемый пользователем запрос вызывает конфликт с сервером или другим обращением.
410 — Gone — Ответ сервера при запросе к странице или объекту, который был удален и более недоступен.
411 — Length Required — Отказ сервера на обработку запроса если в нем не указан Content-Length заголовка.
413 — Request Entity Too Large — Сервер не может обработать обращение из-за слишком большого размера запроса.
414 — Request-URL Too Long — Сервер не может обработать обращение если в запросе указан слишком длинный URL.
415 — Unsupported Media Type — Формат запроса пользователя не может быть обработан. Такое встречается при загрузке данных неподходящего формата.
416 — Requested Range Not Satisfiable — Отказ сервера на выполнение запроса из-за некорректного значения поля Range.
417 — Expectation Failed — Отказ сервера на выполнение запроса из-за некорректного значения поля Expect.
422— Unprocessable Entity — Сервер принял и распознал запрос, но не может его выполнить из-за наличия логической ошибки.
423 — Locked — Запрашиваемая пользователем страница заблокирована. Как правило, это делается для защиты содержимого данной страницы или объекта.
424 — Failed Dependency — Выполнение текущего запроса зависит от исхода других связанных с ней операций. Если условия не будут соблюдены, то соединение будет разорвано.
426 — Upgrade Required — Ошибка указывает на необходимость обновить протокол. Встречается, когда сервер запрашивает https-соединение, которое не может быть предоставлено клиентом.
429 — Too Many Requests — Возникает при превышении лимита отправляемых пользователем запросов за короткий промежуток времени. Часто используется настройками безопасности.
Ошибки сервера
В эту группу входят коды ошибок со стороны сервера, когда по тем или иным причинам он не способен обработать запрос или выполнить требуемую операцию.
500 — Internal Server Error — Код оповещает о возникшей внутренней ошибке сервера или его аварийном отказе.
501 — Not Implemented — Сервер столкнулся с запросом, который не смог распознать. Либо запрос не поддерживается и не может быть обработан.
502 — Bad Gateway — Сообщает о неправильном получении ответа вышестоящего сервера. Частая причина — несогласованные протоколов между шлюзом и сервером (ошибки DNS, прокси, хостинга).
Если ваш сайт выдает ошибку 502, то вероятнее всего вносились правки или совершались обновления системы. Просмотрите логи для выявления причины. Если на сайте не было никаких работ и апдейтов, то проверьте ресурсы памяти, процессора, php-лимиты сервера. Возможно их недостаточно для корректной обработки запросов. Причинами также могут быть подключенные CDN или anti-DDoS сервисы. Обратитесь в техподдержку.
503 — Service Unavailable — Указывает на временную недоступность сервера. Причиной может быть его перезагрузка, техническое обслуживание, обращение слишком большого количества пользователей при наличии подобных ограничений. Как правило, сообщение об ошибке содержит параметр Retry-After, информирующий о времени восстановления штатной работы ресурса.
504 — Gateway Time-out — Истек срок ожидания ответа от вышестоящего сервера. Возможные причины: недостаток ресурсов, неполадки с сетевым соединением, ошибки HTTP протокола, настроен слишком короткий срок ожидания.
505 — HTTP Version Not Supported — Используемая в запросе версия протокола HTTP не поддерживается сервером. Встречается при использовании устаревшего формата HTTP-протокола.
506 — Variant Also Negotiates — Сервер не может обработать запрос из-за его неправильной настройки. Сервер зацикливает ответ на себя, выдавая ошибку.
507 — Insufficient Storage — Означает нехватку места на сервере для обработки запросов пользователя. Нужно освободить или увеличить память, либо обратиться в техническую поддержку.
508 — Loop Detected — Ошибка возникает в связи с бесконечным перенаправлением. При обработке запроса возникает петля, что приводит к завершению операции.
509 — Bandwidth Limit Exceeded — Превышен установленный лимит потребления трафика. Ошибка актуальная для интернет-каналов с ограничением по трафику.
510 — Not Extended — Сервер не поддерживает и не может отработать запрашиваемое пользователем расширение. В теле ошибки может быть приведен список доступных расширений.
511 — Network Authentication Required — Сообщает о необходимости авторизации для доступа к сети. Например, если пользователь не авторизовался при подключении к Wi-Fi.
Благодаря приведенным выше кодам ответов намного легче понимать статус сервера при взаимодействии с ним. На практике большинство из них используются в виде указаний роботам по работе с сайтом и порядку его индексации. Сервисы мониторинга и технического анализа сайтов также ориентируются на коды ответов сервера для определения корректной работы ресурса. Вебмастеры могут опираться на статусы состояния в рамках настройки и поддержания работы сайтов. Системные администраторы могут понимать в чем причина неполадок и быстрее устранять возникшие неполадки. Если у вас возникли сложности, которые не получается решить самостоятельно, — воспользуйтесь услугой системного администрирования.
Коды состояния 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. Их понимание действительно важно для развития вашего сайта и может спасти вас от многих неприятностей – помните их и применяйте информацию в будущем!
Описание кодов
Информационные
В этот класс выделены коды, информирующие о процессе передачи. При работе через протокол версии 1.0 сообщения с такими кодами должны игнорироваться. В версии 1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но серверу отправлять что-либо не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.
- 100 Continue — сервер удовлетворён начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в HTTP/1.1.
- 101 Switching Protocols — сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка
Update. Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. Появился в HTTP/1.1. - 102 Processing — запрос принят, но на его обработку понадобится длительное время. Используется сервером, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV.
[править]Успех
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.
- 200 OK — успешный запрос. Если клиентом были запрошены какие-либо данные, то они находятся в заголовке и/или теле сообщения. Появился в HTTP/1.0.
- 201 Created — в результате успешного выполнения запроса был создан новый ресурс. Сервер должен указать его местоположение в заголовке
Location. Серверу рекомендуется[источник не указан 380 дней] ещё указывать в заголовке характеристики созданного ресурса (например, в полеContent-Type). Если сервер не уверен, что ресурс действительно будет существовать к моменту получения данного сообщения клиентом, то лучше использовать ответ с кодом202. Появился в HTTP/1.0. - 202 Accepted — запрос был принят на обработку, но она не завершена. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. Появился в HTTP/1.0.
- 203 Non-Authoritative Information — аналогично ответу
200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. Появился в HTTP/1.1. - 204 No Content — сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Появился в HTTP/1.0.
- 205 Reset Content — сервер обязывает клиента сбросить введённые пользователем данные. Тела сообщения сервер при этом не передаёт и документ обновлять не обязательно. Появился в HTTP/1.1.
- 206 Partial Content — сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке
Content-Rangeсервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. Появился в HTTP/1.1. (подробнее…) - 207 Multi-Status — сервер передаёт результаты выполнения сразу нескольких независимых операций. Они помещаются в само тело сообщения в виде XML-документа с объектом
multistatus. Не рекомендуется размещать в этом объекте статусы из серии1xxиз-за бессмысленности и избыточности. Появился в WebDAV. - 226 IM Used — заголовок
A-IMот клиента был успешно принят и сервер возвращает содержимое с учётом указанных параметров. Введено в RFC 3229 для дополнения протокола HTTP поддержкой дельта-кодирования.
Перенаправление
Коды этого класса сообщают клиенту, что для успешного выполнения операции необходимо сделать другой запрос, как правило, по другому URI. Из данного класса пять кодов 301, 302, 303,305 и 307 относятся непосредственно к перенаправлениям. Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.
По последним стандартам клиент может производить перенаправление без запроса пользователя только если второй ресурс будет запрашиваться методом GET или HEAD[6]. В предыдущих спецификациях говорилось, что для избежания круговых переходов пользователя следует спрашивать после 5-го подряд перенаправления[13]. При всех перенаправлениях, если метод запроса был не HEAD, то в тело ответа следует включить короткое гипертекстовое сообщение с целевым адресом, чтобы в случае ошибки пользователь смог сам произвести переход.
Разработчики HTTP отмечают, что многие клиенты при перенаправлениях с кодами 301 и 302 ошибочно применяют метод GET ко второму ресурсу, несмотря на то, что к первому запрос был с иным методом (чаще всего PUT)[14]. Чтобы избежать недоразумений, в версии HTTP/1.1 были введены коды 303 и 307 и их рекомендовано использовать вместо 302. Изменять метод нужно только если сервер ответил 303. В остальных случаях следующий запрос производить с исходным методом.
Поведение клиентов при различных перенаправлениях описано в таблице:
| Статус ответа | Кэширование | Если метод не GET или HEAD |
|---|---|---|
301 Moved Permanently |
Можно как обычно. | Спросить у пользователя подтверждения и запросить другой ресурс исходным методом. |
| 307 Temporary Redirect | Можно только если указан заголовок Cache-Control илиExpires. |
|
| 302 Found (HTTP/1.1) 302 Moved Temporarily (HTTP/1.0) |
||
| 303 See Other | Нельзя. | Перейти автоматически, но уже методом GET. |
- 300 Multiple Choices — по указанному URI существует несколько вариантов предоставления ресурса по типу MIME, по языку или по другим характеристикам. Сервер передаёт с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. Появился в HTTP/1.0.
- 301 Moved Permanently — запрошенный документ был окончательно перенесен на новый URI, указанный в поле
Locationзаголовка. Некоторые клиенты некорректно ведут себя при обработке данного кода. Появился в HTTP/1.0. - 302 Found, 302 Moved Temporarily — запрошенный документ временно доступен по другому URI, указанному в заголовке в поле
Location. Этот код может быть использован, например, приуправляемом сервером согласовании содержимого. Некоторые клиенты некорректно ведут себя при обработке данного кода. Введено в HTTP/1.0. - 303 See Other — документ по запрошенному URI нужно запросить по адресу в поле
Locationзаголовка с использованием методаGETнесмотря даже на то, что первый запрашивался иным методом. Этот код был введён вместе с307-ым для избежания неоднозначности, чтобы сервер был уверен, что следующий ресурс будет запрошен методомGET. Например, на веб-странице есть поле ввода текста для быстрого перехода и поиска. После ввода данных браузер делает запрос методомPOST, включая в тело сообщения введённый текст. Если обнаружен документ с введённым названием, то сервер отвечает кодом303, указав в заголовкеLocationего постоянный адрес. Тогда браузер гарантировано его запросит методомGETдля получения содержимого. В противном случае сервер просто вернёт клиенту страницу с результатами поиска. Введено в HTTP/1.1. - 304 Not Modified — сервер возвращает такой код, если клиент запросил документ методом
GET, использовал заголовокIf-Modified-SinceилиIf-None-Matchи документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Появился в HTTP/1.0. - 305 Use Proxy — запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле
Locationзаголовка. Данный код ответа могут использовать только исходные HTTP-сервера (не прокси). Введено в HTTP/1.1. - 306 (зарезервировано) — использовавшийся раньше код ответа, в настоящий момент зарезервирован. Упомянут в RFC 2616 (обновление HTTP/1.1).
- 307 Temporary Redirect — запрашиваемый ресурс на короткое время доступен по другому URI, указанный в поле
Locationзаголовка. Этот код был введён вместе с 303 вместо 302-го для избежания неоднозначности. Введено в RFC 2616 (обновление HTTP/1.1).
Ошибка клиента
Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.
- 400 Bad Request — сервер обнаружил в запросе клиента синтаксическую ошибку. Появился в HTTP/1.0.
- 401 Unauthorized — для доступа к запрашиваемому ресурсу требуется аутентификация. В заголовке ответ должен содержать поле
WWW-Authenticateс перечнем условий аутентификации. Клиент может повторить запрос, включив в заголовок сообщения полеAuthorizationс требуемыми для аутентификации данными. - 402 Payment Required — предполагается использовать в будущем. В настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов, а не дляхостинговых компаний. Имеется в виду, что эта ошибка не будет выдана хостинговым провайдером в случае просроченной оплаты его услуг. Зарезервирован, начиная с HTTP/1.1.
![]()
![]()
Сервер вернул ошибку 403 при попытке просмотра директории «cgi-bin», доступ к которой был запрещён.
- 403 Forbidden — сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Если для доступа к ресурсу требуется аутентификация средствами HTTP, то сервер вернёт ответ
401или407при использовании прокси. В противном случае ограничения были заданы администратором сервера или разработчиком веб-приложения и могут быть любыми в зависимости от возможностей используемого программного обеспечения. В любом случае клиенту следует сообщить причины отказа в обработке запроса. Наиболее вероятными причинами ограничения может послужить попытка доступа к системным ресурсам веб-сервера (например, файлам.htaccessили.htpasswd) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов, требование аутентификации не средствами HTTP, например, для доступа к системе управления содержимым или разделу для зарегистрированных пользователей либо сервер не удовлетворён IP-адресом клиента, например, при блокировках. Появился в HTTP/1.0. - 404 Not Found — самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI. Если серверу известно, что по этому адресу был документ, то ему желательно использовать код 410. Ответ
404может использоваться вместо403, если требуется тщательно скрыть от посторонних глаз определённые ресурсы. Появился в HTTP/1.0. - 405 Method Not Allowed — указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке
Allow, разделив их запятой. Эту ошибку сервер должен возвращать, если метод ему известен, но он не применим именно к указанному в запросе ресурсу, если же указанный метод не применим на всём сервере, то клиенту нужно вернуть код501(Not Implemented). Появился в HTTP/1.1. - 406 Not Acceptable — запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не
HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1. - 407 Proxy Authentication Required — ответ аналогичен коду
401за исключением того, что аутентификация производится для прокси-сервера. Механизм аналогичен идентификации на исходном сервере. Появился в HTTP/1.1. - 408 Request Timeout — время ожидания сервером передачи от клиента истекло. Клиент может повторить аналогичный предыдущему запрос в любое время. Например, такая ситуация может возникнуть при загрузке на сервер объёмного файла методом
POSTилиPUT. В какой-то момент передачи источник данных перестал отвечать, например, из-за повреждения компакт-дискаили потеря связи с другим компьютером в локальной сети. Пока клиент ничего не передаёт, ожидая от него ответа, соединение с сервером держится. Через некоторое время сервер может закрыть соединение со своей стороны, чтобы дать возможность другим клиентам сделать запрос. Этот ответ не возвращается, когда клиент принудительно остановил передачу по команде пользователя или соединение прервалось по каким-то иным причинам, так как ответ уже послать невозможно. Появился в HTTP/1.1. - 409 Conflict — запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода
PUT.Появился в HTTP/1.1. - 410 Gone — такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Серверу в этом случае неизвестно и местоположение альтернативного документа, например, копии). Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код
404. Появился в HTTP/1.1. - 411 Length Required — для указанного ресурса клиент должен указать
Content-Lengthв заголовке запроса. Без указания этого поля не стоит делать повторную попытку запроса к серверу по данному URI. Такой ответ естественен для запросов типаPOSTиPUT. Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объём. Тогда разумней будет проверить в самом начале заголовокContent-Lengthи сразу отказать в загрузке, чем провоцировать бессмысленную нагрузку, разрывая соединение, когда клиент действительно пришлёт слишком объёмное сообщение. Появился в HTTP/1.1. - 412 Precondition Failed — возвращается, если ни одно из условных полей заголовка[неизвестный термин] запроса не было выполнено. Появился в HTTP/1.1.
- 413 Request Entity Too Large — возвращается в случае, если сервер отказывается обработать запрос по причине слишком большого размера тела запроса. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса. Если проблема временная, то рекомендуется в ответ сервера включить заголовок
Retry-Afterс указанием времени, по истечении которого можно повторить аналогичный запрос. Появился в HTTP/1.1. - 414 Request-URL Too Long — сервер не может обработать запрос из-за слишком длинного указанного URL. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод
GET, а неPOST. Появился в HTTP/1.1. - 415 Unsupported Media Type — по каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. Появился в HTTP/1.1.
- 416 Requested Range Not Satisfiable — в поле
Rangeзаголовка запроса был указан диапазон за пределами ресурса и отсутствует полеIf-Range. Если клиент передал байтовый диапазон, то сервер может вернуть реальный размер в полеContent-Rangeзаголовка. Данный ответ не следует использовать при передаче типаmultipart/byteranges[источник не указан 380 дней]. Введено в RFC 2616 (обновление HTTP/1.1). - 417 Expectation Failed — по каким-то причинам сервер не может удовлетворить значению поля
Expectзаголовка запроса. Введено в RFC 2616 (обновление HTTP/1.1). - 422 Unprocessable Entity — сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом. Введено в WebDAV.
- 423 Locked — целевой ресурс из запроса заблокирован от применения к нему указанного метода. Введено в WebDAV.
- 424 Failed Dependency — реализация текущего запроса может зависеть от успешности выполнения другой операции. Если она не выполнена и из-за этого нельзя выполнить текущий запрос, то сервер вернёт этот код. Введено в WebDAV.
- 425 Unordered Collection — посылается, если клиент послал запрос, обозначив положение в неотсортированной коллекции или используя порядок следования элементов, отличный от серверного[уточнить]. Введено в черновике по WebDAV Advanced Collections Protocol[15].
- 426 Upgrade Required — сервер указывает клиенту на необходимость обновить протокол. Заголовок ответа должен содержать правильно сформированные поля
UpgradeиConnection. Введено в RFC 2817 для возможности перехода к TLS посредством HTTP. - 428 Precondition Required — сервер указывает клиенту на необходимость использования в забросе заголовков условий, наподобие
If-Match. Введено в черновике стандарта RFC 6585. - 429 Too Many Requests — клиент попытался отправить слишком много запросов за короткое время, что может указывать, например, на попытку DoS-атаки. Может сопровождаться заголовком Retry-After, указывающим, через какое время можно повторить запрос. Введено в черновике стандарта RFC 6585.
- 431 Request Header Fields Too Large — Превышена допустимая длина заголовков. Сервер не обязан отвечать этим кодом, вместо этого он может просто сбросить соединение. Введено в черновике стандарта RFC 6585.
- 449 Retry With — возвращается сервером, если для обработки запроса от клиента поступило недостаточно информации. При этом в заголовок ответа помещается поле
Ms-Echo-Request. Введено корпорацией Microsoft для WebDAV. В настоящий момент как минимум используется программой Microsoft Money. - 451 Unavailable For Legal Reasons — доступ к ресурсу закрыт по юридическим причинам, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав. Введено в черновике IETF за авторством Google[10], при этом код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту».
- 456 Unrecoverable Error — возвращается сервером, если обработка запроса вызывает некорректируемые сбои в таблицах баз данных[источник не указан 380 дней]. Введено корпорацией Microsoftдля WebDAV.
Ошибка сервера
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.
- 500 Internal Server Error — любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. Появился в HTTP/1.0.
- 501 Not Implemented — сервер не поддерживает возможностей, необходимых для обработки запроса. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Если же метод серверу известен, но он не применим к данному ресурсу, то нужно вернуть ответ
405. Появился в HTTP/1.0. - 502 Bad Gateway — сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. Появился в HTTP/1.0.
- 503 Service Unavailable — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). В поле
Retry-Afterзаголовка сервер может указать время, через которое клиенту рекомендуется повторить запрос. Хотя во время перегрузки очевидным кажется сразу разрывать соединение, эффективней может оказаться установка большого значения поляRetry-Afterдля уменьшения частоты избыточных запросов. Появился в HTTP/1.0. - 504 Gateway Timeout — сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. Появился в HTTP/1.1.
- 505 HTTP Version Not Supported — сервер не поддерживает или отказывается поддерживать указанную в запросе версию протокола HTTP. Появился в HTTP/1.1.
- 506 Variant Also Negotiates — в результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается. Экспериментальное. Введено вRFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation.
- 507 Insufficient Storage — не хватает места для выполнения текущего запроса. Проблема может быть временной. Введено в WebDAV.
- 509 Bandwidth Limit Exceeded — используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введён.
- 510 Not Extended — на сервере отсутствует расширение, которое желает использовать клиент. Сервер может дополнительно передать информацию о доступных ему расширениях. Введено вRFC 2774 для дополнения протокола HTTP поддержкой расширений.
- 511 Network Authentication Required — этот ответ посылается не сервером, которому был предназначен запрос, а сервером-посредником — например, сервером провайдера — в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету. Предполагается, что в теле ответа будет возвращена Web-форма авторизации или перенаправление на неё. Введено в черновике стандарта RFC 6585.
1
1xx – информационные
100 Continue HTTP/1.1
«Продолжай» – сервер принял запрос, клиент может продолжать присылать заголовки.
101 Switching Protocols HTTP/1.1
«Переключение протоколов» – сервер предлагает перейти на другой протокол, список протоколов сервер указывает в заголовке Upgrade.
2
2xx – успешные запросы
200 OK HTTP/1.0
«Успешный запрос» – если клиентом были запрошены какие-либо данные, то они находятся в заголовках и/или теле ответа.
201 Created HTTP/1.0
«Создано» – в результате успешного запроса был создан новый ресурс. Сервер может указать адреса созданных ресурсов в теле ответа, при этом предпочтительный адрес указывается в заголовке Location.
202 Accepted HTTP/1.0
«Принято» – запрос был принят, но еще не обработан.
203 Non-Authoritative Information HTTP/1.1
«Информация не авторитетна» – успешный запрос, но передаваемая информация может быть неактуальной.
204 No Content HTTP/1.0
«Нет содержимого» – сервер успешно обработал запрос, но в ответе были переданы только заголовки.
205 Reset Content HTTP/1.1
«Сбросить содержимое» – сервер обязывает сбросить введенные пользователем данные.
206 Partial Content HTTP/1.1
«Частичное содержимое» – сервер удачно выполнил частичный GET-запрос, возвратив только часть сообщения. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого.
3
3xx – перенаправления
300 Multiple Choices HTTP/1.0
«Множество выборов» – по запросу существует несколько вариантов ресурса (по MIME, языку и т.д.). Сервер передает список альтернатив, давая клиенту возможность сделать выбор.
301 Moved Permanently HTTP/1.0
«Ресурс перемещен навсегда» – документ был окончательно перенесен на новый URI, указанный в заголовке Location.
301-й редирект в PHP
header('Location: https://exsample.com', true, 301);
exit();
PHP
302 Found HTTP/1.0
«Перемещено временно» – запрошенный документ временно доступен по другому URI, указанному в заголовке Location.
303 See Other HTTP/1.1
«Смотреть другое» – сервер сообщает что документ нужно запросить по адресу переданному в заголовке Location с использованием GET-метода.
Используется для перенаправления после отправки формы методом POST (метод Post/Redirect/Get).
304 Not Modified HTTP/1.0
«Не изменялось» – сервер возвращает такой код, если клиент запросил документ методом GET, использовал заголовок If-Modified-Since или If-None-Match и документ не изменился с указанного момента. При этом сообщение сервера не должно содержать тела. Подробнее о заголовках Last-Modified.
305 Use Proxy HTTP/1.1
«Использовать прокси» – запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в Location.
307 Temporary Redirect HTTP/1.1
«Временное перенаправление» – запрашиваемый ресурс на короткое время доступен по другому URI, указанный в заголовке Location. Метод запроса (GET/POST) менять не разрешается.
308 Permanent Redirect HTTP/1.1
«Постоянное перенаправление» – ресурс был окончательно перенесен на новый URI, указанный в Location. Метод запроса (GET/POST) менять не разрешается.
4
4xx – ошибки клиента
400 Bad Request HTTP/1.0
«Неверный запрос» – запрос не может быть понят сервером из-за некорректного синтаксиса.
401 Unauthorized HTTP/1.1
«Неавторизованный запрос» – для доступа необходимо ввести логин и пароль.
402 Payment Required HTTP/1.1
«Необходима оплата за запрос» – в настоящий момент не используется. Этот код предусмотрен для платных пользовательских сервисов.
403 Forbidden HTTP/1.0
«Доступ к ресурсу запрещен» – сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.
404 Not Found HTTP/1.0
«Ресурс не найден» – документ не существует.
Отправка 404-го кода в PHP
header('HTTP/1.0 404 Not Found');
PHP
405 Method Not Allowed HTTP/1.1
«Недопустимый метод» – указанный клиентом метод нельзя применить к текущему ресурсу. В ответе сервер должен указать доступные методы в заголовке Allow, разделив их запятой.
406 Not Acceptable HTTP/1.1
«Неприемлемый запрос» – нужный документ существует, но не в том формате (язык или кодировка).
407 Proxy Authentication Required HTTP/1.1
«Требуется идентификация прокси» – ответ аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера.
408 Request Timeout HTTP/1.1
«Время запроса истекло» – клиент не передал полный запрос в течение установленного времени и сервер разорвал соединение.
409 Conflict HTTP/1.1
«Конфликт» – запрос конфликтует с другим запросом или с конфигурацией сервера. Например, такое возможно когда два клиента пытаются изменить ресурс с помощью метода PUT.
410 Gone HTTP/1.1
«Недоступен» – такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был окончательно удален с сайта. Если документ в ближайшее время может быть восстановлен, то лучше передать 404-й код.
411 Length Required HTTP/1.1
«Необходимо указать длину» – сервер отказывается принимать запрос без заголовка Content-Length. Такой ответ естественен для запросов типа POST и PUT.
412 Precondition Failed HTTP/1.1
«Условие ложно» – при проверке на сервере одного или более заголовков обнаружено несоответствие.
413 Payload Too Large HTTP/1.1
«Тело запроса превышает допустимый размер» – сервер отказывается обрабатывать запрос из-за слишком большого размера тела.
414 URI Too Long HTTP/1.1
«Недопустимая длина URI запроса» – сервер не может обработать запрос из-за слишком длинного URI.
415 Unsupported Media Type HTTP/1.1
«Неподдерживаемый MIME» – сервер отказывается работать с указанным типом данных.
416 Range Not Satisfiable HTTP/1.1
«Диапазон не может быть обработан» – в заголовке Range был указан недопустимый диапазон байтов.
417 Expectation Failed HTTP/1.1
«Сбой при ожидании» – сервер отказывается обрабатывать запрос, потому что значение заголовка Expect не соответствует ожиданиям.
426 Upgrade Required
«Требуется обновление» – сервер отказывается выполнять запрос с использованием текущего протокола. Введено в для возможности перехода к TLS.
5
5xx – ошибки сервера
500 Internal Server Error HTTP/1.0
Внутренняя ошибка сервера. Обычно возникает из-за ошибок в файле .htaccess или критической ошибки PHP при отключенном показе ошибок.
Включить показ ошибок PHP
error_reporting(E_ALL);
ini_set('display_errors', 1);
PHP
501 Not Implemented HTTP/1.0
«Не реализовано» – сервер не имеет возможностей для обработки запроса.
502 Bad Gateway HTTP/1.0
«Плохой, ошибочный шлюз» – сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
503 Service Unavailable HTTP/1.0
«Сервис недоступен» – сервер временно не может обрабатывать запросы по техническим причинам. В заголовке Retry-After указывается время, через которое клиенту рекомендуется повторить запрос.
504 Gateway Timeout HTTP/1.1
«Шлюз не отвечает» – сервер в роли прокси-сервера не дождался ответа от вышестоящего сервера.
505 HTTP Version Not Supported HTTP/1.1
«Версия HTTP не поддерживается» – сервер не поддерживает предлагаемую версию протокола HTTP.
На этой странице собраны все существующие коды статуса HTTP. В справочнике представлены непосредственно коды HTTP, английские и русские названия к каждому статуса, описания и поддерживаемые версии HTTP.
- Информационные коды HTTP
- Успешные коды HTTP
- Коды перенаправлений (HTTP Редиректы)
- Коды ошибок на стороне клиента
- Коды ошибок на стороне сервера
| Код ответа | Название | Название на русском | Краткое описание | Версия HTTP |
|---|---|---|---|---|
| 1xx: Информационные «Informational» | ||||
| 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 |
| 2xx: Успешные «Success» | ||||
| 200 | OK | Хорошо | «Успешно». Сервер успешно обработал запрос. Разные методы запроса HTTP: GET: «ПОЛУЧИТЬ». Адрес был найден на сервере и успешно передан в теле ответа. HEAD: «ЗАГОЛОВОК». Передача заголовков в ответе. POST: «ПОСЫЛКА». Сервер принял данные заключённые в тело сообщения. TRACE: «ОТСЛЕЖИВАТЬ». Содержание в теле ответа запроса, который получен сервером…. Подробнее. |
HTTP/0.9 и выше |
| 201 | Created | Создано | «Создано». Успешное выполнение запроса и создание в результате ресурса. Код, как правило, присылается в качестве ответа на запрос PUT «ПОМЕСТИТЬ»…. Подробнее. | HTTP/0.9 и выше |
| 202 | Accepted | Принято | «Принято». Принятие запроса, который еще не прошел обработку. Отсутствие поддержания, то есть, отсутствие способа более позднего отправления асинхронного ответа, показывающего результат обработки запроса. Это используется при обработке запроса иным процессом или сервером либо при необходимости обработки в пакетном виде…. Подробнее. | 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 |
| 207 | Multi-Status | Многостатусный | Код 207 (Multi-Status) дает возможность передачи статусов для определенного количества операций независимой формы (за деталями в секцию 11)…. Подробнее. | |
| 208 | Already Reported | Уже сообщалось | Связан с DAV и ранее был включен в код ответа 207. Остается там до настоящего времени…. Подробнее. | |
| 226 | IM Used | Использовано IM | HTTP-расширение для поддержки delta encoding («дельта кодирования»). Определяет принятие заголовка A-IM, возвращение данных в соответствии с установленными характеристиками…. Подробнее. | |
| 3xx: Сообщения о перенаправлениях (Редиректы) «Redirection» | ||||
| 300 | Multiple Choice | Множество выборов | «Множественный выбор». Отправляется при наличии у запроса как минимум двух возможных ответов и необходимости выбора у User-agent или пользователя одного из ответов. При этом отсутствует стандартизированный метод подбора одного из отправляемых ответов…. Подробнее. | HTTP/1.0 и выше |
| 301 | Moved Permanently | Перемещено навсегда | «Перемещён на постоянной основе». Определяет изменение URI запрашиваемого ресурса и возможность предоставления в ответе нового URI…. Подробнее. | HTTP/0.9 и выше |
| 302 | Found / Moved Temporarily | Найдено / Перемещено временно | «Найдено». Определяется в качестве временного изменения запрошенного ресурса. Доступ к новым изменениям в 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, за исключением отсутствия необходимости при нем изменения агентом пользователя используемого метода HTTP: при применении POST в первом запросе, во втором он тоже должен применяться…. Подробнее. | Только HTTP/1.1 |
| 308 | Permanent Redirect | Постоянное перенаправление | «Перенаправление на постоянной основе». Определяет постоянное нахождение ресурса в другом URI-адресе, который указан в заголовке Location: HTTP Response. Семантика данного кода ответа аналогична семантике ответа 301 Moved Permanently, за исключением отсутствия необходимости при нем изменения агентом пользователя используемого метода HTTP: при применении POST в первом запросе, во втором он тоже должен применяться. Необходимо отметить, что данный код ответа является экспериментальным, а его спецификация в настоящий момент имеет черновой вариант…. Подробнее. | |
| 4xx: Клиентские (Ошибки клиента) «Client Error» | ||||
| 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 | Истекло время ожидания | Отправка ответа с данным кодом может быть произведено даже без предшествующего запроса. В нем определяется желание отключения сервером данного неприменяемого соединения. Метод применяется все чаще со времени использования определенными браузерами, такими как Гугл Хром и 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 слишком длинный | Код определяет большую длину запрашиваемого клиентом 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 |
| 418 | I’m a teapot | Я — чайник | I’m a teapot — ввод этого кода был осуществлен в 1998 году в качестве одной из традиционных шуток, посвященных «1 апрелю» IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol. Отсутствует ожидание поддержания кода реальными серверами…. Подробнее. | |
| 419 | Authentication Timeout (not in RFC 2616) | Обычно ошибка проверки CSRF | Authentication Timeout (not in RFC 2616) — Данный код отсутствует в RFC 2616, применяется в качестве альтернативного варианта ответу 401, прошедшего проверку подлинности, однако лишенного доступа к тем или иным ресурсам сервера. Как правило, код отдается в тех случаях, когда токен CSRF оказался устарелым или неправильным…. Подробнее. | |
| 420 | Enhance Your Calm (Twitter) | Подождите немного (Твиттер) | Производится возврат Twitter Search и Trends API при отправлении клиентом огромного количества запросов. Вероятно, номер данного кода является отсылкой к культуре употребления марихуаны. В других сервисах данный код заменяется статусом 429 Too Many Requests…. Подробнее. | |
| 421 | Misdirected Request | Неверный запрос | Misdirected Request —определяет перенаправление запроса на сервер, не способный предоставить ответ…. Подробнее. | |
| 422 | Unprocessable Entity | Необрабатываемый экземпляр | Определяет правильность формата у запроса, который, впрочем, не может быть обработан в связи с ошибками семантики…. Подробнее. | |
| 423 | Locked | Заблокировано | Целевой ресурс из запроса заблокирован от использования к нему названного способа. Введено в WebDAV…. Подробнее. | |
| 424 | Failed Dependency | Невыполненная зависимость | Запрос не был завершен в связи с ошибками к предыдущим запросам (к примеру, PROPPATCH)… Подробнее. | |
| 425 | Too Early | Слишком рано | Too Early — неготовность принятия сервером рисков обработки «ранних данных». Введено в RFC 8470 с защитными целями от атак повторения в случаях применения 0-RTT в TLS 1.3…. Подробнее. | |
| 426 | Upgrade Required | Необходимо обновление | Указание сервером клиенту осуществить обновление протокола. В заголовке ответа должны содержаться правильно составленные поля Upgrade и Connection. Введено в RFC 2817 с целью возможности перехода к TLS через HTTP…. Подробнее. | |
| 428 | Precondition Required | Необходимо предусловие | Precondition Required — определяет указание сервером клиенту необходимости применения в запросе заголовков условий, таких как If-Match. Введено в черновом варианте стандарта RFC 6585…. Подробнее. | |
| 429 | Too Many Requests | Слишком много запросов | Too Many Requests — попытка клиента отправления большого количества запросов в течение короткого периода времени, что может указывать, к примеру, на попытку DDoS-атаки. Возможность сопровождения заголовком Retry-After, который указывает время, спустя которое можно осуществить повтор запроса. Произведен ввод в черновом варианте стандарта RFC 6585…. Подробнее. | |
| 430 | Would Block | Будет заблокировано | Код состояния 430 would Block – является кодом, посредством которого сервер предотвращает конвейерную обработку определенного количества запросов, для которых одним из запросов были блокированы последующие в конвейере…. Подробнее. | |
| 431 | Request Header Fields Too Large | Поля заголовка запроса слишком большие | Request Header Fields Too Large — Определяет превышение допустимой длины заголовков. Отсутствует обязанность по ответу сервера данным кодом, это может быть просто заменено сбросом соединения. Произведен ввод в черновом варианте стандарта RFC 6585…. Подробнее. | |
| 434 | Requested host unavailable | Запрашиваемый адрес недоступен | Сервер к которому вы обратились недоступен… Подробнее. | |
| 444 | No Response (Nginx) | Нет ответа (Nginx) | Код Nginx. Информация не была возвращена сервером, а соединение закрыто (полезно как сдерживающий фактор для программ вредоносного типа)…. Подробнее. | |
| 449 | Retry With | Повторить с… | Retry With — возвращение сервером в случаях поступления недостаточного количества информации от клиента для обработки запроса при помещении в заголовок ответа поля Ms-Echo-Request. Произведен ввод корпорацией Microsoft для WebDAV. В настоящее время применяется программой Microsoft Money…. Подробнее. | |
| 450 | Blocked by Windows Parental Controls (Microsoft) | Заблокировано родительским контролем Windows (Microsoft) | Расширение Microsoft. Возникновение данной ошибки обусловлено включением родительского контроля Windows и блокировкой доступа к этой веб-странице…. Подробнее. | |
| 451 | Unavailable For Legal Reasons | Недоступно по юридическим причинам | Unavailable For Legal Reasons — юридически обоснованное закрытие доступа к ресурсу, к примеру, в соответствии с требованием государственных органов власти или лица, владеющего правами, при нарушении авторских прав. Произведен ввод в черновике IETF за авторством Google, при определении кода ошибки в качестве отсылки к роману Р. Брэдбери «451 градус по Фаренгейту». Датой добавления в стандарт является 21 декабря 2015 года…. Подробнее. | |
| 499 | Client Closed Request | Клиент закрыл соединение | Код состояния нестандартного типа, который представлен nginx для случая закрытия клиентом соединения во время обработки nginx запроса…. Подробнее. | |
| 5xx: Серверные (Ошибки сервера) «Server Error» | ||||
| 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, которая используется в запросе…. Подробнее. | Только HTTP/1.1 |
| 506 | Variant Also Negotiates | Вариант тоже проводит согласование | В связи с неправильной конфигурацией выбранный вариант указывает сам на себя, что прерывает связывание. Дополняет в RFC 2295 протокол HTTP технологией Transparent Content Negotiation…. Подробнее. | |
| 507 | Insufficient Storage | Переполнение хранилища | Данная ошибка означает, что недостаточно места на диске для выполнения запроса. Ошибка может проявляться временно, до освобождения места на диске сервера. Введено WebDAV…. Подробнее. | |
| 508 | Loop Detected | Обнаружено бесконечное перенаправление | Сервером был обнаружен бесконечный цикл в процессе обработки запроса…. Подробнее. | |
| 509 | Bandwidth Limit Exceeded | Исчерпана пропускная ширина канала | Использование данного кода статуса при превышении веб площадкой лимита, который отведен ей, на потребляемый трафик. Ответ не описывается ни одним RFC и применяется исключительно модулем bw/limited панели веб-хостинга cPanel…. Подробнее. | |
| 510 | Not Extended | Не расширено | Отсутствие у сервера расширения, которое применяется клиентом. ВозможностЬ передачи сервером данных о расширениях, которые имеются у него. Дополняет в RFC 2774 HTTP-протокол поддержкой расширений…. Подробнее. | |
| 511 | Network Authentication Required | Требуется сетевая аутентификация | Сервер сообщает о необходимости выполнения аутентификации, при таком необходимо содержание в ответе инструкции о том, каким образом нужно это сделать, к примеру, через форму HTML по указанному адресу. Данную ошибка возвращает не целевой сервер, а прокси, непускающий пользователя в сеть…. Подробнее. | |
| 520 | Unknown Error | Неизвестная ошибка | Unknown Error, появляется при отсутствии успешности обработки сервером CDN ошибки веб-сервера; код нестандартного типа CloudFlare…. Подробнее. | |
| 521 | Web Server Is Down | Веб-сервер не работает | Web Server Is Down, появляется при отклонении подключения CDN веб-сервером; код нестандартного типа CloudFlare…. Подробнее. | |
| 522 | Connection Timed Out | Соединение не отвечает | Connection Timed Out, возникновение фиксируется при отсутствии успеха подключения CDN к веб-серверу; код нестандартного типа CloudFlare…. Подробнее. | |
| 523 | Origin Is Unreachable | Источник недоступен | Origin Is Unreachable, появляется при недостижимости веб-сервера; код нестандартного типа CloudFlare…. Подробнее. | |
| 524 | A Timeout Occurred | Время ожидания истекло | A Timeout Occurred, появляется в случае, когда истекает время подключения между CDN- и веб-сервером; код нестандартного типа CloudFlare…. Подробнее. | |
| 525 | SSL Handshake Failed | Квитирование SSL не удалось | SSL Handshake Failed, определяет ошибку рукопожатия SSL сервера CDN с веб-сервером; код нестандартного типа CloudFlare…. Подробнее. | |
| 526 | Invalid SSL Certificate | Недействительный сертификат SSL | Invalid SSL Certificate, определяет отсутствие положительного результата подтверждения сертификата шифрования веб-сервера; код нестандартного типа CloudFlare…. Подробнее. | |
| 527 | Error: Railgun Listener to origin error | Ошибка прослушивателя рейлгана для источника | Нестандартный код CloudFlare — указывает на прерванное соединение между Cloudflare и вашим сервером…. Подробнее. | |
| 530 | Origin DNS Error | Ошибка исходного DNS | Нестандартный код CloudFlare. Ошибка HTTP 530 возвращается с отображением сопутствующей ошибки 1XXX…. Подробнее. | |
| 598 | Network read timeout error | Ошибка тайм-аута сетевого чтения | Применяется прокси-серверами Microsoft HTTP с той целью, чтобы передавать сигнал таймаута сетевого чтения за прокси-сервером клиенту перед прокси…. Подробнее. | |
| 599 | Network connect timeout error | Ошибка тайм-аута сетевого подключения | Применяется прокси-серверами Microsoft HTTP с той целью, чтобы передавать сигнал тайм-аута сетевого подключения за прокси-сервером клиенту перед прокси…. Подробнее. |
Что такое коды статуса HTTP ?
В запросах, направляющихся по протоколу HTTP, составляющая начальной части ответа сервера – код состояния HTTP. Являет собой целое число, представленное в виде нескольких десятичных цифр. Первая обозначает класс состояния. Через пробел после ответа следует английская фраза, объясняющая, почему был выбран именно этот ответ.
Исход их конкретного кода ответа клиент узнает результат собственного запроса, после определив ход дальнейших манипуляций. Введение кода состояния – описанный в документации RFC стандарт. Дополнить существующие данные новые можно, но только по согласованию со специалистами IETF. Хотя, на сегодняшний день известно о внедрении двух кодов, ранее не упоминаемых в RFC: 449 Retry With. В спецификации к WebDAV, введенный в Microsoft, обозначается текст пояснения «Reply With», как и 509 Bandwidth Limit Exceeded, введённый в cPanel.
Клиент не обязан знать перечень всех существующих кодов состояния, но ему придется правильно отреагировать на класс представленного кода. На сегодняшний день код состояния представляется 5 различными классами.
В файлах журналов веб-сервера IIS, помимо стандартны используются подкоды. Для их записи необходимо лишь оставить точку после основного изложения. Правда, в ответе сервера подкоды не участвуют. Они используются исключительно администратором сервера, для более детальной оценки источника проблем.
Информационные
Класс с информационными кодами, информирующими клиента о передаче. Работая с помощью протокола 1.0, сообщения с подобными данными игнорируются системой. Уже в более новой версии клиент должен принимать подобные ответы, без необходимости отправки ответа. Состоит серверное сообщение со стартовой строки, где указан ответ, и пары полей, отведенных под заголовок. Прокси-сервер не тормозит сообщение, а отправляет его клиенту.
Коды Успеха
Следующий класс сообщений предоставляет сведения о принятии, последующей обработке запроса, посланного клиентом. Исходя из статуса сервера, он присылает тело сообщения, его базовое заглавие.
Перенаправление
Данные следующего класса показывают клиенту о необходимости подачи дополнительного запроса, требующегося для дальнейшего выполнения операции. Обычно для этого нужен иной URI. Коды 301-303, 305, 307 имеют прямое отношение к перенаправлению. Адрес запроса клиента указывается в заглавной строке Location. Для составления сообщения можно использовать фрагменты в целевом URI.
Исходя из последних действующих стандартов, клиент совершает перенаправление без наличия соответствующего запроса от пользователя. Условие – второй ресурс запрашивается не HEAD, а GET. Ранее, чтобы избавиться от перехода пользователя по кругу, можно было задать вопрос после 5 последовательных перенаправлений. Ели запрос подан не в виде HEAD, ответ должен состоять (в том числе) из гипертекстового сообщения, где указан конкретный адрес. Причина – при наличии ошибки пользователь перейдет по нему самостоятельно.
HTTP разработчики указывают на нюанс: большинство клиентов в процессе составления перенаправляющих сообщений, содержащих коды 301,302, ко второму ресурсу применяют GET, хотя в первом случае задействовался PUT. Чтобы избежать проблем, версия 1.1 дополнилась кодами 303, 307. Именно их рекомендуется использовать вместо привычного 302. Правда, смена метода оправдана, когда в ответе сервера содержится код 303. Иначе запрос проходит по привычному стандарту.
Ошибка клиента
Коды класса 4хх необходимы для представления ошибок, совершенных клиентом. Задействования любые методы, помимо HEAD, сервер возвращает пользователю сообщение с разъяснением.
Ошибка сервера
Коды 5хх класса существуют для отдельных случаев. Это так называемые необработанные исключения, возникающие в ходе работы сервера. При любом методе, помимо HEAD, сервер обязан дополнить тело сообщения коротким объяснением, которое клиент предоставит пользователю.