Проверка HTTP-статуса
Введение

Код состояния HTTP (HTTP Status Code)

Некоторые распространенные коды состояния: 200 - сервер успешно вернул веб-страницу 404 - запрошенная веб-страница не существует 503 - служба недоступна

Все объяснения состояний:

Код состояния Подробности кода состояния
100 (Продолжить) Запрашивающий должен продолжить запрос. Сервер возвращает этот код, чтобы указать, что он получил первую часть запроса и ожидает оставшуюся часть.
101 (Переключение протоколов) Запрашивающий запросил у сервера переключение протоколов, и сервер подтвердил и готов переключиться.
102 Код состояния, расширенный WebDAV (RFC 2518), указывающий, что обработка будет продолжена.
200 (Успех) Сервер успешно обработал запрос. Обычно это означает, что сервер предоставил запрошенную веб-страницу.
201 (Создано) Запрос выполнен успешно, и сервер создал новый ресурс.
202 (Принято) Сервер принял запрос, но еще не обработал его.
203 (Неавторизованная информация) Сервер успешно обработал запрос, но возвращаемая информация может поступать из другого источника.
204 (Нет содержимого) Сервер успешно обработал запрос, но не возвращает никакого содержимого.
205 (Сброс содержимого) Сервер успешно обработал запрос, но не возвращает никакого содержимого.
206 (Частичное содержимое) Сервер успешно обработал часть запроса GET.
208 Член привязки DAV был перечислен предыдущим запросом и не включается снова.
226 (IM Used) Сервер выполнил запрос на ресурс, и ответ представляет собой результат одной или нескольких манипуляций экземпляра, примененных к текущему экземпляру.
300 (Множественный выбор) Сервер может выполнить несколько действий для запроса. Сервер может выбрать действие в зависимости от пользовательского агента или предоставить список действий для выбора пользователем.
301 (Перемещено навсегда) Запрошенная веб-страница была окончательно перемещена в новое место. Когда сервер возвращает этот ответ (в ответ на запрос GET или HEAD), он автоматически перенаправляет запрашивающего на новое место.
302 (Найдено) Сервер в настоящее время отвечает на запрос с веб-страницы в другом месте, но запрашивающий должен продолжать использовать исходное местоположение для будущих запросов.
303 (См. другое) Сервер возвращает этот код, когда запрашивающий должен использовать отдельный запрос GET для другого местоположения, чтобы получить ответ.
304 (Не изменено) Запрошенная веб-страница не была изменена с последнего запроса. Когда сервер возвращает этот ответ, он не возвращает содержимое веб-страницы.
305 (Использовать прокси) Запрашивающий может получить доступ к запрошенной веб-странице только через прокси. Если сервер возвращает этот ответ, это также означает, что запрашивающий должен использовать прокси.
307 (Временное перенаправление) Сервер в настоящее время отвечает на запрос с веб-страницы в другом месте, но запрашивающий должен продолжать использовать исходное местоположение для будущих запросов.
308 (Постоянное перенаправление) Этот запрос и все будущие запросы должны быть повторно отправлены по другому URI. 307, 308 и 302, 301 ведут себя одинаково, но не разрешают изменять метод HTTP. Например, форма, отправленная на постоянно перенаправленный ресурс, будет продолжать работать правильно.
400 (Плохой запрос) Сервер не понимает синтаксис запроса.
401 (Не авторизован) Запрос требует аутентификации. Сервер может вернуть этот ответ для веб-страниц, для которых требуется вход в систему.
402 Этот код состояния зарезервирован для возможного будущего использования.
403 (Запрещено) Сервер отказывается от запроса.
404 (Не найдено) Сервер не может найти запрошенную веб-страницу.
405 (Метод не разрешен) Метод, указанный в запросе, отключен.
406 (Неприемлемо) Невозможно ответить на запрос с использованием характеристик содержимого, запрошенных в запросе.
407 (Требуется аутентификация прокси) Этот код состояния аналогичен 401 (Не авторизован), но указывает, что запрашивающий должен пройти аутентификацию с помощью прокси.
408 (Время ожидания запроса истекло) Время ожидания сервера истекло во время ожидания запроса.
409 (Конфликт) На сервере произошел конфликт при выполнении запроса. Сервер должен включить информацию о конфликте в ответ.
410 (Ушел) Сервер возвращает этот ответ, если запрошенный ресурс был окончательно удален.
411 (Требуется длина) Сервер не принимает запросы без действительного поля заголовка Content-Length.
412 (Предварительное условие не выполнено) Сервер не соответствует одному из предварительных условий, которые запрашивающий установил в запросе.
413 (Полезная нагрузка слишком велика) Сервер не может обработать запрос, потому что полезная нагрузка запроса слишком велика и превышает возможности сервера.
414 (URI запроса слишком длинный) URI запроса (обычно URL) слишком длинный, и сервер не может его обработать.
415 (Неподдерживаемый тип носителя) Формат запроса не поддерживается запрошенной страницей.
416 (Диапазон запроса не удовлетворяется) Сервер возвращает этот код состояния, если страница не может предоставить запрошенный диапазон.
417 (Ожидание не выполнено) Сервер не соответствует требованиям поля заголовка запроса Expect.
418 (Я чайник) Этот код был определен в 1998 году как одна из традиционных первоапрельских шуток IETF в RFC 2324, Hyper Text Coffee Pot Control Protocol, и не реализован фактическими HTTP-серверами. RFC указывает, что этот код должен возвращаться чайниками растворимому кофе.
419 (Время ожидания аутентификации истекло) Не является частью спецификации HTTP, 419 Время ожидания аутентификации истекло указывает, что ранее действительная аутентификация истекла. Также используется как альтернатива 401 Не авторизован для указания ресурсов сервера, отличных от тех, к которым был отклонен доступ аутентифицированному клиенту.
420 (Метод провалился) Не является стандартом HTTP, но определен Spring в классе HttpStatus для использования, когда метод провалился. Этот код состояния больше не рекомендуется использовать в Spring.
420 (Улучшите свою спокойствие) Также не является частью спецификации HTTP, но возвращается API поиска и трендов Twitter версии 1, когда клиент ограничен по скорости. Другие поставщики услуг могут вместо этого использовать код ответа 429 Слишком много запросов.
421 Количество подключений с IP-адреса текущего клиента к серверу превысило максимально допустимое сервером. Обычно IP-адрес здесь относится к адресу клиента, видимым сервером (например, адрес шлюза или прокси-сервера пользователя). В этом случае подсчет подключений может включать более одного конечного пользователя.
422 Запрос был хорошо сформирован, но не может быть выполнен из-за семантических ошибок. (RFC 4918 WebDAV)
423 Заблокировано Текущий ресурс заблокирован. (RFC 4918 WebDAV)
424 Ошибка, возникшая в результате сбоя предыдущего запроса, например, PROPPATCH. (RFC 4918 WebDAV)
425 Определено в проекте WebDav Advanced Collections, но не появляется в «WebDAV Sequencing Protocol» (RFC 3658).
426 Клиент должен переключиться на TLS/1.0. (RFC 2817)
428 (Требуется предварительное условие) Исходный сервер требует, чтобы запрос был условным. Предназначен для предотвращения проблемы «потерянного обновления», которая может возникнуть, когда клиент получает состояние ресурса, изменяет его и возвращает его на сервер, в то время как третья сторона изменяет состояние на сервере, что приводит к конфликту.
429 (Слишком много запросов) Пользователь отправил слишком много запросов за данный промежуток времени. Используется для ограничения скорости.
431 (Поля заголовка запроса слишком велики) Сервер не желает обрабатывать запрос, потому что отдельные поля заголовка запроса или все поля заголовка вместе слишком велики.
440 (Время ожидания входа истекло (Microsoft)) Расширение Microsoft, означающее, что ваш сеанс входа истек.
444 (Нет ответа) Используется в журналах Nginx для указания того, что сервер не вернул информацию клиенту и закрыл соединение (полезно в качестве средства сдерживания вредоносных программ).
449 (Повторите попытку с (Microsoft)) Расширение Microsoft. Запрос должен быть повторен после выполнения соответствующего действия.
450 (Заблокировано родительским контролем Windows (Microsoft)) Расширение Microsoft. Эта ошибка выдается, когда включен родительский контроль Windows и блокирует доступ к запрошенной веб-странице.
451 (Недоступно по юридическим причинам (черновик Интернета)) Определено в интернет-проекте «Новый код состояния HTTP для юридически ограниченных ресурсов». Используется, когда доступ к ресурсу запрещен по юридическим причинам, например, по цензуре или по распоряжению правительства. Примером может служить антиутопический роман 1953 года «451 градус по Фаренгейту», являющийся незаконным ресурсом.
451 (Перенаправление (Microsoft)) Используется в Exchange ActiveSync, если доступен более эффективный сервер или сервер не может получить доступ к почтовому ящику пользователя. Клиент должен предположить, что протокол HTTP Autodiscover будет повторно запущен для поиска более подходящего сервера.
494 (Заголовок запроса слишком велик (Nginx)) Внутренний код Nginx, аналогичный 431, но введенный ранее в версии 0.9.4 (21 января 2011 г.).
495 (Ошибка сертификата SSL (Nginx)) Внутренний код Nginx, возникающий при ошибке с сертификатом клиента SSL, чтобы отличать его от 4XX в журналах ошибок и перенаправлений на страницу ошибки.
496 (Нет сертификата (Nginx)) Внутренний код Nginx, возникающий, когда клиент не предоставляет сертификат, чтобы отличать его от 4XX в журналах ошибок и перенаправлений на страницу ошибки.
497 (HTTP to HTTPS (Nginx)) Внутренний код Nginx, используемый, когда исходный запрос HTTP отправляется на порт HTTPS, чтобы отличать его от 4XX в журналах ошибок и перенаправлений на страницу ошибки.
498 (Срок действия токена истек или он недействителен (Esri)) Возвращается ArcGIS for Server. Этот код означает, что срок действия токена истек или он недействителен.
499 (Клиент закрыл запрос (Nginx)) Используется в журналах Nginx для указания того, что соединение было закрыто клиентом, пока сервер все еще обрабатывал его запрос, поэтому сервер не смог вернуть код состояния.
499 (Требуется токен (Esri)) Возвращается ArcGIS for Server. Означает, что требуется токен (если токен не был отправлен).
500 (Внутренняя ошибка сервера) На сервере произошла ошибка, и он не смог выполнить запрос.
501 (Не реализовано) Сервер не поддерживает функциональность, необходимую для выполнения запроса. Например, сервер может вернуть этот код, если он не распознает метод запроса.
502 (Плохой шлюз) Сервер, выступая в качестве шлюза или прокси, получил недействительный ответ от вышестоящего сервера.
503 (Сервис недоступен) Сервер в настоящее время недоступен (из-за перегрузки или простоя на техническое обслуживание). Обычно это временное состояние.
504 (Время ожидания шлюза истекло) Сервер, выступая в качестве шлюза или прокси, не получил своевременного ответа от вышестоящего сервера.
505 Версия HTTP не поддерживается: сервер не поддерживает версию протокола HTTP, используемую в запросе.
506 Расширен «Прозрачным согласованием содержимого» (RFC 2295), чтобы указать на внутреннюю ошибку конфигурации сервера: запрошенный вариант ресурса согласования настроен на использование самого себя в прозрачном согласовании содержимого, и поэтому не является подходящей конечной точкой в процессе согласования.
507 Сервер не может сохранить представление, необходимое для завершения запроса. Это состояние считается временным. WebDAV (RFC 4918)
509 Сервер превысил свой лимит пропускной способности. Это не официальный код состояния, но все еще широко используется.
510 Политика, необходимая для обработки запроса, не удовлетворена. (RFC 2774).
508 (Обнаружен цикл) Сервер обнаружил бесконечный цикл при обработке запроса.
511 (Требуется аутентификация сети) Клиент должен пройти аутентификацию, чтобы получить доступ к сети. Используется прокси-серверами для управления доступом к сети.
520 (Неизвестная ошибка) Этот код состояния также не указан ни в одном RFC, и возвращается только некоторыми серверами, такими как серверы Microsoft Azure и Cloudflare: «Ошибка 520. По сути, это универсальный ответ, когда исходный сервер возвращает что-то неожиданное или что-то, что не может быть обработано или интерпретировано (нарушение протокола или пустой ответ)».
598 (Исключение времени ожидания чтения сети (неизвестно)) Этот код состояния также не указан ни в одном RFC, но используется прокси-серверами Microsoft HTTP для обозначения тайм-аута чтения сети за вышестоящим прокси-сервером перед клиентом.
599 (Исключение времени ожидания подключения к сети (неизвестно)) Этот код состояния также не указан ни в одном RFC, но используется прокси-серверами Microsoft HTTP для обозначения тайм-аута подключения к сети за вышестоящим прокси-сервером перед клиентом.