Код состояния HTTP (HTTP status code) — часть первой строки ответа сервера при запросах по протоколу HTTP. Он представляет собой целое число из трёх десятичных цифр. Первая цифра указывает на класс состояния. За кодом ответа обычно следует отделённая пробелом поясняющая фраза на английском языке, которая разъясняет человеку причину именно такого ответа.

1xx: Informational (информационные):

  • 100 Continue Server Code (продолжить)

    100 Continue означает «работу в штатном режиме». Он означает, что пользователем был сделан хороший запрос, и сервер принялся к обработке. Это временный код ответа, имеющий место лишь тогда, когда пользователь ожидает финального ответа от сервера, который происходит только после того, как будет отослан последний пакет данных.

  • 101 Switching Protocols (переключение протоколов)

    Это, наверное, один из самых простых серверных кодов, который означает, что пользователь сделал запрос на переключение типа протокола, используемого на веб-сервере, и сервер дал согласие на это.


2xx: Success (успешно):

  • 200 OK (хорошо)

    Этот код, вероятно, является самым популярным, но при этом самым незаметным ввиду его характера. Он означает, что обмен между пользователем и сервером завершен, и все прошло так, как должно было.

  • 201 Created (создано)

    В результате успешного выполнения запроса был создан новый ресурс. Например, запрос пользователя привел к созданию нового ресурса вроде новой страницы. Сервер-источник должен создать ресурс перед тем, как отправлять код 201. Если ресурс не может быть создан в данный момент, то сервер вместо этого должен отобразить код 202 (accepted).

  • 202 Accepted (принято)

    Запрос был принят на обработку, но она не завершена по каким-либо причинам. Запрос может и не быть выполнен до конца, в зависимости от того, был ли он отклонен в процессе обработки.

  • 203 Non-Authoritative Information (информация не авторитетна)

    Аналогично ответу 200, но в этом случае передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной.

  • 204 No Content (нет содержимого)

    Сервер успешно обработал запрос, но в ответе были переданы только заголовки без тела сообщения. Клиент не должен обновлять содержимое документа, но может применить к нему полученные метаданные.

  • 205 Reset Content (сбросить содержимое)

    Сервер успешно обработал запрос, но при этом не возвращает какой-либо контент. В отличие от 204, этот ответ требует от запрашиваемого обновить документ.

  • 206 Partial Content (частичное содержимое)

    Сервер возвращает лишь часть контента, соответствующего заголовку, посланному клиентом. Обычно он используется расширенными инструментами кэширования, когда пользователь запрашивает лишь небольшую часть контента на странице, и сервер в своем ответе предоставляет данные лишь для этой области на странице.

3xx: Redirection (перенаправление):

  • 300 Multiple Choices (множество выборов)

    В основном, этот код сообщает пользователю о том, что ресурс был перемещен, и сервер отвечает списком доступных альтернативных вариантов, среди которых пользователь может выбрать наиболее подходящий ему ресурс.

  • 301 Moved Permanently (перемещено навсегда)

    Это довольно распространенный пользовательский запрос. Он означает, что запросы для данного ресурса (а также все последующие запросы) должны быть перенаправлены на заданный URL.

  • 302 Found (найдено)

    Этот код сообщает пользователю, что расположение запрашиваемого ресурса временно изменено, и 302 код состояния должен содержать информацию о новом месторасположении, которое пользователь и должен запросить.

  • 303 See Other (смотреть другое)

    Этот код указывает пользователю на то, что запрашиваемый ресурс можно найти по URL, который отличается от указанного в запросе. Это не обязательно означает, что что-то было перемещено, это код лишь предоставляет адрес, по которому следует запрашивать подобный ответ.

  • 304 Not Modified (не изменялось)

    Этот код означает, что пользователь запрашивает документ/ресурс только в том случае, если он подвергался изменениям с момента последнего обновления кэша данного документа.

4xx: Client Error (ошибка клиента):

  • 400 Bad Request (плохой, неверный запрос)

    Запрос не может быть исполнен ввиду синтаксической ошибки.

  • 401 Unauthorized (неавторизован)

    Этот код связан с запросом к ресурсу, который требует авторизации. Ответ 401 указывает на то, что попытка авторизации была отклонена по тем данным, которые предоставил пользователь.

  • 403 Forbidden (запрещено)

    Пользователь пытается осуществить доступ к ресурсу, к которому у него нет доступа, и авторизация не изменит положения.

  • 404 Not Found (не найдено)

    Означает, что запрошенный ресурс не может быть найден, но в будущем – когда он, возможно, там появится, – к нему можно будет осуществить доступ. Также здесь допустимы последующие запросы от клиента. Тем не менее, в большинстве таких случаев применяется код перенаправления из семейства 3хх, и пользователя перенаправляют на альтернативный ресурс или локацию.

  • 405 Method Not Allowed (метод не поддерживается)

    Метод, при помощи которого совершается запрос к ресурсу, не доступен. Другими словами, ошибка возникает при попытке использовать GET на форме, которая требует ввод данных посредством POST, либо использовании метода PUT на ресурсе, который предназначен только для чтения.

  • 408 Request Timeout (истекло время ожидания)

    Время ожидания сервером передачи от клиента истекло.

  • 409 Conflict (конфликт)

    Указывает на то, что запрос не может быть выполнен из-за конфликтного обращения к ресурсу. Вы можете получить такой код при загрузке файла на веб-сервер, где уже имеется более свежая версия этого файла, что приводит к конфликту в системе контроля версий.

  • 410 Gone (удалён)

    Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен.

  • 413 Request Entity Too Large (размер запроса слишком велик)

    Код 413 отображается в тех случаях, когда сервер отказывается обработать запрос по причине слишком большого размера тела запроса.

  • 414 Request-URI Too Large (запрашиваемый URI слишком длинный)

    Этот код отображается, когда сервер не может обработать запрос из-за слишком длинного указанного URL.

  • 415 Unsupported Media Type (неподдерживаемый тип данных)

    Ответ 415 отправляется для указания о том, что сервер заметил, что часть запроса была сделана в неподдерживаемом формате.

  • 429 Too Many Requests (слишком много запросов)

    Этот ответ посылается, если клиент попытался отправить слишком много запросов за короткое время.

  • 431 Request Header Fields Too Large (поля заголовка запроса слишком большие)

    Происходит, когда сервер не собирается обрабатывать запрос, так как какое-то из полей заголовка (или все поля заголовков) слишком большое.

5xx: Server Error (ошибка сервера):

  • 500 Internal Server Error (внутренняя ошибка сервера)

    Данная ошибка говорит о любой внутренней ошибке сервера, которая не входит в рамки остальных ошибок класса.

  • 501 Not Implemented (не реализовано)

    Сервер либо не понимает метод в запросе, либо не поддерживает возможностей, необходимых для обработки запроса.

  • 502 Bad Gateway (плохой, ошибочный шлюз)

    Ответ 502 отображается, когда сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.

  • 503 Server Unavailable (сервер недоступен)

    Сервер временно не имеет возможности обрабатывать запросы по техническим причинам. В основном, это состоянии является временным. Когда этот код может использоваться? Когда сайт пользуется чрезмерным спросом, и сервер не в состоянии обработать все запросы.

  • 504 Gateway Timeout (шлюз не отвечает)

    Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса.

  • 505 HTTP Version Not Supported (версия HTTP не поддерживается)

    Сервер не поддерживает указанную в запросе версию протокола HTTP.