Содержание

    Список статус-кодов HTTP: Полное руководство и примеры

    Полный список HTTP кодов состояния с подробными объяснениями. Мы собрали все 96 кодов ответа HTTP (63 стандартных и 33 пользовательских), чтобы помочь вам лучше понять их назначение и правильное использование в веб-разработке.
    Коды 1xx
    100 ContinueСервер получил первоначальную часть запроса и ожидает оставшуюся.
    101 Switching ProtocolsКлиент запросил переключение протокола, и сервер выполняет это изменение.
    102 ProcessingСервер принял запрос, но обработка занимает больше времени.
    103 Early HintsСервер отправляет заголовки заранее, прежде чем полный ответ будет готов.
    Коды 2xx
    200 OKЗапрос был успешно обработан, и сервер предоставил запрашиваемые данные.
    201 CreatedРесурс был успешно создан. Сервер включает заголовок Location с адресом созданного ресурса.
    202 AcceptedЗапрос был принят, но обработка будет завершена позже. Ответ может содержать дополнительную информацию о статусе.
    203 Non-Authoritative InformationОтвет содержит информацию, полученную из стороннего источника, а не с основного сервера.
    204 No ContentСервер успешно обработал запрос, но не возвращает содержимого. Браузер не должен обновлять текущий документ.
    205 Reset ContentКлиент должен сбросить форму ввода, использованную в текущем взаимодействии.
    206 Partial ContentСервер отправляет только часть запрашиваемого ресурса, как указано в заголовке Content-Range.
    207 Multi-StatusОтвет содержит несколько независимых кодов состояния для различных частей запроса.
    208 Already ReportedЭлемент уже был перечислен ранее в том же ответе.
    218 This is fineНеофициальный код, указывающий на то, что сервер успешно обработал запрос, но с незначительными проблемами.
    226 IM UsedСервер завершил GET-запрос и использовал один или несколько алгоритмов преобразования ресурсов.
    Коды 3xx
    300 Multiple ChoicesЗапрашиваемый ресурс доступен в нескольких вариантах. Сервер может предоставить список возможных опций.
    301 Moved PermanentlyРесурс был навсегда перемещен на новый адрес, указанный в заголовке Location.
    302 FoundРесурс временно доступен по другому адресу, но старый URL может быть использован снова в будущем.
    303 See OtherРесурс доступен по другому адресу, указанному в заголовке Location.
    304 Not ModifiedРесурс не был изменен с момента последнего запроса, используется кэшированная версия.
    305 Use ProxyДоступ к ресурсу возможен только через указанный прокси-сервер.
    306 Switch ProxyЭтот код зарезервирован, но не используется в современных реализациях HTTP.
    307 Temporary RedirectРесурс был временно перемещен, но метод запроса должен остаться неизменным.
    308 Permanent RedirectРесурс был навсегда перемещен на новый URL, и метод запроса должен быть сохранен.
    Коды 4xx
    html 400 Bad RequestЗапрос некорректен из-за синтаксической ошибки.
    401 UnauthorizedТребуется аутентификация пользователя для доступа к ресурсу.
    402 Payment RequiredДля доступа к ресурсу требуется оплата.
    403 ForbiddenДоступ к ресурсу запрещен сервером.
    404 Not FoundЗапрашиваемый ресурс не найден.
    405 Method Not AllowedМетод запроса не поддерживается сервером для этого ресурса.
    406 Not AcceptableФормат ответа сервера не соответствует запросу клиента.
    407 Proxy Authentication RequiredТребуется аутентификация через прокси-сервер.
    408 Request TimeoutВремя ожидания запроса истекло; соединение было закрыто.
    409 ConflictЗапрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.
    410 GoneЗапрашиваемый ресурс больше недоступен и не будет возвращен.
    411 Length RequiredСервер требует заголовок Content-Length.
    412 Precondition FailedОдно из условий в запросе не было выполнено.
    413 Payload Too LargeРазмер запроса превышает допустимый лимит сервера.
    414 URI Too LongЗапрашиваемый URI слишком длинный для обработки сервером.
    415 Unsupported Media TypeФормат данных запроса не поддерживается сервером.
    416 Range Not SatisfiableЗапрашиваемый диапазон не может быть обработан сервером.
    417 Expectation FailedСервер не может удовлетворить значение заголовка Expect.
    418 I’m a TeapotСервер отказывается варить кофе, потому что он чайник.
    419 Page ExpiredСессия пользователя истекла.
    420 Method FailureОшибка метода.
    420 Enhance Your CalmСлишком много запросов, пожалуйста, уменьшите нагрузку.
    421 Misdirected RequestЗапрос был направлен на сервер, который не может его обработать.
    422 Unprocessable EntityСервер не может обработать запрос из-за ошибки в содержимом.
    423 LockedДоступ к ресурсу заблокирован.
    424 Failed DependencyЗапрос не выполнен из-за неудачи зависимого запроса.
    425 Too EarlyСервер отказывается обрабатывать запрос, так как он был отправлен слишком рано.
    426 Upgrade RequiredКлиент должен перейти на другой протокол для завершения запроса.
    428 Precondition RequiredСервер требует, чтобы запрос соответствовал определенным предусловиям.
    429 Too Many RequestsКлиент отправил слишком много запросов за короткий период.
    430 Shopify Security RejectionЗапрос был отклонен системой безопасности Shopify.
    430 Shopify Security RejectionЗапрос был отклонен системой безопасности Shopify.
    431 Request Header Fields Too LargeЗаголовки запроса слишком большие для обработки сервером.
    440 Login Time-outСессия пользователя истекла.
    444 No ResponseСервер закрыл соединение без отправки ответа.
    449 Retry WithДля обработки запроса требуется дополнительная информация.
    450 Blocked by Windows Parental ControlsДоступ к ресурсу ограничен родительским контролем Windows.
    451 Unavailable For Legal ReasonsДоступ к ресурсу ограничен по юридическим причинам.
    494 Request Header Too LargeЗаголовок запроса слишком велик для обработки сервером.
    495 SSL Certificate ErrorSSL-сертификат, представленный клиентом, недействителен.
    496 SSL Certificate RequiredДля доступа к этому ресурсу требуется действующий SSL-сертификат.
    497 HTTP Request Sent to HTTPS PortКлиент отправил HTTP-запрос на порт, доступный только для HTTPS.
    498 Invalid TokenТокен, предоставленный в запросе, недействителен или истек.
    499 Client Closed RequestКлиент закрыл соединение до получения ответа от сервера.
    Коды 5xx
    500 Internal Server ErrorПроизошла внутренняя ошибка сервера, обработка запроса невозможна.
    501 Not ImplementedЗапрос не может быть обработан, так как сервер не поддерживает необходимую функциональность.
    502 Bad GatewayСервер получил недопустимый ответ от другого сервера во время обработки запроса.
    503 Service UnavailableСервер временно недоступен из-за перегрузки или обслуживания.
    504 Gateway Time-outИстекло время ожидания ответа от другого сервера или шлюза.
    505 HTTP Version not supportedИспользуемая версия HTTP не поддерживается сервером.
    506 Variant Also NegotiatesОшибка конфигурации сервера, выбор варианта также участвует в переговорах.
    507 Insufficient StorageСервер не может завершить запрос из-за нехватки памяти или дискового пространства.
    508 Loop DetectedВо время обработки запроса была обнаружена бесконечная петля.
    509 Bandwidth Limit ExceededПревышен лимит пропускной способности сервера.
    510 Not ExtendedЗапрос требует дополнительных расширений, которые не поддерживаются сервером.
    511 Network Authentication RequiredДля доступа к ресурсу требуется аутентификация в сети.
    520 Unknown ErrorНеизвестная ошибка сервера.
    521 Web Server Is DownВеб-сервер недоступен.
    522 Connection Timed OutИстекло время ожидания соединения.
    523 Origin Is UnreachableПроисхождение ресурса недоступно.
    524 A Timeout OccurredИстекло время ожидания запроса.
    525 SSL Handshake FailedОшибка при установлении SSL-соединения.
    526 Invalid SSL CertificateНедействительный SSL-сертификат.
    527 Railgun ErrorОшибка соединения через Railgun.
    529 Site is overloadedСайт перегружен запросами.
    530 Site is frozenСайт заморожен и недоступен.
    530 Origin DNS ErrorОшибка DNS на стороне источника.
    540 Temporarily DisabledСервер временно отключен.
    598 Network read timeout errorОшибка чтения сети из-за тайм-аута.
    599 Network Connect Timeout ErrorОшибка соединения из-за тайм-аута.
    Другие
    783 Unexpected Token (Shopify)Неожиданный токен в запросе Shopify.
    999 Non-standardНестандартный код ошибки.

    Что такое статус-коды HTTP?

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

    Классификация кодов состояния HTTP

    Все статус-коды HTTP делятся на несколько категорий, каждую из которых обозначает первая цифра кода:

    • 1xx (Информационные): Указывают на то, что запрос был получен и процесс продолжается.
    • 2xx (Успех): Подтверждают успешное выполнение запроса.
    • 3xx (Перенаправление): Означают, что необходимо выполнить дальнейшие действия для завершения запроса.
    • 4xx (Ошибки клиента): Указывают на ошибки, вызванные некорректным запросом со стороны клиента.
    • 5xx (Ошибки сервера): Информируют о проблемах на стороне сервера.

    Подробный обзор стандартных HTTP кодов

    В данной таблице представлены наиболее распространенные стандартные статус-коды, их значения и примеры использования:

    Код Описание Пример использования
    200 OK Запрос успешно обработан, и сервер вернул необходимые данные.
    301 Moved Permanently Ресурс перемещен по новому постоянному адресу. Клиент должен использовать этот адрес при следующих запросах.
    404 Not Found Запрашиваемый ресурс не найден на сервере.
    500 Internal Server Error На стороне сервера произошла ошибка, которая не позволяет завершить обработку запроса.

    Примеры пользовательских кодов состояния

    Пользовательские коды состояния — это коды, создаваемые разработчиками приложений и сервисов для более детального управления внутренними процессами. Ниже приведены некоторые примеры такой категории:

    1. 600 - User-defined error: Используется для определения ошибки, специфичной для приложения.
    2. 601 - Custom success: Указывает, что запрашиваемое действие было выполнено с нестандартными результатами.
    3. 602 - Data not available: Применяется, когда запрашиваемые данные временно недоступны.

    Как использовать статус-коды HTTP в веб-разработке

    Правильное использование статус-кодов имеет важное значение для обеспечения качества работы веб-приложений. Например, если сервер возвращает код 404, следует предоставить пользователю удобный интерфейс для поиска нужной информации или предложить альтернативные ресурсы. Также важно отслеживать коды 300 (перенаправления), чтобы избежать потери трафика из-за ошибок в конфигурации.

    Заключительные замечания

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