• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
  • ONLINE CHAT
+380 (44) 364 05 71

FREEHOST.WIKI

Что такое страницы ошибок HTTP

Статья также доступна на украинском (перейти к просмотру).

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

HTTP Pardon Side Appearance Mechanism

HTTP (HyperText Transfer Protocol) application layer protocol is mainly used for transferring hypertext, but also for tasks and for transferring data. Технологическая основа этого порядка является клиент-server технология, которая переводит obov'yazykovu pressence two entities - the client and the server. Server обеспечивает хранение ресурсов веб-сайта и процесс реагирования для множества из них от клиента. Clients являются supporters of server's services and that is why they initiate a request. Взаимодействие между ними является элементом - "request-request". Для того, чтобы scheme, robot follows the protocol.

В качестве клиента здесь чаще всего выступает браузер, хотя может быть и другое программное обеспечение (ПО), например менеджер для загрузки файлов. Реализацией сервера может быть следующее известное ПО: IIS, Apache, nginx и т.п.

Структура HTTP-сообщений предполагает наличие следующих полей:

  • Starting line;

  • Headers;

  • Message Body.

Starting line является стартовой строкой сообщения, определяющей его тип.

Headers является названием и описывает параметры передачи и тело сообщения.

Message Body есть тело сообщения и содержит непосредственно его данные.

Обязательными элементами любого HTTP-сообщения являются стартовая строчка и заголовок. Причем форматы Starting line запроса и ответы отличаются. Да, Starting line ответа имеет следующий формат:

HTTP/Версия протокола     Код состояния     Пояснение

Пример:

HTTP/1.0    507    Insufficient Storage

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

Таким образом, страницы ошибок HTTP не что иное, как отображение части Starting line ответа сервера по предварительному запросу клиента. Рассмотрим назначение каждого класса кодов состояния.

Официальные коды ошибок

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

Класс 1

Коды 1-го класса являются информационными, то есть могут информировать клиента, например о процессе передачи данных. В ответе клиента они не нуждаются. Ключевое слово: Informational. Формат: 1хх, где х – десятичное число или ноль. Приведем их.

  • 100 Continue — Клиент может продолжать отправку заголовков.

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

  • 102 Processing — Сервер требует дополнительного времени для обработки запроса.

  • 103 Early Hints — Ответ клиента содержит только часть заголовка. Другая часть будет сформирована позже.

Класс 2

Коды 2-го класса информируют о случаях успешного принятия и обработки запроса от клиента. Ключевое слово: Success. Формат: 2хх, где х – десятичное число или ноль. Приведем их.

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

  • 201 Created — Сообщение о создании по результатам выполнения запроса нового ресурса, основной адрес которого указан в поле Location заголовка.

  • 202 Accepted — Запрос принят, но его обработка может занять много времени.

  • 203 Non-Authoritative Information — Запрос выполнен, но информация может быть устаревшей.

  • 204 No Content — Запрос выполнен, но ответ содержит только заголовки без тела сообщения.

  • 205 Reset Content — Требование клиента обнулить введенные пользователем данные.

  • 206 Partial Content — Частичный запрос GET выполнен, но ответ имеет только часть сообщения. В заголовке Content-Range указаны диапазоны байтов содержимого сообщения.

  • 207 Multi-Status — В теле сообщения передаются результаты выполнения нескольких независимых операций в виде XML-документа.

  • 208 Already Reported — Информация о том, что специальная информация уже была передана в сообщении Multi-Status.

  • 226 IM Used — Заголовок A-IM был принят и сервер возвращает клиенту его содержимое с учетом указанных параметров.

Класс 3

Коды 3-го класса уведомляют клиента о необходимости выполнить второй запрос по URL-адресу, указанному в поле Location заголовка. Ключевое слово: Redirection. Формат: 3хх, где х – десятичное число или ноль. Приведем их.

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

  • 301 Moved Permanently — Документ был окончательно перенесен на новый URI-адрес, указанный в поле Location заголовка. Читайте  статью "Перелинковка и продвижение сайта с помощью устаревшего контента благодаря 301 редиректу".

  • 302 Found, 302 Moved Temporarily — Документ временно доступен по URL, указанному в заголовке.

  • 303 See Other — Необходимо запросить документ по URI, указанный в заголовке с обязательным использованием метода GET.

  • 304 Not Modified — Документ не был изменен после последнего запроса клиента методом GET с использованием заголовков If-Modified-Since или If-None-Match.

  • 305 Use Proxy — Запрос к ресурсу должен осуществляться посредством прокси-сервера, URL которого указан в поле Location заголовка.

  • 307 Temporary Redirect — Ресурс, к которому был запрос, временно доступен по URL, указанному в поле заголовка. Способ запроса изменять нельзя.

  • 308 Permanent Redirect — Ресурс, к которому был запрос окончательно перенесен на URI, указан в поле заголовка.

Класс 4

