Руководство по HTTP. Коды статусов.

Код статуса представляет собой ответ сервера, который состоит из трёх цифр. Первая определяет класс ответа, а две другие указывают конкретный ответ.

Существует пять основных категорий кодов статусов. Все они приведены ниже:

Код и описание
1 1xx: Информационное

Означает, что запрос был успешно получен и идёт его обработка.

2 2xx: Успешное выполнение
Запрос был успешно получен, понят и принят.
3 3xx: Перенаправление                                      Последующие действия должны быть предприняты для выполнения запроса.
4 4xx: Ошибка на стороне клиент

Запрос содержит синтаксическую ошибку, либо не корректен.

5 5xx: Ошибка на стороне сервера
Сервер не может выполнить обработать корректный запрос.

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


1ХХ: Информационные

Сообщение Описание
100 Continue Только часть запроса была получена сервером, но на данный момент запрос не был отклонён. Клиент должен продолжать запрос.
101 Switching Protocols Сервер выбирает протокол.

2ХХ: Успешное выполнение

Сообщение Описание
200 OK Запрос успешен
201 Created Запрос выполнен, новый ресурс создан.
202 Accepted Запрос принят, но обработка не завершена.
203 Non-authoritative Information Информация в заголовке получена из локальной или сторонней копии, а не от оригинального сервера.
204 No Content Код статуса и заголовок переданы в ответе, но данные отсутствуют.
205 Reset Content Браузер должен очистить форму для этой транзакции для дополнительного ввода.
206 Partial Content Сервер возвращает часть данных. Используется для ответа на запрос, содержащий заголовок Content-Range.

3ХХ: Перенаправление

Сообщение Описание
300 Multiple Choices Список ссылок. Пользователь может выбрать ссылку и перейти к локации. Максимальное количество ссылок – 5.
301 Moved Permanently Запрашиваемая страница была перенесена на новую URL.
302 Found Запрашиваемая страница была временно перенесена на новую URL.
303 See Other Запрашиваемая страница может быть найдена по другой URL.
304 Not Modified Код ответа для заголовка If-Modifier-Since или If-None-Match, где URL не была изменена с крайней даты обновления.
305 Use Proxy Доступ к запрашиваемой странице должен быть запрошен через прокси, который указан в заголовке Location.
306 Unused Данный код использовался в предыдущей версии, но на данный момент он не используется, а сам код был зарезервирован.
307 Temporary Redirect Запрашиваемая страница была временно перенесена на новую URL.

4ХХ: Ошибка на стороне клиента

Сообщение Описание
400 Bad Request Сервер не понял запрос.
401 Unauthorized Запрашиваемая страница требует  имя пользователя и пароль.
402 Payment Required На данный момент клиент не может использовать данный код.
403 Forbidden Доступ к запрашиваемой странице запрещён.
404 Not Found Сервер не может найти запрашиваемую страницу.
405 Method Not Allowed Метод, указанный в запросе, является недопустимым.
406 Not Acceptable Сервер генерирует ответ, который не может быть принят клиентом.
407 Proxy Authentication Required Клиент должен авторизоваться с помощью прокси-сервера прежде чем запрос сможет быть обработан.
408 Request Timeout Запрос длился дольше, чем сервер был готов ждать.
409 Conflict Запрос не может быть завершён из-за конфликта.
410 Gone Запрашиваемая страница больше недоступна.
411 Length Required Элемент “Content-Length” не определён. Сервер не может принять запрос без данного элемента.
412 Precondition Failed Сервер признал предусловия запроса ошибочными.
413 Request Entity Too Large Сервер не примет данный запрос, так как тело запроса слишком большое.
414 Request-url Too Long Сервер не примет данный запроса, так как URL слишком большая (длинная).
415 Unsupported Media Type Север не примет данный запрос, так как данный тип медиа файла не поддерживается.
416 Requested Range Not Satisfiable Запрашиваемый диапазон байтов недоступен и находится за пределами диапазона.
417 Expectation Failed Ожидания, переданные в заголовке запроса не могут быть удовлетворены данным сервером.

5ХХ: Ошибка на стороне сервера

Сообщение Описание
500 Internal Server Error Запрос не выполнен. Сервер попал в непредвиденные условия.
501 Not Implemented Запрос не выполнен. Сервер не поддерживает запрашиваемый функционал.
502 Bad Gateway Запрос не выполнен. Сервер получил недоступный запрос от следующего сервера.
503 Service Unavailable Запрос не выполнен. На данный момент сервер перегружается, или не работает.
504 Gateway Timeout Соединение закрыто по времени.
505 HTTP Version Not Supported Сервер не поддерживает данную версию протокола HTTP.

На этом мы заканчиваем изучение код статуса протокола HTTP.
В следующей статье мы рассмотрим поля заголовка (header fields).