Поиск…


Вступление

В HTTP коды состояния являются машиночитаемым механизмом, указывающим результат ранее выданного запроса. Из RFC 7231, сек. 6 : «Элемент состояния-кода представляет собой трехзначный целочисленный код, дающий результат попытки понять и удовлетворить запрос».

Формальная грамматика позволяет кодам быть чем угодно между 000 и 999 . Однако только значение диапазона от 100 до 599 присваивало значение.

замечания

HTTP / 1.1 определяет число числовых кодов состояния HTTP, которые отображаются в строке состояния - первой строке ответа HTTP - чтобы суммировать то, что клиент должен делать с ответом.

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

На практике не всегда легко выбрать наиболее подходящий код состояния.

500 - внутренняя ошибка сервера

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

Пример строки состояния:

HTTP/1.1 500 Internal Server Error

404 Не Найдено

HTTP 404 Not Found означает, что сервер не смог найти путь, используя URI, запрошенный клиентом.

HTTP/1.1 404 Not Found

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

Например, IIS Microsoft записывает 404.0 (0 является под-статусом) в свои файлы журнала, когда запрошенный файл был удален. Но когда входящий запрос блокируется правилами фильтрации запросов, он записывает 404.5-404.19 в файлы журнала, в соответствии с которым правило блокирует запрос. Более подробную ссылку на код ошибки можно найти в Microsoft Support .

Отказ в доступе к защищенным файлам

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

GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden

Успешный запрос

Отправьте ответ HTTP с кодом состояния 200 чтобы указать успешный запрос. Строка состояния ответа HTTP:

HTTP/1.1 200 OK

Текст состояния OK является только информативным. Тело ответа (полезная нагрузка сообщения) должно содержать представление запрашиваемого ресурса. Если нет представления 201 Нет содержимого.

Отвечая на условный запрос на кешированный контент

Отправьте 304 не измененный статус ответа с сервера в ответ на запрос клиента, содержащий заголовки If-Modified-Since и If-None-Match , если ресурс запроса не изменился.

Например, если запрос клиента на веб-страницу включает заголовок If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT а с тех пор страница не была изменена, ответьте на строку состояния HTTP/1.1 304 Not Modified .

Top 10 Код состояния HTTP

2xx Успех

  • 200 OK - стандартный ответ для успешных запросов HTTP.
  • 201 Создано - запрос выполнен, в результате чего создается новый ресурс.
  • 204 Нет содержимого . Сервер успешно обработал запрос и не возвращает никакого содержимого.

Перенаправление 3xx

  • 304 Not Modified - указывает, что ресурс не был изменен с версии, указанной заголовками запроса If-Modified-Since или If-None-Match .

Ошибка клиента 4xx

  • 400 Bad Request - сервер не может или не будет обрабатывать запрос из-за очевидной ошибки клиента (например, синтаксис неправильного запроса, слишком большой размер, неправильное обращение к сообщениям запроса или маршрутизация ложных запросов).
  • 401 Несанкционированный - аналогичен Запрещенному 403 , но специально для использования, когда требуется аутентификация, и не удалось или еще не предоставлено. Ответ должен включать поле заголовка WWW-Authenticate содержащее вызов, применимый к запрашиваемому ресурсу.
  • 403 Запрещено - запрос был действительным запросом, но сервер отказывается отвечать на него. Пользователь может войти в систему, но не имеет необходимых разрешений для ресурса.
  • 404 Not Found - запрошенный ресурс не найден, но может быть доступен в будущем. Возможны последующие запросы клиента.
  • 409 Конфликт. Указывает, что запрос не может быть обработан из-за конфликта в запросе, например, в конфликте редактирования нескольких одновременных обновлений.

Ошибка сервера 5xx

  • 500 Внутренняя ошибка сервера. Общее сообщение об ошибке, заданное при возникновении непредвиденного состояния и не более подходящее сообщение.


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow