Код состояния HTTP зашифрован в 3-х цифрах. Первая цифра указывает на класс состояния (группа кодов). Вторая и третья цифра – порядковый номер кода ответа.
Код состояния HTTP возвращается сервером. Он является частью первой строки ответа сервера при запросах по протоколу HTTP и указывает на то, был ли успешно выполнен определенный HTTP запрос.
Коды сгруппированы в 5 классов: информационные (1xx), успешные (2xx), перенаправления (3xx), ошибки клиента (4xx) и ошибки сервера (5xx).
Краткая характеристика классов:
Ниже представлена таблица, которая в виде шпаргалки содержит следующую информацию: все цифровые обозначения кодов состояния, название кодов — поясняющая фраза на английском языке с переводом на русский, а также краткое описание каждого ответа сервера.
Группа | Код ответа | Название кода | Описание ответа сервера |
---|---|---|---|
Информационные | 100 | Continue (Продолжай) | Сервер удовлетворен начальными сведениями о запросе, клиент может продолжать пересылать заголовки. Появился в версии HTTP/1.1. |
101 | Switching Protocol (Переключение протоколов) | Сервер предлагает перейти на более подходящий для указанного ресурса протокол; список предлагаемых протоколов сервер обязательно указывает в поле заголовка Upgrade . Если клиента это заинтересует, то он посылает новый запрос с указанием другого протокола. | |
102 | Processing (Идет обработка) | Запрос принят сервером, но на его обработку понадобится длительное время. Этот ответ используется для того, чтобы клиент не разорвал соединение из-за превышения времени ожидания. Клиент при получении такого ответа должен сбросить таймер и дожидаться следующей команды в обычном режиме. Появился в WebDAV. | |
Успешные | 200 | ОК | Успешно обработанный запрос. «Успешность» зависит от метода HTTP, который был запрошен:
|
201 | Created (Создано) | Запрос успешно выполнен и в результате был создан новый ресурс. Этот код обычно присылается в ответ на запрос PUT «ПОМЕСТИТЬ». | |
202 | Accepted (Принято) | Запрос принят, но еще не обработан. Клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс. | |
203 | Non-Authoritative Information (Информация не авторитетна) | Этот код ответа означает, что информация, которая была возвращена, была предоставлена не сервером, а каким-либо другим источником. Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника и поэтому может быть неактуальной. | |
204 | No Content (Нет содержимого) | Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные. Клиент может использовать их для обновления кэшированных заголовков для предыдущих ресурсов. | |
205 | Reset Content (Сбросить содержимое) | Этим кодом сервер обязывает клиента сбросить введенные пользователем данные. Тела сообщения сервер при этом не передает и документ обновлять не обязательно. | |
206 | Partial Content (Частичное содержимое) | Сервер удачно выполнил частичный GET-запрос, возвратив только часть контента. В заголовке Content-Range сервер указывает байтовые диапазоны содержимого. Особое внимание при работе с подобными ответами следует уделить кэшированию. | |
Перенаправления | |||
300 | Multiple Choice (Множественный выбор) | Этот код ответа присылается, когда запрос имеет более чем один из возможных ответов (по типу MIME, по языку или по другим характеристикам). Сервер передает с сообщением список альтернатив, давая возможность сделать выбор клиенту автоматически или пользователю. | |
301 | Moved Permanently (Перемещен на постоянной основе) | Этот код ответа означает, что URI запрашиваемого ресурса был изменен. Новый URI указывается в поле Location заголовка. | |
302 | Found (Найдено); Moved Temporarily (Перемещен временно) | Этот код ответа означает, что запрошенный ресурс временно доступен по другому URI, указанному в поле Location заголовка. | |
303 | See Other (Смотреть другое) | Сервер отправил этот ответ, чтобы направить клиента для получения запрашиваемого ресурса по другому URI с использованием метода GET . Другой URI указывается в поле Location заголовка. | |
304 | Not Modified (Не изменялось) | Этот ответ используется для кэширования. Он сообщает клиенту, что ответ не был изменен. Таким образом, клиент может продолжать использовать ту же кэшированную версию ответа. При этом сообщение сервера не должно содержать тела. | |
305 | Use Proxy (Используй прокси) | Запрос к запрашиваемому ресурсу должен осуществляться через прокси-сервер, URI которого указан в поле Location заголовка. Этот код ответа не поддерживается в основном из соображений безопасности. | |
306 | неиспользуемый | Этот код ответа больше не используется, в настоящее время зарезервирован. | |
307 | Temporary Redirect (Временная переадресация) | Запрашиваемый ресурс на короткое время доступен по другому URI, указанному в поле Location заголовка. Имеет ту же семантику, что и 302 Found код ответа HTTP, за исключением того, что клиент не должен изменять используемый HTTP-метод: если использовался POST в первом запросе, он должен использовать POST и во втором запросе. | |
308 | Permanent Redirect (Постоянная переадресация) | Это означает, что ресурс теперь постоянно находится по другому URI, указанному в поле Location заголовка. Имеет ту же семантику, что и код ответа HTTP 301 Moved Permanently , за исключением того, что клиент не должен изменять используемый HTTP-метод: если использовался POST в первом запросе, он должен использовать POST и во втором запросе. | |
Ошибки клиента | |||
400 | Bad Request (Плохой запрос) | Этот ответ означает, что сервер не смог понять клиентский запрос из-за синтаксической ошибки. | |
401 | Unauthorized (Не авторизован) | Для получения запрошенного ответа требуется аутентификация. Это похоже на 403 ответ, но в этом случае возможна аутентификация. В заголовке ответ должен содержать поле WWW-Authenticate с перечнем условий аутентификации. | |
402 | Payment Required (Требуется оплата) | Этот код ответа зарезервирован для будущего использования. Первоначальная цель создания этого кода заключалась в использовании его для цифровых платежных систем, однако в настоящее время он не используется. | |
403 | Forbidden (Запрещено) | Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Клиент не имеет прав доступа к контенту, поэтому сервер отказывается дать правильный ответ. Наиболее вероятными причинами ограничения может служить попытка доступа к системным ресурсам веб-сервера (например, файлам .htaccess или .htpasswd ) или к файлам, доступ к которым был закрыт с помощью конфигурационных файлов. | |
404 | Not Found (Не найдено) | Сервер не может найти запрашиваемый ресурс. Основная причина — ошибка в написании адреса Web-страницы. Этот код ответа, вероятно, является самым известным из-за его распространенности в Интернете. | |
405 | Method Not Allowed (Метод не поддерживается) | Метод запроса известен серверу, но был отключен и не может быть использован. В ответе сервер должен указать доступные методы в заголовке Allow , разделив их запятой. Два обязательных метода: GET и HEAD никогда не должны быть отключены и не должны возвращать этот код ошибки. | |
406 | Not Acceptable (Недопустимо) | Запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD , то сервер должен вернуть список допустимых характеристик для данного ресурса. | |
407 | Proxy Authentication Required (Требуется аутентификация прокси) | Этот ответ похож на 401 , но здесь проверка подлинности (аутентификация) производится для прокси-сервера. | |
408 | Request Timeout (Истекло время ожидания) | Время ожидания сервером передачи от клиента истекло. Это означает, что сервер хотел бы отключить это неиспользуемое соединение. Обратите внимание, что некоторые серверы просто закрывают соединение без отправки этого сообщения. | |
409 | Conflict (Конфликт) | Этот ответ будет отправлен, когда запрос будет конфликтовать с текущим состоянием сервера. Такое возможно, например, когда два клиента пытаются изменить ресурс с помощью метода PUT . | |
410 | Gone (Удален) | Этот ответ будет отправлен, когда запрашиваемый контент по указанному URL был удален с сервера. Серверу в этом случае неизвестно и местоположение альтернативного документа (например, копии). | |
411 | Length Required (Требуется длина) | Сервер отклонил запрос, потому что поле заголовка Content-Length не определено, а сервер требует его. Такой ответ естественен для запросов типа POST и PUT . Например, если по указанному URI производится загрузка файлов, а на сервере стоит ограничение на их объем. | |
412 | Precondition Failed (Условие ложно) | Клиент указал условные поля в заголовках запроса (например, If-Match и др.), которые сервер не выполняет. | |
413 | Payload Too Large. Ранее — Request Entity Too Large (Запрошен слишком большой объект) | Объект запроса больше ограничений, которые определены на сервере. Сервер может закрыть соединение, чтобы прекратить дальнейшую передачу запроса или вернуть поле заголовка Retry-After с указанием времени, по истечении которого можно повторить аналогичный запрос. | |
414 | URI Too Long. Ранее — Request-URI Too Long (Запрошен слишком большой URI) | Запрошенный клиентом URI слишком длинный для обработки сервером. Такую ошибку можно спровоцировать, например, когда клиент пытается передать длинные параметры через метод GET , а не POST . | |
415 | Unsupported Media Type (Неподдерживаемый тип данных) | Формат запрашиваемых типов данных не поддерживается сервером, поэтому сервер отклоняет запрос. По каким-то причинам сервер отказывается работать с указанным типом данных при данном методе. | |
416 | Range Not Satisfiable. Ранее — Requested Range Not Satisfiable (Диапазон недостижим) | Диапазон, указанный полем заголовка Range в запросе, не может быть выполнен; возможно, что диапазон находится вне размера данных целевого URI и отсутствует поле If-Range . | |
417 | Expectation Failed (Ошибка ожидания) | Этот код ответа означает, что ожидание, указанное полем заголовка Expect запроса, не может быть выполнено сервером. | |
421 | Misdirected Request (Неверно адресованный запрос) | Запрос был перенаправлен на сервер, не способный дать ответ. | |
451 | Unavailable For Legal Reasons (Недоступно по юридическим причинам) | Доступ к ресурсу закрыт по юридическим причинам (например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав). Введено в черновике IETF за авторством Google, при этом код ошибки является отсылкой к роману Рэя Брэдбери «451 градус по Фаренгейту». Был добавлен в стандарт 21 декабря 2015 года. | |
Ошибки сервера | |||
500 | Internal Server Error (Внутренняя ошибка сервера) | Сервер столкнулся с ситуацией, когда он не знает, как ему поступить. Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса. | |
501 | Not Implemented (Не реализовано) | Метод запроса не поддерживается сервером и не может быть обработан. Типичный ответ для случаев, когда сервер не понимает указанный в запросе метод. Единственными методами, которые требуются сервером для поддержки (и, следовательно, не должны возвращать этот код), являются GET и HEAD . | |
502 | Bad Gateway (Плохой шлюз) | Этот ответ об ошибке означает, что сервер, работая в качестве шлюза для получения ответа, необходимого для обработки запроса, получил неверный ответ. Сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера. | |
503 | Service Unavailable (Сервис недоступен) | Сервер не готов обрабатывать запрос. Сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее). Обратите внимание, что вместе с этим ответом следует отправить удобную для пользователя страницу, объясняющую проблему. Эти ответы должны использоваться для временных условий, и HTTP-заголовок Retry-After должен, по возможности, содержать расчетное время до восстановления обслуживания. Веб-мастер также должен следить за заголовками, связанными с кэшированием, которые отправляются вместе с этим ответом, так как эти временные ответы обычно не кэшируются. | |
504 | Gateway Timeout (Шлюз не отвечает) | Этот ответ об ошибке предоставляется, когда сервер действует как шлюз и не может получить ответ вовремя. Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса. | |
505 | HTTP Version Not Supported (Версия HTTP не поддерживается) | Версия протокола HTTP, используемая в запросе, не поддерживается сервером (либо сервер отказывается поддерживать указанную версию). | |
509 | Bandwidth Limit Exceeded (Исчерпана пропускная ширина канала) | Этот код используется при превышении веб-площадкой отведенного ей ограничения на потребление трафика. В данном случае владельцу площадки следует обратиться к своему хостинг-провайдеру. В настоящий момент данный код не описан ни в одном RFC и используется только модулем «bw/limited», входящим в панель управления хостингом cPanel, где и был введен. |
Выбор мастера для ремонта и перетяжки мебели — задача, которая требует вдумчивого подхода. Ведь от…
Выбор идеального хостинга под свой сайт может быть довольно запутанным делом, особенно когда существует так…
Чтобы избегать ошибок, нужно набираться опыта; чтобы набираться опыта, надо делать ошибки Лоуренс Питер
Краткое определение Черного SEO Черное СЕО (или Черная оптимизация) — это любая практика, целью которой…
Получение водительских прав категории C открывает двери к профессиональной деятельности, связанной с управлением грузовыми автомобилями.…