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

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

Английское название кода состояния HTTP —HTTP Status Code。

Ниже приведены распространённые коды состояния HTTP:

  • 1xx (информационные коды состояния): означает, что полученный запрос обрабатывается.
  • 2xx (успешные коды состояния): означает, что запрос был обработан нормально.
  • 3xx (Коды состояния перенаправления): Для завершения этого запроса требуются дальнейшие операции.
  • 4xx (Коды состояния ошибки клиента): Указывает, что запрос содержит синтаксическую ошибку или не может быть выполнен.
  • 5xx (Коды состояния ошибки сервера): Указывает, что сервер столкнулся с ошибкой при обработке запроса.

Классификация кодов состояния HTTP

Коды состояния HTTP состоят из трёх десятичных цифр, и первая десятичная цифра определяет тип кода состояния. Ответы делятся на пять категорий: информационные ответы (100–199), успешные ответы (200–299), перенаправления (300–399), ошибки клиента (400–499) и ошибки сервера (500–599):

Категория Описание категории
1** Информационный — сервер получил запрос и требует, чтобы запрашивающая сторона продолжила выполнение операции.
2** Успешный — операция была успешно получена и обработана.
3** Перенаправление — для завершения запроса требуются дальнейшие операции.
4** Ошибка клиента — запрос содержит синтаксическую ошибку или не может быть выполнен.
5** Ошибка сервера — сервер столкнулся с ошибкой при обработке запроса.

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

Код состояния Название кода состояния на английском языке Описание на китайском языке
100 Continue Продолжение. Клиент должен продолжить свой запрос.
101 Переключение протоколов Переключение протоколов. Сервер переключает протоколы согласно запросу клиента. Сервер может переключиться только на протокол более высокого уровня, например на новую версию протокола HTTP.
200 ОК Запрос выполнен успешно. Обычно используется для запросов GET и POST.
201 Создано Создано. Запрос выполнен успешно, и был создан новый ресурс.
202 Принято Принято. Запрос был принят, но обработка ещё не завершена.
203 Неавторитетная информация Неавторитетная информация. Запрос выполнен успешно. Однако возвращённая метаинформация получена не от исходного сервера, а от копии.
204 Нет содержимого Нет содержимого. Сервер успешно обработал запрос, но не вернул содержимое. Без обновления веб-страницы это гарантирует, что браузер продолжит отображать текущий документ.
205 Сброс содержимого Сброс содержимого. Сервер успешно обработал запрос, и терминал пользователя (например, браузер) должен сбросить представление документа. Этот код возврата можно использовать для очистки полей формы браузера.
206 Частичное содержимое Частичное содержимое. Сервер успешно обработал частичный GET-запрос.
300 Множественный выбор Множественный выбор. Запрашиваемый ресурс может быть доступен в нескольких местоположениях. Может быть возвращён список характеристик и адресов ресурса, чтобы терминал пользователя (например, браузер) мог из него выбрать.
301 Перемещено навсегда Перемещено навсегда. Запрашиваемый ресурс был навсегда перемещён на новый URI. Возвращаемая информация включает новый URI, и браузер автоматически перенаправится на новый URI. Любые новые запросы в будущем должны использовать новый URI вместо старого.
302 Найдено Временно перемещено. Аналогично 301. Но ресурс перемещён только временно. Клиент должен продолжать использовать исходный URI.
303 Смотрите другое Смотрите другое. Аналогично 301. Для просмотра используйте GET- и POST-запросы.
304 Не изменено Не изменено. Запрошенный ресурс не был изменён. Когда сервер возвращает этот код состояния, он не возвращает никаких ресурсов. Клиенты обычно кэшируют запрошенные ресурсы и предоставляют заголовок, указывающий, что клиент хочет, чтобы возвращались только ресурсы, изменённые после указанной даты.
305 Использовать прокси Использовать прокси. Доступ к запрошенному ресурсу должен осуществляться через прокси-сервер.
306 Не используется Устаревший код состояния HTTP
307 Временное перенаправление Временное перенаправление. Аналогично 302. Перенаправление с использованием GET-запроса.
400 Некорректный запрос Клиентский запрос содержит синтаксическую ошибку, которую сервер не может понять.
401 Не авторизован Запрос требует аутентификации пользователя.
402 Требуется оплата Зарезервировано для будущего использования.
403 Запрещено Сервер понимает запрос клиента, но отказывается его выполнять.
404 Не найдено Сервер не может найти ресурс (веб-страницу) по запросу клиента. С помощью этого кода разработчики сайтов могут настроить собственную страницу с сообщением "Запрашиваемый ресурс не найден".
405 Метод не разрешён Метод в запросе клиента запрещён.
406 Неприемлемо Сервер не может выполнить запрос на основе характеристик содержимого запроса клиента.
407 Требуется аутентификация прокси Запрос требует аутентификации на прокси-сервере. Аналогично 401, но запрашивающий должен использовать прокси для авторизации.
408 Время ожидания запроса истекло Сервер слишком долго ждал, пока клиент отправит запрос, и время ожидания истекло.
409 Конфликт Сервер может вернуть этот код при завершении PUT-запроса клиента. При обработке запроса сервером возник конфликт.
410 Удалён Ресурс, запрошенный клиентом, больше не существует. Код 410 отличается от 404. Если ресурс существовал ранее, но был безвозвратно удалён, можно использовать код 410. Веб-дизайнеры могут использовать код 301, чтобы указать новое расположение ресурса.
411 Требуется длина Сервер не может обработать информацию запроса, отправленную клиентом, без Content-Length.
412 Предварительное условие не выполнено Предварительные условия в информации запроса клиента неверны.
413 Сущность запроса слишком велика Поскольку сущность запроса слишком велика, сервер не может её обработать и поэтому отклоняет запрос. Чтобы предотвратить постоянные запросы от клиента, сервер может закрыть соединение. Если сервер лишь временно не может обработать запрос, будет включён заголовок ответа Retry-After.
414 Request-URI слишком длинный Запрошенный URI слишком длинный (URI обычно является URL), и сервер не может его обработать.
415 Неподдерживаемый тип медиа Сервер не может обработать медиаформат, прилагаемый к запросу.
416 Запрошенный диапазон не может быть удовлетворён Диапазон, запрошенный клиентом, недопустим.
417 Ожидание не выполнено (ожидаемый сбой) Сервер не может обеспечить ожидаемое поведение, указанное в поле Expect заголовка запроса.
418 Я — чайник Код состояния 418 на самом деле является первоапрельской шуткой. Он определён в RFC 2324 — шуточном документе о протоколе Hyper Text Coffee Pot Control Protocol (HTCPCP). В этой шутке код состояния 418 был добавлен в протокол HTTP в качестве шутки.
500 Внутренняя ошибка сервера Внутренняя ошибка сервера, невозможно выполнить запрос.
501 Не реализовано Сервер не поддерживает запрошенную функциональность и не может выполнить запрос.
502 Плохой шлюз Когда сервер, выступающий в роли шлюза или прокси, пытается выполнить запрос, он получает неверный ответ от удалённого сервера.
503 Сервис недоступен Из-за перегрузки или системного обслуживания сервер временно не может обработать запрос клиента. Продолжительность задержки может быть указана в информации заголовка Retry-After сервера.
504 Тайм-аут шлюза Сервер, действующий как шлюз или прокси, не получил запрос от вышестоящего сервера вовремя.
505 Версия HTTP не поддерживается Сервер не поддерживает версию протокола HTTP, использованную в запросе, и не может завершить обработку.
Другие расширения