Коды ошибок HTTP и другие серверные ответы

Ключевые термины

• Клиент: устройство пользователя, которое имеет подключение к интернету.
• Сервер: определенный компьютер, который хранит все данные и системные файлы сайта.

Что такое коды состояния HTTP и зачем они нужны?

Коды состояния HTTP представляют собой трехзначные числа, которые используются сервером для передачи информации клиенту о статусе запроса. Разработчики используют их для обнаружения и исправления проблем, а также для контроля процесса обмена информацией между клиентами и серверами.


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


Несколько из приведенных ниже кодов вам знакомы, но есть и те, о которых вы, скорее всего, никогда не слышали.

Категории серверных ответов

1xx – Информационные
2xx – Успешные коды ответа
3xx – Коды редиректов
4xx – Ошибки со стороны клиента
5xx – Ошибки со стороны сервера

Информационные

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


• 100 Continue: Временный код ответа, означающий начало принятия запроса к его последующей обработке.
• 101 Switching Protocols: Сервер переключается на другой протокол.
• 102 Processing: Запрос обрабатывается, но ответ еще не готов.

Успешные коды ответа

Коды данной группы сообщают, что запрос принят сервером и успешно обработан.


• 200 OK: Запрос успешно выполнен.
• 201 Created: Запрос создал новый ресурс.
• 202 Accepted: Запрос принят, но еще не обработан.
• 204 No Content: Запрос успешно обработан, но не возвращает никакого контента.

Коды редиректов

Данная группа сообщает о перенаправлении пользователя. Данные коды являются информационными и не являются ошибками.


• 301 Moved Permanently: Ресурс был навсегда перемещен на новый URL.
• 302 Found: Ресурс был временно перемещен на новый URL.
• 303 See Other: Ответ находится по другому URL.
• 304 Not Modified: Ресурс не был изменен с момента последнего запроса.
• 307 Temporary Redirect: Ресурс временно перенаправлен на другой URL.

Ошибки со стороны клиента

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


• 400 Bad Request: Запрос неверный или не может быть обработан.
• 401 Unauthorized: Клиент не авторизован для доступа к ресурсу.
• 403 Forbidden: Клиент не имеет разрешения на доступ к ресурсу.
• 404 Not Found: Клиент успешно обменялся данными с сервером, однако необходимые данные так и не были обнаружены.
• 405 Method Not Allowed: Запрашиваемый метод не поддерживается для данного ресурса.
• 406 Not Acceptable: Запрашиваемый пользователем контент не может быть распознан. Причины могут быть в кодировке или формате объекта.
• 408 Request Timeout: Запрос превысил установленный лимит времени.
• 410 Gone: Запрашиваемый ресурс был удален.
• 413 Payload Too Large: Размер запроса превышает максимальный допустимый размер.
• 414 URI Too Long: Сервер не может обработать обращение, так как запрашиваемый URL слишком длинный.
• 415 Unsupported Media Type: Сервер не поддерживает тип носителя, указанный в запросе.
• 422 Unprocessable Entity: Сервер принял и распознал запрос, но не может выполнить его из-за наличия логической ошибки.
• 429 Too Many Requests: Клиент отправил слишком много запросов в течение определенного периода времени.

Ошибки со стороны сервера

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


• 500 Internal Server Error: На сервере произошла внутренняя ошибка.
• 501 Not Implemented: Сервер не может распознать запрос, так как он не поддерживается.
• 502 Bad Gateway: Сервер получил недопустимый ответ от другого сервера, который он использует в качестве шлюза.
• 503 Service Unavailable: Сервер временно недоступен.
• 504 Gateway Timeout: Сервер не получил своевременного ответа от другого сервера, который он использует в качестве шлюза.

Смотреть