Коды ответа HTTP, также известные как Коды состояния HTTP или коды ответа заголовка, представляет собой набор трехзначных числовых кодов, возвращаемых веб-сервером в ответ на HTTP-запрос от клиента (обычно веб-браузера или другого приложения). Эти коды состояния включаются в заголовки ответов HTTP-ответа, чтобы предоставить информацию о результате запроса. Они служат нескольким важным целям:
- Коммуникация: коды ответа HTTP позволяют веб-серверу передавать клиенту результат клиентского запроса стандартизированным способом. Это общение необходимо для понимания того, был ли запрос успешным или возникла проблема.
- Обработка ошибок: они помогают в обработке ошибок и отладке. Если запрос не выполнен или возникла проблема, код состояния объясняет, что пошло не так. Эта информация полезна разработчикам и администраторам для выявления и устранения проблем.
- Пересылка: для перенаправления используются коды ответа HTTP, такие как 301 (перемещено навсегда) и 302 (найдено). Они сообщают клиенту, что запрошенный ресурс был перемещен на другой URL-адрес. Это важно для поддержания ссылок на веб-страницы и SEO.
- Кэш: Некоторые коды состояния, например 304 (не изменено), помогают сохранить кеш. Если клиент ранее запрашивал ресурс, который не изменился, сервер может ответить кодом состояния 304, указывающим, что клиент может использовать его кэшированную копию, что снижает нагрузку на сервер и повышает производительность.
- Безопасность: определенные коды состояния, такие как 401 (Несанкционировано) и 403 (Запрещено), используются для обеспечения мер безопасности. Это указывает на то, что клиент не имеет надлежащей аутентификации или авторизации для доступа к запрошенному ресурсу.
- Наличие ресурсов: коды состояния, такие как 404 (не найден) или 410 (удален), указывают на то, что запрошенный ресурс не существует на сервере. Это помогает пользователям и поисковым системам понять, что контент, который они ищут, недоступен.
- Оптимизация производительности: коды состояния HTTP могут помочь оптимизировать производительность. Например, код состояния 503 (Служба недоступна) сообщает клиенту, что сервер в настоящее время перегружен или находится на обслуживании, предлагая клиенту повторить попытку позже.
- Совместимость: они обеспечивают совместимость и взаимодействие между веб-клиентами (браузерами, мобильными приложениями и т. д.) и веб-серверами. Коды состояния могут интерпретироваться и применяться всеми сторонами стандартизированным образом.
Классификации кодов ответа HTTP
Коды состояния ответа HTTP разделены на пять классов, каждый из которых представляет отдельную категорию ответа:
- 1xx Информационный ответ – Запрос получен, и сервер продолжает его обработку.
- 2xx Успешный ответ – Запрос успешно обработан, и сервер возвращает запрошенную информацию клиенту.
- Ответ на перенаправление 3xx – Запрошенный ресурс был перемещен или временно недоступен, и сервер перенаправляет клиента на новый URL-адрес или ресурс.
- 4xx Ответ об ошибке клиента – Запрос имеет неправильный синтаксис или не может быть выполнен, и сервер не может его обработать.
- 5xx Ответ об ошибке сервера – Сервер не может выполнить запрос из-за ошибки на стороне сервера.
Список кодов ответа HTTP
Код | Тип | Описание |
---|---|---|
100 | Продолжать | Начальная часть запроса получена, и клиент должен продолжить обработку запроса. |
101 | Переключение протоколов | Сервер переключает протоколы по запросу клиента. |
200 | хорошо | Запрос прошел успешно, и сервер вернул запрошенные данные. |
201 | Созданный | Запрос был выполнен, и в результате был создан новый ресурс. |
202 | Принял | Запрос принят в обработку, но еще не завершен. |
204 | Без содержания | Сервер успешно обработал запрос, но ему не нужно возвращать тело ответа. |
206 | Частичное содержание | Из-за запроса диапазона сервер доставляет только часть ресурса. |
300 | Множественный выбор | Запрос имеет несколько возможных ответов, и клиент должен выбрать один. |
301 | Переехал навсегда | Запрошенный ресурс был окончательно перемещен на новый URL-адрес. |
302 | Найденный | Запрошенный ресурс временно перемещен на новый URL. |
303 | См. другое | Ответ на запрос можно найти по другому URL. |
304 | Не изменено | Ресурс не менялся с момента последнего запроса. |
307 | Временное отвлечение | Вам следует повторить запрос с другим URL-адресом, но использовать тот же метод. |
308 | Постоянное перенаправление | Запрос и все последующие запросы необходимо повторить с использованием другого URL-адреса. |
400 | Неверный запрос | Сервер не может понять запрос, возможно, из-за неправильного синтаксиса. |
401 | Несанкционированный | У клиента нет необходимых полномочий для доступа к запрошенному ресурсу. |
402 | Требуется оплата | Зарезервировано для будущего использования. Изначально предназначался для цифровых платежных систем. |
403 | Запрещенный | У клиента нет разрешения на доступ к запрошенному ресурсу. |
404 | Не найдено | Запрошенный ресурс не существует на сервере. |
405 | Метод не разрешен | Метод запроса запрошенного ресурса не поддерживается. |
406 | Недопустимо | Сервер не может сгенерировать ответ, соответствующий списку допустимых значений, определенному в заголовках запроса. |
407 | Требуется аутентификация прокси | Во-первых, клиент должен пройти аутентификацию на прокси-сервере. |
408 | Попросите перерыв | На сервере истекло время ожидания запроса. |
409 | Конфликт | Указывает, что запрос не удалось выполнить из-за конфликта с текущим состоянием целевого ресурса. |
410 | Ушел | Запрошенный ресурс больше не доступен и больше не будет доступен. |
411 | Требуемая длина | Сервер должен предоставить в запросе действительный заголовок Content-Length. |
412 | Предварительное условие не выполнено | Одно или несколько условий в полях заголовка запроса оценены как ложные. |
413 | Грузоподъемность слишком высокая | Сервер отказывается обрабатывать запрос, поскольку полезная нагрузка слишком велика. |
414 | URI слишком длинный | Сервер отказывается обрабатывать запрос, поскольку URL-адрес слишком длинный. |
415 | Неподдерживаемый тип носителя | Сервер отказывается принять запрос, поскольку формат полезной нагрузки не поддерживается. |
416 | Ассортимент неудовлетворительный | Сервер не может выполнить запрос для диапазона, указанного в поле заголовка Request Range. |
417 | Надежды не оправдались | Сервер не может соответствовать требованиям поля заголовка запроса «Ожидать». |
418 | я чайник | Этот код был определен как первоапрельская шутка, и его реализация не ожидается. |
429 | Слишком много запросов | Пользователь отправил слишком много запросов за определенный период времени. |
500 | Внутренняя ошибка сервера | На сервере произошла ошибка при обработке запроса. |
501 | Не реализована | Сервер не поддерживает функциональность, необходимую для выполнения запроса. |
502 | Неверный шлюз | Сервер, действующий как шлюз или прокси, получил неверный ответ от вышестоящего сервера, к которому он обращался. |
503 | Услуга не доступна | Сервер в настоящее время не может обработать запрос из-за временной перегрузки или технического обслуживания сервера. |
504 | Тайм-аут шлюза | Сервер, выступающий в роли шлюза или прокси-сервера, не получил своевременного ответа от вышестоящего сервера или приложения. |
505 | Версия HTTP не поддерживается | Сервер не поддерживает версию протокола HTTP, использованную в запросе. |
507 | Недостаточно места для хранения | Сервер не может сохранить представление, необходимое для выполнения запроса. |
511 | Требуется сетевая аутентификация | Клиент должен пройти аутентификацию, чтобы получить запрошенный ответ. |
599 | Ошибка тайм-аута сетевого подключения | Этот код состояния не указан ни в одном RFC, но некоторые HTTP-прокси используют его для сигнализации об ошибке тайм-аута сетевого подключения. |
Как просмотреть код ответа HTTP
Код состояния HTTP — это часть информации, которая предоставляется в заголовках ответа, когда вы отправляете HTTP-запрос к веб-серверу. Вы не увидите его в выходном HTML-коде, отображаемом в браузере. Чтобы просмотреть код состояния HTTP в инструментах разработчика Chrome, вам необходимо сделать следующее:
- Откройте инструменты разработчика Chrome.: выполните указанные выше действия, чтобы открыть Инструменты разработчика Chrome с помощью
Ctrl + Shift + I
. - Вкладка «Сеть»: на панели инструментов разработчика перейдите к Сеть вкладка.
- Обратиться с просьбой: посетите веб-страницу или запустите конкретный HTTP-запрос, который вы хотите протестировать. Вы увидите сетевые запросы, перечисленные в разделе Сеть вкладку, когда они сделаны.
- Выберите запрос: нажмите на конкретный сетевой запрос, соответствующий интересующей вас странице или ресурсу. На правой панели отобразится подробная информация о запросе и ответе.
- См. заголовки ответов: откройте вкладку «Заголовки» на правой панели. Здесь отображаются заголовки ответа HTTP, включая код состояния HTTP.
Код состояния HTTP в заголовках ответа будет указан как Код состояния с кратким описанием. Например, вы можете увидеть 200 это хорошо для успешного запроса, 404 Не Найдено для ресурса, который не существует, или 500 — внутренняя ошибка сервера из-за ошибки на стороне сервера.
Коды ответов HTTP являются важной частью протокола HTTP, предоставляя стандартизированные и эффективные средства связи между клиентами и серверами, помогая обрабатывать ошибки, обеспечивать безопасность, перенаправление и общую производительность сети. Они необходимы для хорошо функционирующей и надежной веб-экосистемы.