Код состояния HTTP может указывать на успешность или неуспешность запроса. Код состояния HTTP также может отображать точную причину, по которой запрос не был успешным.
В данной статье приведены основные коды ответа HTTP cервера.
Коды сгруппированы в 5 классов:
- Информационные 100 — 199
- Успешные 200 — 299
- Перенаправления 300 — 399
- Клиентские ошибки 400 — 499
- Серверные ошибки 500 — 599
1xx — Информационные
- 100 Continue. Этот промежуточный ответ указывает, что запрос успешно принят и клиент может продолжать присылать запросы либо проигнорировать этот ответ, если запрос был завершён.
- 101 Switching Protocol Этот код присылается в ответ на запрос клиента, содержащий заголовок Upgrade:, и указывает, что сервер переключился на протокол, который был указан в заголовке. Эта возможность позволяет перейти на несовместимую версию протокола и обычно не используется.
- 102 Processing Этот код указывает, что сервер получил запрос и обрабатывает его, но обработка ещё не завершена.
- 103 Early Hints В ответе сообщаются ресурсы, которые могут быть загружены заранее, пока сервер будет подготавливать основной ответ.
2xx — Успешные
- 200 OK Запрос успешно обработан.
- 201 Created Запрос успешно выполнен и в результате был создан ресурс.
- 202 Accepted Запрос принят, но ещё не обработан. Не поддерживаемо, т.е., нет способа с помощью HTTP отправить асинхронный ответ позже, который будет показывать итог обработки запроса. Это предназначено для случаев, когда запрос обрабатывается другим процессом или сервером, либо для пакетной обработки.
- 203 Non-Authoritative Information Этот код ответа означает, что информация, которая возвращена, была предоставлена не от исходного сервера, а из какого-нибудь другого источника. Во всех остальных ситуациях более предпочтителен код ответа 200 OK.
- 204 No Content Нет содержимого для ответа на запрос, но заголовки ответа, которые могут быть полезны, присылаются. Клиент может использовать их для обновления кешированных заголовков полученных ранее для этого ресурса.
- 205 Reset Content Этот код присылается, когда запрос обработан, чтобы сообщить клиенту, что необходимо сбросить отображение документа, который прислал этот запрос.
- 206 Partial Content Этот код ответа используется, когда клиент присылает заголовок диапазона, чтобы выполнить загрузку отдельно, в несколько потоков.
3xx — Сообщения о перенаправлениях
- 300 Multiple Choice Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов. И User-agent или пользователь должен выбрать один из ответов. Не существует стандартизированного способа выбора одного из полученных ответов.
- 301 Moved Permanently Этот код ответа значит, что URI запрашиваемого ресурса был изменён. Возможно, новый URI будет предоставлен в ответе.
- 302 Found Этот код ответа значит, что запрошенный ресурс временно изменён. Новые изменения в URI могут быть доступны в будущем. Таким образом, этот URI, должен быть использован клиентом в будущих запросах.
- 303 See Other Этот код ответа присылается, чтобы направлять клиента для получения запрашиваемого ресурса в другой URI с запросом GET.
- 304 Not Modified Используется для кеширования. Это код ответа значит, что запрошенный ресурс не был изменён. Таким образом, клиент может продолжать использовать кешированную версию ответа.
- 305 Use Proxy Это означает, что запрошенный ресурс должен быть доступен через прокси. Этот код ответа в основном не поддерживается из соображений безопасности.
- 306 Switch Proxy Больше не использовать. Изначально подразумевалось, что » последующие запросы должны использовать указанный прокси.»
- 307 Temporary Redirect Сервер отправил этот ответ, чтобы клиент получил запрошенный ресурс на другой URL-адрес с тем же методом, который использовал предыдущий запрос.
- 308 Permanent Redirect Это означает, что ресурс теперь постоянно находится в другом URI, указанном в заголовке Location: HTTP Response.
4xx — Клиентские
- 400 Bad Request Этот ответ означает, что сервер не понимает запрос из-за неверного синтаксиса.
- 401 Unauthorized Для получения запрашиваемого ответа нужна аутентификация. Статус похож на статус 403, но,в этом случае, аутентификация возможна.
- 402 Payment Required Этот код ответа зарезервирован для будущего использования. Первоначальная цель для создания этого когда была в использовании его для цифровых платёжных систем(на данный момент не используется).
- 403 Forbidden У клиента нет прав доступа к содержимому, поэтому сервер отказывается дать надлежащий ответ.
- 404 Not Found Сервер не может найти запрашиваемый ресурс. Код этого ответа, наверно, самый известный из-за частоты его появления в вебе.
- 405 Method Not Allowed Сервер знает о запрашиваемом методе, но он был деактивирован и не может быть использован.
- 406 Not Acceptable Этот ответ отсылается, когда веб сервер после выполнения server-driven content negotiation, не нашёл контента, отвечающего критериям, полученным из user agent.
- 407 Proxy Authentication Required Этот код ответа аналогичен коду 401, только аутентификация требуется для прокси сервера.
- 408 Request Timeout Ответ с таким кодом может прийти, даже без предшествующего запроса. Он означает, что сервер хотел бы отключить это неиспользуемое соединение.
- 409 Conflict Этот ответ отсылается, когда запрос конфликтует с текущим состоянием сервера.
- 410 Gone Этот ответ отсылается, когда запрашиваемый контент удалён с сервера.
- 411 Length Required Запрос отклонён, потому что сервер требует указание заголовка Content-Length, но он не указан.
- 412 Precondition Failed Клиент указал в своих заголовках условия, которые сервер не может выполнить.
- 413 Request Entity Too Large Размер запроса превышает лимит, объявленный сервером.
- 414 Request-URI Too Long URI запрашиваемый клиентом слишком длинный для того, чтобы сервер смог его обработать.
- 415 Unsupported Media Type Медиа формат запрашиваемых данных не поддерживается сервером, поэтому запрос отклонён.
- 416 Requested Range Not Satisfiable Диапазон указанный заголовком запроса Range не может быть выполнен; возможно, он выходит за пределы переданного URI
- 417 Expectation Failed Этот код ответа означает, что ожидание, полученное из заголовка запроса Expect, не может быть выполнено сервером.
- 418 I’m a teapot Сообщает о том, что сервер не может приготовить кофе, потому что он чайник. Эта ошибка ссылается на Hyper Text Coffee Pot Control Protocol (гипертекстовый протокол кофейников) который был первоапрельской шуткой в 1998 году. У Google есть страница которая отдает 418 код.
5xx — Серверные
- 500 Internal Server Error Сервер столкнулся с ситуацией, которую он не знает как обработать.
- 501 Not Implemented Метод запроса не поддерживается сервером и не может быть обработан.
- 502 Bad Gateway Эта ошибка означает что сервер, во время работы в качестве шлюза для получения ответа, нужного для обработки запроса, получил недействительный (недопустимый) ответ.
- 503 Service Unavailable Сервер не готов обрабатывать запрос. Зачастую причинами являются отключение сервера или то, что он перегружен. Обратите внимание, что вместе с этим ответом удобная для пользователей(user-friendly) страница должна отправлять объяснение проблемы.
- 504 Gateway Timeout Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя.
- 505 HTTP Version Not Supported HTTP-версия, используемая в запросе, не поддерживается сервером.