Коды состояния HTTP - шпаргалка
Информационные ответы (1xx)
| Код | Описание | Значение | Версия HTTP |
|---|---|---|---|
| 100 | Continue (Продолжать) | Клиент должен продолжать отправку запроса. Этот промежуточный ответ используется для уведомления клиента о том, что часть его запроса была получена сервером и еще не была отклонена. Клиент должен продолжать отправку оставшейся части запроса или, если запрос уже завершен, игнорировать этот ответ. Сервер должен отправить окончательный ответ после завершения запроса. | Доступно в HTTP/1.1 |
| 101 | Switching Protocols (Переключение протоколов) | Сервер понял запрос клиента и уведомит клиента через заголовок сообщения Upgrade о переходе на другой протокол для завершения запроса. После отправки последней пустой строки этого ответа сервер переключится на протоколы, определенные в заголовке Upgrade. Эту меру следует принимать только тогда, когда переход на новый протокол более выгоден. Например, переход на новую версию HTTP более выгоден, чем на старую. | Доступно в HTTP/1.1 |
Успешные ответы (2xx)
| Код | Описание | Значение | Версия HTTP |
|---|---|---|---|
| 200 | OK (Успешно) | Запрос прошел успешно. Значение успеха варьируется в зависимости от метода запроса. - GET: ресурс был извлечен и возвращен клиенту в теле ответа. - HEAD: заголовки сущности возвращены клиенту в качестве заголовка ответа. - POST: после обработки данных сервером соответствующий ресурс возвращен клиенту в теле ответа. - TRACE: запрос, полученный сервером, возвращен клиенту в теле ответа. | Доступно в HTTP/0.9 |
| 201 | Created (Создано) | Запрос выполнен успешно, и на его основе создан новый ресурс. Обычно это код ответа, получаемый методом PUT. | Доступно в HTTP/0.9 |
| 202 | Accepted (Принято) | Сервер принял запрос, но еще не обработал его. Запрос может быть выполнен, а может и нет. В асинхронных операциях нет более удобного способа, чем отправка этого кода. Цель возврата 202 — позволить серверу принимать запросы для длительных процессов без удержания клиента до завершения. Ответ 202 должен содержать информацию о текущем состоянии обработки и указатель на монитор состояния. | Доступно в HTTP/0.9 |
| 203 | Non-Authoritative Information (Неавторитетная информация) | Сервер успешно обработал запрос, но возвращаемая метаинформация заголовка сущности взята из локальной или сторонней копии, а не с исходного сервера. В противном случае наиболее уместен код 200. | HTTP/0.9 и 1.1 |
| 204 | No Content (Нет содержимого) | Содержимого в ответе нет, только заголовки. Заголовки могут быть полезны. Пользовательские агенты могут обновлять кэшированную информацию на основе новых заголовков. | Доступно в HTTP/0.9 |
| 205 | Reset Content (Сбросить содержимое) | Указывает пользовательскому агенту сбросить представление документа окна, отправившего запрос. | Доступно в HTTP/1.1 |
| 206 | Partial Content (Частичное содержимое) | Этот код используется, когда клиент загружает файлы частями, используя заголовок Range. | Доступно в HTTP/1.1 |
Перенаправления (3xx)
| Код | Описание | Значение | Версия HTTP |
|---|---|---|---|
| 300 | Multiple Choice (Множественный выбор) | Существует несколько возможных ответов на запрос, и пользователь должен выбрать один из них. У сервера нет стандартов для автоматического выбора за пользователя. | HTTP/1.0 и позже |
| 301 | Moved Permanently (Перемещено навсегда) | Этот код означает, что URI запрошенного ресурса изменен навсегда. Новый URL будет указан в заголовке Location ответа. |
Доступно в HTTP/0.9 |
| 302 | Found (Найдено / Временно перемещено) | Этот код означает, что URI запрошенного ресурса изменен временно. Клиент должен продолжать использовать этот URI для будущих запросов. Новый URL указан в заголовке Location ответа. |
Доступно в HTTP/0.9 |
| 303 | See Other (Смотреть другое) | Сервер отправляет этот ответ, чтобы направить клиента к использованию метода GET для доступа к другому URI. | HTTP/0.9 и 1.1 |
| 304 | Not Modified (Не изменялось) | Сообщает клиенту, что запрошенный контент не менялся с момента последнего доступа. Клиент может получить ресурс прямо из кэша браузера. | Доступно в HTTP/0.9 |
| 305 | Use Proxy (Использовать прокси) | Запрошенный ресурс должен быть доступен через прокси. По соображениям безопасности этот код не имеет широкой поддержки. | Доступно в HTTP/1.1 |
| 306 | unused (не используется) | Этот код больше не используется; он применялся в старых версиях спецификации HTTP 1.1. | Доступно в HTTP/1.1 |
| 307 | Temporary Redirect (Временное перенаправление) | Сервер отправляет этот ответ, чтобы направить клиента к использованию того же метода для доступа к другому URI. Имеет ту же семантику, что и 302, но метод (GET, POST) должен быть неизменным. | Доступно в HTTP/1.1 |
| 308 | Permanent Redirect (Постоянное перенаправление) | Ресурс будет постоянно находиться по другому URI. Имеет ту же семантику, что и 301, но метод (GET, POST) должен быть неизменным. | HTTPbis (Экспериментальный проект) |
Ошибки клиента (4xx)
| Код | Описание | Значение | Версия HTTP |
|---|---|---|---|
| 400 | Bad Request (Плохой запрос) | Сервер не может прочитать запрос из-за синтаксической ошибки в нем. | Доступно в HTTP/0.9 |
| 401 | Unauthorized (Не авторизован) | Для доступа к контенту требуется аутентификация. В отличие от 403, после ошибки 401 можно пройти проверку, введя правильный логин и пароль. | Доступно в HTTP/0.9 |
| 402 | Payment Required (Требуется оплата) | Зарезервировано для будущего использования. Первоначально создано для систем цифровых платежей, но пока не используется. | HTTP/0.9 и 1.1 |
| 403 | Forbidden (Запрещено) | У клиента нет прав доступа к контенту, и сервер отклоняет запрос. | Доступно в HTTP/0.9 |
| 404 | Not Found (Не найдено) | Сервер не может найти запрошенный ресурс. Это самый распространенный код состояния в вебе. | Доступно в HTTP/0.9 |
| 405 | Method Not Allowed (Метод не поддерживается) | Метод запроса запрещен сервером. Согласно RFC2616, методы GET и HEAD не могут быть запрещены. |
Доступно в HTTP/1.1 |
| 406 | Not Acceptable (Неприемлемо) | После согласования содержимого сервером не найдено подходящего контента для отправки клиенту. | Доступно в HTTP/1.1 |
| 407 | Proxy Authentication Required (Требуется идентификация прокси) | Аналогично 401, но аутентификация требуется через прокси-сервер. | Доступно в HTTP/1.1 |
| 408 | Request Timeout (Тайм-аут запроса) | Клиент не завершил отправку запроса в течение времени, которое сервер был готов ждать. Сервер разорвет соединение. | Доступно в HTTP/1.1 |
| 409 | Conflict (Конфликт) | Запрос конфликтует с текущим состоянием сервера. | Доступно в HTTP/1.1 |
| 410 | Gone (Удалено) | Запрошенный ресурс был удален навсегда. | Доступно в HTTP/1.1 |
| 411 | Length Required (Требуется длина) | Сервер отклоняет запрос, так как требует заголовок Content-Length, который клиент не прислал. |
Доступно в HTTP/1.1 |
| 412 | Precondition Failed (Условие ложно) | Сервер не выполнил предварительные условия, заданные клиентом в заголовках запроса. | Доступно в HTTP/1.1 |
| 413 | Request Entity Too Large (Размер запроса слишком велик) | Тело запроса превышает ограничение сервера; сервер может закрыть соединение и вернуть заголовок Retry-After. |
Доступно в HTTP/1.1 |
| 414 | Request-URI Too Long (URI запроса слишком длинный) | URI в запросе клиента слишком длинный для обработки сервером. | Доступно в HTTP/1.1 |
| 415 | Unsupported Media Type (Неподдерживаемый тип данных) | Сервер не поддерживает формат данных запроса и отклоняет его. | Доступно в HTTP/1.1 |
| 416 | Requested Range Not Satisfiable (Диапазон не достижим) | Заголовок Range в запросе не может быть выполнен (выходит за пределы ресурса). |
Доступно в HTTP/1.1 |
| 417 | Expectation Failed (Ожидание не удалось) | Сервер не может удовлетворить ожидания, указанные в заголовке Expect. |
Доступно в HTTP/1.1 |
Ошибки сервера (5xx)
| Код | Описание | Значение | Версия HTTP |
|---|---|---|---|
| 500 | Internal Server Error (Внутренняя ошибка сервера) | Сервер столкнулся с неизвестной неразрешимой проблемой. | Доступно в HTTP/0.9 |
| 501 | Not Implemented (Не реализовано) | Сервер не поддерживает метод запроса (например, POST или PUT). Только GET и HEAD обязательны для реализации по RFC2616. |
Доступно в HTTP/0.9 |
| 502 | Bad Gateway (Плохой шлюз) | Сервер, работая как шлюз, получил недействительный ответ от вышестоящего сервера. | Доступно в HTTP/0.9 |
| 503 | Service Unavailable (Сервис недоступен) | Сервер временно не может обрабатывать запросы (перегрузка или обслуживание). Это временно. Можно использовать заголовок Retry-After:. |
Доступно в HTTP/0.9 |
| 504 | Gateway Timeout (Шлюз не отвечает) | Сервер, работая как шлюз, не получил вовремя ответ от вышестоящего сервера. | Доступно в HTTP/1.1 |
| 505 | HTTP Version Not Supported (Версия HTTP не поддерживается) | Сервер не поддерживает версию протокола HTTP из запроса клиента. | Доступно в HTTP/1.1 |