Коды 4 класса сообщают об ошибках со стороны клиента. Ключевое слово: Client Error. Формат: 4хх, где х – десятичное число или ноль. Приведем их.

  • 400 Bad Request — В запросе обнаружена синтаксическая ошибка.

  • 401 Unauthorized — Для доступа к ресурсу требуется проверка подлинности. В поле WWW-Authenticate заголовка указаны его условия.

  • 402 Payment Required — Код планируется использовать в будущем для платных пользовательских сервисов.

  • 403 Forbidden — Запрос не может быть выполнен из-за существующих ограничений клиента в доступе к ресурсу.

  • 404 Not Found — Веб-ресурс по указанному в запросе URL не найден.

  • 405 Method Not Allowed — Указанный в запросе метод не применим к текущему ресурсу. Доступные методы перечислены в поле Allow заголовка ответа.

  • 406 Not Acceptable — Веб-ресурс, к которому был запрос, не соответствует характеристикам, переданным в заголовке.

  • 407 Proxy Authentication Required — Прокси-сервер для доступа к ресурсу требует проверки подлинности.

  • 408 Request Timeout — время ожидания передачи данных истекло.

  • 409 Conflict — Запрос не выполнен из-за конфликта доступа к ресурсу.

  • 410 Gone — Веб-ресурс недоступен, хотя раньше он находился по указанному в запросе URL.

  • 411 Length Required — Для указанного ресурса необходимо заполнить поле Content-Length заголовка запроса.

  • 412 Precondition Failed — Условия, указанные в полях заголовка, не были выполнены.

  • 413 Payload Too Large — Запрос не может быть выполнен из-за большого размера запроса.

  • 414 URI Too Long — Запрос не может быть выполнен из-за большой длины ресурса URI.

  • 415 Unsupported Media Type — Несоответствие типов данных для указанного метода их обработки.

  • 416 Range Not Satisfiable — В поле Range заголовка запроса указан диапазон, выходящий за пределы ресурса, а также отсутствует поле If-Range.

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

  • 418 I’m a teapot — Код не используется сейчас и не планируется его использование в дальнейшем.

  • 419 Authentication Timeout — используется в качестве альтернативы коду 401. Отсутствует в RFC 2616.

  • 421 Misdirected Request — Запрос был перенаправлен на сервер, который не может ответить.

  • 422 Unprocessable Entity — Запрос успешно принят, однако его выполнение невозможно из-за логической ошибки.

  • 423 Locked — Ресурс заблокирован для возможности применения к нему указанного в запросе метода.

  • 424 Failed Dependency — Запрос не выполнен из-за невыполнения операции, от результатов которой зависит.

  • 425 Too Early — Сервер не готов к обработке информации.

  • 426 Upgrade Required — Указание на необходимость обновления протокола.

  • 428 Precondition Required — Указание на необходимость использования в запросе заголовков условий типа If-Match.

  • 429 Too Many Requests — Ошибка появляется в случае, если было сформировано много запросов от клиента за короткий промежуток времени.

  • 431 Request Header Fields Too Large — Превышена допустимая длина заголовков. Вместо указанного ответа сервер может прервать соединение.

  • 449 Retry With — Запрос на выполнен из-за отсутствия всей информации.

  • 451 Unavailable For Legal Reasons — Доступ к ресурсу закрыт по юридическим причинам.

  • 499 Client Closed Request — Ошибка появляется в nginx, если клиент закрыл соединение при обработке запроса.

Класс 5

Коды 5-го класса сообщают об ошибках выполнения запроса по вине сервера. Ключевое слово: Server Error. Формат: 5хх, где х – десятичное число или ноль. Приведем их.

  • 500 Internal Server Error — Внутренняя ошибка сервера, не относящаяся к ошибкам класса.

  • 501 Not Implemented — Не поддерживаются возможности сервера, необходимые для обработки запроса.

  • 502 Bad Gateway — Сервер, выполняющий функции шлюза или прокси, получил недействительный ответ от старшего по рангу сервера.

  • 503 Service Unavailable — Временно по техническим причинам сервер не имеет возможности для обработки запросов.

  • 504 Gateway Timeout — Сервер, выполняющий функции шлюза или прокси, не дождался ответа от старшего по рангу сервера.

  • 505 HTTP Version Not Supported — Указанная в запросе версия HTTP не поддерживается.

  • 506 Variant Also Negotiates — ошибочная конфигурация, когда выбранный вариант указывает сам на себя.

  • 507 Insufficient Storage — недостаток места для выполнения текущего запроса. Код введен в WebDAV.

  • 508 Loop Detected — Сообщение об отмене операции, поскольку обнаружен бесконечный цикл. Введен в WebDAV.

  • 508 Resource Limit Reached — вариант ошибки 508 в CloudLinux для случая, если исчерпан лимит хостинга.

  • 509 Bandwidth Limit Exceeded — Выдается при превышении ограничений на потребление трафика.

  • 510 Not Extended — Указывает на отсутствие расширения, используемого клиентом.

  • 511 Network Authentication Required — ответ сервера-посредника, указывающий на необходимость авторизации клиента.

  • 520 Unknown Error — Возникает, если сервер CDN не смог обработать ошибку веб-сервера. Нестандартный код CloudFlare.

  • 521 Web Server Is Down — При подключении CDN отклоняется веб-сервер.

  • 522 Connection Timed Out — Возникнет, когда CDN не удалось подключиться к веб-серверу.

  • 523 Origin Is Unreachable — Веб-сервер недоступен.

  • 524 A Timeout Occurred — При истечении времени тайм-аута подключение между сервером CDN и веб-сервером.

  • 525 SSL Handshake Failed — Ошибка SSL между CDN и веб-сервером.

  • 526 Invalid SSL Certificate — Невозможно подтвердить сертификат шифрования веб-сервера. Нестандартный код CloudFlare.

Виртуальный хостинг FREEhost.UA позволяет управлять страницами ошибок с помощью панели управления хостингом. В панели управления можно задать страницы, которые будет видеть пользователь при ошибках 401, 403, 404, 500 и 503. Показывать пользователю понятные страницы ошибок, описывающие причину происходящего, это правило хорошего тона. Не забывайте их настраивать.

Приглашаем Вас воспользоваться виртуальным хостингом FREEhost.UA. Наша техническая поддержка работает 24/7 и всегда готова прийти к Вам на помощь.

ДРУГИЕ СТАТЬИ ПО ТЕМЕ

Спасибо, что выбираете FREEhost.UA