
Ответы сервера
Ответ сервера на запрос клиента состоит из трех частей. Первая строка - это строка ответа сервера, которая содержит номер версии HTTP, число, обозначающее состояние запроса, и краткое описание состояния. После строки ответа следует информация заголовка и тело содержимого, если таковое имеется.
Кодысостояния
Протокол HTTP определяет набор кодов состояния, которые должны быть понятны и клиенту и серверу, чтобы те могли успешно передавать сообщения. Коды разбиты на категории, перечисленные в ниже.
Информационные |
100 - 199 |
Сообщения конкретных приложений |
Успешные |
200 - 299 |
Запрос успешно обработан |
Перенаправление |
300 - 399 |
Для обработки запроса требуются дополнительные действия клиента. Обычно они выполняются без участия пользователя |
Ошибка клиента |
400 - 499 |
Проблемы на стороне клиента |
Ошибка сервера |
500 - 599 |
Проблемы на стороне сервера |
Каждый код состояния HTTP представляет собой число, после которого следует текстовая строка, содержащая дополнительную метаинформацию. В таблице приведены коды состояния и их описания. Помимо кодов состояния, включенных в спецификации HTTP, приложения способны определять свои коды состояния.
200 |
OK |
Нет ошибки, запрос успешно обработан |
201 |
Created |
Выполнена команда POST |
202 |
Accepted |
Получен асинхронный запрос: он уже получен, но не обязательно обработан |
204 |
No Content |
Запрос успешно обработан, но клиенту нечего отобразить. Это иногда полезно в качестве метаинформации для ответов, которые не нужно показывать пользователю |
300 |
Multiple Choices |
Требуемый ресурс доступен из многих мест. В ответе возвращается список альтернатив. Предпочтительный выбор сервера включен в поле Location ответа. |
301 |
Moved Permanently |
Требуемый URL перемещен на новый URL (указанный в поле Location ответа). Все последующие ссылки на этот ресурс должны использовать новый URL. |
302 |
Moved Temporarily |
Требуемый URL временно перемещен на новый URL (указанный в поле Location ответа). Последующие ссылки на этот ресурс должны использовать старый URL |
304 |
Not Modified |
Выполнена команда «условный GET», однако, документ не изменялся со времени, указанного в поле If-Modified-Since |
400 |
Bad Request |
Запрос не распознан. Клиенту следует послать исправленный запрос |
401 |
Unauthorized |
Если запрос был анонимным, то его следует аутентифицировать. Если запрос был аутентифицирован, то это — отказ в доступе |
403 |
Forbidden |
Сервер отказывается обработать запрос. Обычная причина — нарушение прав доступа |
404 |
Not found |
Сервер не нашел указанный URL |
500 |
Internal Server Error |
Произошла непредвиденная ошибка сервера |
501 |
Not Implemented |
Сервер не поддерживает этот запрос |
502 |
Bad Gateway |
Прокси-сервер (или шлюз) получил неправильный ответ от сервера, к которому он подсоединен |
503 |
Service Unavailable |
Сервер временно недоступен или отказывается обработать запрос. Обычная причина — перегрузка сервера или его обслуживание. |