Статус
Коды состояния HTTP-ответа
Коды состояния HTTP-ответа показывают, был ли успешно выполнен конкретный запрос HTTP. Ответы делятся на пять классов:
-
Информационные ответы (
100–199) -
Успешные ответы (
200–299) -
Сообщения перенаправления (
300–399) -
Ответы с ошибкой клиента (
400–499) -
Ответы с ошибкой сервера (
500–599)
Приведённые ниже коды состояния определены в RFC 9110.
Примечание: Если вы получили ответ, которого нет в этом списке, это нестандартный ответ, возможно, специфичный для программного обеспечения сервера.
Информационные ответы
100 Continue-
Этот промежуточный ответ указывает, что клиенту следует продолжить запрос или проигнорировать ответ, если запрос уже завершён.
101 Switching Protocols-
Этот код отправляется в ответ на заголовок запроса
Upgradeот клиента и указывает протокол, на который переключается сервер. -
102 Processing -
Этот код использовался в контексте WebDAV, чтобы указать, что сервер получил запрос, но на момент отправки ответа статус ещё не был доступен.
103 Early Hints-
Этот код состояния предназначен главным образом для использования с заголовком
Link, позволяя пользовательскому агенту начать предварительную загрузку ресурсов, пока сервер подготавливает ответ, или выполнить предварительное подключение к источнику, откуда странице понадобятся ресурсы.
Успешные ответы
200 OK-
Запрос выполнен успешно. Результат и значение понятия «успех» зависят от метода HTTP:
201 Created-
Запрос выполнен успешно, и в результате был создан новый ресурс. Обычно этот ответ отправляется после запросов
POSTили некоторых запросовPUT. 202 Accepted-
Запрос получен, но ещё не обработан. Этот ответ не является окончательным, поскольку в HTTP нет способа позднее отправить асинхронный ответ с результатом выполнения запроса. Он предназначен для случаев, когда запрос обрабатывает другой процесс или сервер, а также для пакетной обработки.
-
Этот код ответа означает, что возвращённые метаданные не полностью совпадают с данными на исходном сервере, а получены из локальной или сторонней копии. Чаще всего он используется для зеркал или резервных копий другого ресурса. За исключением этого конкретного случая, предпочтительнее использовать ответ
200 OK. 204 No Content-
В ответ на этот запрос не нужно отправлять содержимое, однако заголовки полезны. Пользовательский агент может обновить заголовки этого ресурса в кэше, заменив их новыми.
205 Reset Content-
Указывает пользовательскому агенту сбросить документ, из которого был отправлен этот запрос.
206 Partial Content-
Этот код ответа используется в ответ на запрос диапазона, когда клиент запрашивает часть или части ресурса.
-
207 Multi-Status(WebDAV) -
Передаёт сведения о нескольких ресурсах в ситуациях, когда применимы несколько кодов состояния.
-
208 Already Reported(WebDAV) -
Используется внутри элемента ответа
<dav:propstat>, чтобы избежать повторного перечисления внутренних элементов нескольких привязок к одной коллекции. -
226 IM Used(дельта-кодирование HTTP) -
Сервер выполнил запрос
GETдля ресурса, а ответ представляет собой результат применения одной или нескольких манипуляций с экземпляром к текущему экземпляру.
Сообщения перенаправления
300 Multiple Choices-
При согласовании содержимого под управлением агента запрос допускает несколько возможных ответов, и пользовательский агент или пользователь должен выбрать один из них. Стандартного способа автоматически выбрать один из ответов нет, поэтому этот код используется редко.
301 Moved Permanently-
URL запрошенного ресурса изменён навсегда. Новый URL указан в ответе.
302 Found-
Этот код ответа означает, что URI запрошенного ресурса изменён временно. В дальнейшем URI может измениться, поэтому в будущих запросах клиенту следует использовать тот же URI.
303 See Other-
Сервер отправил этот ответ, чтобы указать клиенту получить запрошенный ресурс по другому URI с помощью запроса
GET. 304 Not Modified-
Этот код используется для кэширования. Он сообщает клиенту, что ответ не изменился, поэтому клиент может продолжить использовать ту же кэшированную версию ответа.
305 Use Proxy-
Был определён в предыдущей версии спецификации HTTP, чтобы указать, что запрошенный ответ должен быть получен через прокси. Код устарел из-за проблем безопасности, связанных с внутриполосной настройкой прокси.
306 unused-
Этот код ответа больше не используется, но зарезервирован. Он применялся в предыдущей версии спецификации HTTP/1.1.
307 Temporary Redirect-
Сервер отправляет этот ответ, чтобы указать клиенту получить запрошенный ресурс по другому URI, используя тот же метод, что и в предыдущем запросе. По смыслу он аналогичен коду ответа
302 Found, за исключением того, что пользовательский агент не должен менять используемый метод HTTP: если в первом запросе использовалсяPOST, то в перенаправленном запросе также должен использоватьсяPOST. 308 Permanent Redirect-
Это означает, что ресурс теперь находится по другому URI на постоянной основе, указанному в заголовке ответа
Location. По смыслу этот код аналогичен коду ответа HTTP301 Moved Permanently, за исключением того, что пользовательский агент не должен менять используемый метод HTTP: если в первом запросе использовалсяPOST, то во втором запросе также должен использоватьсяPOST.
Ответы с ошибкой клиента
400 Bad Request-
Сервер не может или не будет обрабатывать запрос из-за ошибки, связанной с клиентом (например, из-за неверного синтаксиса запроса, некорректного формирования сообщения запроса или ошибочной маршрутизации запроса).
-
Хотя в стандарте HTTP используется термин «неавторизованный», по смыслу этот ответ означает «неаутентифицированный». Иными словами, клиент должен пройти аутентификацию, чтобы получить запрошенный ответ.
402 Payment Required-
Изначально этот код предназначался для систем цифровых платежей, однако он используется редко, и общепринятого стандарта для него нет.
403 Forbidden-
У клиента нет прав доступа к содержимому; то есть он не авторизован, поэтому сервер отказывает в предоставлении запрошенного ресурса. В отличие от
401 Unauthorized, серверу известна личность клиента. 404 Not Found-
Сервер не может найти запрошенный ресурс. В браузере это означает, что URL не распознан. В API это также может означать, что конечная точка существует, но сам ресурс отсутствует. Серверы могут отправлять этот ответ вместо
403 Forbidden, чтобы скрыть существование ресурса от неавторизованного клиента. Этот код ответа, вероятно, наиболее известен из-за частого появления в интернете. 405 Method Not Allowed-
Метод запроса известен серверу, но не поддерживается целевым ресурсом. Например, API может не разрешать
DELETEдля ресурса или не поддерживать методTRACEвообще. 406 Not Acceptable-
Этот ответ отправляется, когда веб-сервер после согласования содержимого под управлением сервера не находит содержимого, соответствующего критериям пользовательского агента.
407 Proxy Authentication Required-
Этот код похож на
401 Unauthorized, но аутентификацию необходимо пройти на прокси-сервере. 408 Request Timeout-
Некоторые серверы отправляют этот ответ при простое соединения, даже если клиент ранее не отправлял запросов. Он означает, что сервер хочет закрыть неиспользуемое соединение. Этот ответ используется чаще, поскольку некоторые браузеры применяют механизмы предварительного подключения HTTP для ускорения просмотра страниц. Некоторые серверы могут закрыть соединение, не отправляя это сообщение.
409 Conflict-
Этот ответ отправляется, когда запрос конфликтует с текущим состоянием сервера. При удалённом веб-редактировании с помощью WebDAV ответы
409представляют собой ошибки, отправляемые клиенту, чтобы пользователь мог устранить конфликт и повторно отправить запрос. 410 Gone-
Этот ответ отправляется, когда запрошенное содержимое было навсегда удалено с сервера и адрес для перенаправления отсутствует. Ожидается, что клиенты удалят свои кэши и ссылки на ресурс. Согласно спецификации HTTP, этот код состояния предназначен для «услуг с ограниченным сроком действия, например рекламных». API не обязаны сообщать об удалённых ресурсах с помощью этого кода состояния.
411 Length Required-
Сервер отклонил запрос, поскольку поле заголовка
Content-Lengthне задано, а сервер требует его наличия. 412 Precondition Failed-
В условных запросах клиент указал в заголовках предварительные условия, которым сервер не соответствует.
413 Content Too Large-
Тело запроса превышает ограничения, установленные сервером. Сервер может закрыть соединение или вернуть поле заголовка
Retry-After. 414 URI Too Long-
URI, запрошенный клиентом, длиннее, чем сервер готов обработать.
415 Unsupported Media Type-
Формат запрошенных данных не поддерживается сервером, поэтому сервер отклоняет запрос.
416 Range Not Satisfiable-
Диапазоны, указанные в поле заголовка
Rangeзапроса, не могут быть обработаны. Возможно, диапазон выходит за пределы размера данных целевого ресурса. 417 Expectation Failed-
Этот код ответа означает, что сервер не может выполнить ожидание, указанное в поле заголовка запроса
Expect. 418 I'm a teapot-
Сервер отказывается заваривать кофе в чайнике.
421 Misdirected Request-
Запрос был направлен серверу, который не может сформировать ответ. Такой ответ может отправить сервер, не настроенный для обработки запросов с указанным в URI запроса сочетанием схемы и полномочий.
-
422 Unprocessable Content(WebDAV) -
Запрос составлен правильно, но не может быть выполнен из-за семантических ошибок.
-
423 Locked(WebDAV) -
Доступ к ресурсу заблокирован.
-
424 Failed Dependency(WebDAV) -
Запрос не выполнен из-за сбоя предыдущего запроса.
-
425 Too Early -
Указывает, что сервер не хочет рисковать обработкой запроса, который может быть воспроизведён повторно.
426 Upgrade Required-
Сервер отказывается выполнять запрос с использованием текущего протокола, но может согласиться сделать это после перехода клиента на другой протокол. В ответе 426 сервер отправляет заголовок
Upgrade, указывающий требуемые протоколы. 428 Precondition Required-
Исходный сервер требует, чтобы запрос был условным. Этот ответ предназначен для предотвращения проблемы «потерянного обновления»: клиент получает
GETсостояние ресурса, изменяет его и отправляет обратно на сервер с помощьюPUT, а тем временем третья сторона изменяет состояние на сервере, что приводит к конфликту. 429 Too Many Requests-
Пользователь отправил слишком много запросов за определённый промежуток времени (ограничение частоты запросов).
431 Request Header Fields Too Large-
Сервер отказывается обрабатывать запрос, поскольку его поля заголовка слишком велики. Запрос можно отправить повторно, предварительно уменьшив размер полей заголовка.
-
Пользовательский агент запросил ресурс, предоставление которого запрещено законом, например веб-страницу, подвергнутую цензуре правительства.
Ответы с ошибкой сервера
500 Internal Server Error-
На сервере возникла ситуация, которую он не знает, как обработать. Эта общая ошибка указывает, что сервер не может найти более подходящий код состояния
5XXдля ответа. 501 Not Implemented-
Метод запроса не поддерживается сервером и не может быть обработан. Единственные методы, поддержку которых серверы обязаны обеспечивать (и поэтому не должны возвращать этот код), — это
GETиHEAD. 502 Bad Gateway-
Этот ответ с ошибкой означает, что сервер, работая в качестве шлюза для получения ответа, необходимого для обработки запроса, получил недопустимый ответ.
-
Сервер не готов обработать запрос. Частые причины — техническое обслуживание или перегрузка сервера. Вместе с этим ответом следует отправить удобную для пользователя страницу с объяснением проблемы. Этот ответ следует использовать для временных ситуаций; если возможно, HTTP-заголовок
Retry-Afterдолжен содержать предполагаемое время восстановления службы. Веб-мастеру также необходимо позаботиться о заголовках, связанных с кэшированием, которые отправляются вместе с этим ответом, поскольку такие ответы о временных сбоях обычно не следует кэшировать. 504 Gateway Timeout-
Этот ответ с ошибкой отправляется, когда сервер действует в качестве шлюза и не может своевременно получить ответ.
505 HTTP Version Not Supported-
Версия HTTP, используемая в запросе, не поддерживается сервером.
506 Variant Also Negotiates-
На сервере произошла внутренняя ошибка конфигурации: при согласовании содержимого выбранный вариант настроен на самостоятельное участие в согласовании, что приводит к циклическим ссылкам при формировании ответов.
-
507 Insufficient Storage(WebDAV) -
Метод не удалось применить к ресурсу, поскольку сервер не может сохранить представление, необходимое для успешного выполнения запроса.
-
508 Loop Detected(WebDAV) -
При обработке запроса сервер обнаружил бесконечный цикл.
510 Not Extended-
Запрос клиента объявляет расширение HTTP (RFC 2774), которое следует использовать для обработки запроса, но это расширение не поддерживается.
511 Network Authentication Required-
Указывает, что клиенту необходимо пройти аутентификацию для получения доступа к сети.
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari для iOS | Samsung Internet | WebView Android | WebView для iOS | |
103 |
103Поддерживается только в HTTP/2 и более поздних версиях. |
103Поддерживается только в HTTP/2 и более поздних версиях. |
120 | 89Поддерживается только в HTTP/2 и более поздних версиях. |
17Поддерживается только в HTTP/2 и более поздних версиях. |
103Поддерживается только в HTTP/2 и более поздних версиях. |
120 | 71Поддерживается только в HTTP/2 и более поздних версиях. |
17Поддерживается только в HTTP/2 и более поздних версиях. |
20.0Поддерживается только в HTTP/2 и более поздних версиях. |
103Поддерживается только в HTTP/2 и более поздних версиях. |
17Поддерживается только в HTTP/2 и более поздних версиях. |
308 |
36 | 12 | 14 | 24 | 7 | 36 | 14 | 24 | 7 | 3.0 | 37 | 7 |
425 |
Нет | Нет | 58 | Нет | Нет | Нет | 58 | Нет | Нет | Нет | Нет | Нет |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status