recursal/MDN huggingface dataset:
200 OK
======

Код ответа об успешном статусе "*The HTTP* **200 OK**" указывает, что запрос выполнен успешно. Ответ 200 может кешироваться по умолчанию.

Значение успеха зависит от метода \*HTTP-\*запроса:

* `GET`: Ресурс был извлечён и передан в теле сообщения.
* `HEAD`: Заголовки объектов находятся в теле сообщения.
* `POST`: Ресурс, описывающий результат действия, передаётся в теле сообщения.
* `TRACE`:Тело сообщения содержит сообщение запроса, полученное сервером.

Успешный результат `PUT` или `DELETE` часто не **200 OK**, `204` **No Content** ( или `201` **Created**, когда ресурс загружается в первый раз).

Статус
------
```

200 OK
```

Характеристики
--------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.3.1: 200 OK | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* HTTP request methods
428 Precondition Required
=========================

Код статуса HTTP **428 Precondition Required** означает, что сервер требует, чтобы запрос был условным (соответствовал неким предварительно заданным условиям).

Как правило, это означает, что требуемый заголовок предварительного условия, например `If-Match` отсутствует .

Если заголовок предусловия **не соответствует** состоянию на стороне сервера, ответ должен быть `412` `Precondition Failed`.

Статус
------
```

428 Precondition Required
```

Спецификации
------------

| Спецификации | Название |
| --- | --- |
| RFC 6585, раздел 3: 428 Precondition Required | Расширенные коды статуса HTTP |

Смотрите также
--------------

* Условные запросы HTTP
* `If-Match`
* `412`
302 Found
=========

HTTP код перенаправления **`302 Found`** означает, что запрошенный ресурс был временно перемещён по адресу, указанному в заголовке `Location` (en-US). Получив такой ответ браузер перенаправляется на новую страницу, но поисковые системы не обновляют свои ссылки на ресурс (в жаргоне SEO говорят, что вес ссылки (link-juice) не меняется и не отправляется на новый URL-адрес).

Несмотря на требование спецификации не изменять при перенаправлении метод и тело запроса, не все программные клиенты выполняют его, и с некоторыми из них можно столкнуться до сих пор. Поэтому рекомендуется установить код `302` только как ответ для методов `GET` или `HEAD`. Для остальных случаев лучше использовать код `307 Temporary Redirect`, поскольку в этом случае изменение метода явно запрещено.

В тех случаях, когда вы хотите, чтобы используемый метод был изменён на `GET`, используйте код `303 See Other`. Это полезно, если вы хотите дать ответ на метод `PUT`, который не является загруженным ресурсом, но является подтверждающим сообщением (например, «Вы успешно загрузили XYZ»).

Статус
------
```

302 Found
```

Пример
------

### Запрос клиента
```

GET / HTTP/1.1
Host: www.example.org
```

### Ответ сервера
```

HTTP/1.1 302 Found
Location: http://www.example.org/index.asp
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.4.3: 302 Found | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `307 Temporary Redirect`, эквивалент рассматриваемого кода ответа, но явно запрещающий изменение метода запроса.
* `303 See Other`, временное перенаправление, которое изменяет метод запроса на `GET`.
* `301 Moved Permanently`, постоянное перенаправление.
405 Method Not Allowed
======================

Код состояния протокола HTTP **`405 Method Not Allowed`**, указывает, что метод запроса известен серверу, но был отключён и не может быть использован. Два обязательных метода `GET` и `HEAD` никогда не должны быть отключены и не должны возвращать этот код ошибки.

Сервер ОБЯЗАН сгенерировать поле заголовка **`Allow`** в ответе с кодом 405, которое содержит список текущих доступных методов ресурса.

Статус
------
```

405 Method Not Allowed
```

Спецификации
------------

| Спецификация | Титул |
| --- | --- |
| RFC 7231, раздел 6.5.5: 405 Method Not Allowed | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* `Allow` (en-US)
* 405 Method Not Allowed
503 Service Unavailable
=======================

HTTP **`503 Service Unavailable`** код состояния сервера, указывающий на то, что сервер не готов обработать данный запрос.

Часто причиной этого оказывается закрытие сервера для технических работ или его перегрузка. Обратите внимание, что вместе с этим ответом следует отправить удобную для пользователя страницу, объясняющую проблему. Данный код должен использоваться для временных состояний, а HTTP-заголовок `Retry-After` должен, по возможности, содержать предполагаемое время возвращения в работу.

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

Статус
------
```

503 Service Unavailable
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.6.4: 503 Service Unavailable | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `Retry-After`
204 No Content
==============

"The HTTP **`204 No Content"`** код ответа статуса успеха указывает, что запрос имеет успех, но что клиенту не нужно уходить со своей текущей страницы. По умолчанию ответ **204** кешируется. В такой ответ включён `ETag`.

Общим вариантом использования является возвращение **204** в результате запроса `PUT`, обновления ресурса, без изменения текущего содержимого страницы, отображаемой пользователю. Если ресурс создан, вместо него возвращается `201` **Created**. Если страница должна быть изменена на вновь обновлённую страницу, вместо неё следует использовать `200`.

Статус
------
```

204 No Content
```

Характеристики
--------------

| Спецификации | Название |
| --- | --- |
| RFC 7231, раздел 6.3.5: 204 No Content | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Примечания совместимости
------------------------

* Хотя этот статус код предназначен для описания ответа без тела, серверы могут ошибочно включать данные, следующие за заголовками. Протокол позволяет идентификаторам браузера изменять способ обработки таких ответов (обсуждение этого текста спецификации можно найти здесь). Это наблюдается в постоянных соединениях, где невалидное тело запроса может содержать отдельный ответ на последующий запрос.
 Apple Safari отклоняет любые такие данные. Google Chrome и Microsoft Edge отбрасывают до 4 невалидных байт, предшествующих правильному ответу.
Смотрите также
--------------

* HTTP request methods
400 Bad Request
===============

Код состояния ответа "HTTP **400 Bad Request**" указывает, что сервер не смог понять запрос из-за недействительного синтаксиса. Клиент не должен повторять этот запрос без изменений.

Статус
------
```

400 Bad Request
```

Характеристики
--------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.5.1: 400 Bad Request | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* 400 Bad Request
431 Request Header Fields Too Large
===================================

HTTP **`431 Request Header Fields Too Large`** Код состояния ответа указывает, что сервер не желает обрабатывать запрос, потому что его поля заголовка слишком велики. Запрос может быть повторно представлен после уменьшения размера полей заголовка запроса.

Его можно использовать, если общее количество полей заголовка запроса слишком велико или когда одно поле заголовка слишком велико.

Эта ошибка не должна происходить в хорошо проверенных производственных системах, но её можно найти чаще при тестировании новой системы.

Статус
------
```

431 Request Header Fields Too Large
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 6585, раздел 5: 431 Request Header Fields Too Large | Additional HTTP Status Codes |

Смотрите также
--------------

* Request header
307 Temporary Redirect
======================

HTTP код перенаправления `307 Temporary Redirect` означает, что запрошенный ресурс был временно перемещён в URL-адрес, указанный в заголовке `Location` (en-US).

Метод и тело исходного запроса повторно используются для выполнения перенаправленного запроса. Если вы хотите, чтобы используемый метод был изменён на `GET`, используйте `303 See Other`. Это полезно, если вы хотите дать ответ на метод `PUT`, который не является загруженным ресурсом, а является подтверждающим сообщением (например, «Вы успешно загрузили XYZ»).

Единственное различие между `307` и `302` состоит в том, что `307` гарантирует, что метод и тело не будут изменены при выполнении перенаправленного запроса. В случае с кодом `302` некоторые старые клиенты неправильно меняли метод на `GET`, из-за чего поведение запросов с методом отличным от `GET` и ответа с кодом `302` непредсказуемо, тогда как поведение в случае ответа с кодом `307` предсказуемо. Для запросов `GET` поведение идентично.

Статус
------
```

307 Temporary Redirect
```

Пример
------

### Запрос клиента
```

DELETE /cars/oldest HTTP/1.1
Host: www.example.org
```

### Ответ сервера
```

HTTP/1.1 307 Temporary Redirect
Location: http://www.example.org/cars/id/123456
```

Спецификации
------------

| Спецификации | Название |
| --- | --- |
| RFC 7231, раздел 6.4.7: 307 Temporary Redirect | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `302 Found`, эквивалентен этому коду ответа, но может изменить метод запроса, если он отличается от `GET`.
* `303 See Other`, временное перенаправление, которое изменяет метод на `GET`.
* `301 Moved Permanently`, постоянное перенаправление
* 307 Temporary Redirect
418 I'm a teapot
================

HTTP код ошибки **`418 I'm a teapot`** сообщает о том, что сервер не может приготовить кофе, потому что он чайник. Эта ошибка ссылается на Hyper Text Coffee Pot Control Protocol (гипертекстовый протокол кофейников) который был первоапрельской шуткой в 1998 году.

Статус
------
```

418 I'm a teapot
```

Спецификации
------------

| Specification | Title |
| --- | --- |
| RFC 2324, раздел 2.3.2: 418 I'm a teapot | Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
201 Created
===========

HTTP **`201 Created`** Код ответа об успешном статусе указывает, что запрос выполнен успешно и привёл к созданию ресурса. Новый ресурс эффективно создаётся до отправки этого ответа. И новый ресурс возвращается в теле сообщения, его местоположение представляет собой либо URL-адрес запроса, либо содержимое заголовка `Location.`

Общим случаем использования этого кода состояния является результат `POST` запроса.

Статус
------
```

201 Created
```

Технические характеристики
--------------------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.3.2: 201 Created | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* HTTP request methods
429 Too Many Requests
=====================

HTTP **`429 Too Many Requests`** код ответа указывает, что пользователь отправил слишком много запросов за последнее время ("ограничение скорости" или "rate limiting" ).

В этот ответ может быть включён `Retry-After`, указывающий, как долго ждать нового запроса.

Статус
------
```

429 Too Many Requests
```

Пример
------
```

HTTP/1.1 429 Too Many Requests
Content-Type: text/html
Retry-After: 3600
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 6585, раздел 4: 429 Too Many Requests | Additional HTTP Status Codes |

Смотрите также
--------------

* `Retry-After`
* 429 Too Many Requests
303 See Other
=============

HTTP код перенаправления **`303 See Other`** обычно отправляется в результате `PUT` или `POST` запроса и указывает, что перенаправление производится не на новый (только что загруженный) ресурс, а на другую страницу, например, страницу подтверждения или страницу с результатами загрузки. Метод, используемый для отображения страницы, на которую производится перенаправление - всегда `GET`.

Статус
------
```

303 See Other
```

Пример
------

### Запрос клиента


```http
POST /api/items/delete HTTP/1.1
Host: www.example.org
```

### Ответ сервера


```http
HTTP/1.1 303 See Other
Location: /confirmation
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.4.4: 303 See Other | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `302 Found`, временное перенаправление
404 Not Found
=============

Код ответа на ошибку HTTP **404 Not Found** указывает, что сервер не может найти запрошенный ресурс. Ссылки, ведущие к коду 404, часто называются сломанными или мёртвыми связями и приводят к ссылочной гнили.

Код статуса 404 не уточняет, отсутствует ли запрашиваемый ресурс временно или постоянно. Но если серверу известно, что указанный ресурс удалён навсегда, то вместо статуса 404 следует использовать `410` (Gone) .

Статус
------
```

404 Not Found
```

Пользовательские страницы ошибок
--------------------------------

Многие веб-сайты настраивают внешний вид страницы 404, чтобы быть более полезными для пользователя и давать рекомендации. Серверы Apache могут быть настроены с использованием файла **.htaccess** и фрагмента кода, например, такого, как этот.


```bash
ErrorDocument 404 /notfound.html
```


Вы можете взять MDN's 404 page в качестве вдохновения.

**Примечание:** Примечание: дизайн на 404 страницах - an endless source of inspiration, но имейте в виду, что в нем также существует a set of best practices, которые делают эти страницы полезными для пользователей веб-сайтов.

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.5.4: 404 Not Found | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `410`
502 Bad Gateway
===============

HTTP серверный код ответа на ошибку **`502 Bad Gateway`** указывает, что сервер, действуя как шлюз или прокси, получил неверный ответ от восходящего сервера.

**Примечание:** Сетевой шлюз может ссылаться на разные вещи в сети, а ошибка 502 обычно не является чем-то, что вы можете исправить, но требует исправления веб-сервером или прокси, к которым вы пытаетесь получить доступ.

Статус
------
```

502 Bad Gateway
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.6.3: 502 Bad Gateway | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `504`
* 502 Bad Gateway
205 Reset Content
=================

Статус ответа HTTP **`205 Reset Content`** сообщает клиенту об изменении вида документа, например, для очистки содержимого формы, сброса состояния холста или обновления пользовательского интерфейса.

Статус
------
```

205 Reset Content
```

Спецификации
------------

| Specification | Title |
| --- | --- |
| RFC 7231, раздел 6.3.6: 205 Reset Content | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* `204` No Content
410 Gone
========

Код ошибки HTTP **`410 Gone`** указывает, что целевой ресурс больше недоступен на сервере происхождения и что это состояние, вероятно, будет постоянным.

Если вы не знаете, является это состояние временным или постоянным, вместо него следует использовать код статуса `404` .

**Примечание:** По умолчанию ответ 410 кешируется

Статус
------
```

410 Gone
```

Спецификации
------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.5.9: 410 Gone | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `404`
408 Request Timeout
===================

HTTP **`408 Request Timeout`** означает, что сервер хотел бы отключить это неиспользуемое соединение. Он отправляется на незанятое соединение некоторыми серверами, *даже без какого-либо предыдущего запроса клиентом*

Сервер должен отправить заголовок `Connection` со значением «close» в ответ, поскольку **408** подразумевает, что сервер решил закрыть соединение, а не продолжать ждать.

Этот ответ используется гораздо больше, поскольку некоторые браузеры, такие как Chrome, Firefox 27+ или IE9, используют механизмы предварительного подключения HTTP для ускорения сёрфинга. Также обратите внимание, что некоторые серверы просто закрывают соединение без отправки этого сообщения.

Статус
------
```

408 Request Timeout
```

Спецификации
------------

| Спецификация | Титул |
| --- | --- |
| RFC 7231, раздел 6.5.7: 408 Request Timeout | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* `Connection`
* `X-DNS-Prefetch-Control` (en-US)
* 408 Request Timeout
425 Too Early
=============

**Экспериментальная возможность:** **Это экспериментальная технология**  
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Код ответа протокола передачи гипертекста (HTTP) **`425 Too Early`** означает, что сервер не хочет рисковать обрабатывать запрос, который может быть воспроизведённым, поскольку это открывает возможность для атаки повторного воспроизведения.

Статус
------
```

425 Too Early
```

Спецификации
------------

| Specification | Title |
| --- | --- |
| RFC 8470, раздел 5.2: 425: Early Data | Using Early Data in HTTP |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
103 Early Hints
===============

HTTP код **`103 Early Hints`** в первую очередь предназначен для использования с заголовком `Link` (en-US), чтобы клиент мог начать предварительную загрузку пока сервер готовит ответ.

Синтаксис
---------
```

103 Early Hints
```

Характеристики
--------------

| Характеристики | Статус | Комментарий |
| --- | --- | --- |
| RFC 8297: 103 Early Hints | IETF RFC | Начальное определение (Initial Definition) |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `Link` (en-US)
414 URI Too Long
================

Код состояния HTTP **`414 URI Too Long`** указывает, что URI, запрошенный клиентом, длиннее, чем сервер готов интерпретировать.

Есть несколько редких условий, когда это может произойти:

* Когда клиент неправильно конвертировал `POST` запрос в `GET` запрос с длинной информацией запроса,
* Когда клиент спустился в цикл перенаправления (например, перенаправленный префикс URI, который указывает на суффикс самого себя),,
* Или когда сервер подвергается атаке со стороны клиента, пытающегося использовать потенциальные дыры в безопасности.
Статус
------
```

414 URI Too Long
```

Спецификации
------------

| Спецификации | Название |
| --- | --- |
| RFC 7231, раздел 6.5.12: 414 URI Too Long | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* URI (en-US)
402 Payment Required
====================

**Экспериментальная возможность:** **Это экспериментальная технология**  
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

HTTP-ответ **`402 Payment Required`** это нестандартная ошибка клиента, зарезервированная для использования в будущем.

Иногда этот код означает, что запрос не может быть выполнен до тех пор, пока клиент не совершит оплату. Изначально создан для активации цифровых средств или (микро) платёжных систем и изображает, что запрошенный контент недоступен пока клиент не совершит оплату. Так или иначе, стандартизованного использования для кода нет, и он может использоваться разными элементами в разном контексте.

Статус
------
```

402 Payment Required
```

Пример ответа
-------------


```bash
HTTP/1.1 402 Payment Required
Date: Wed, 21 Oct 2015 07:28:00 GMT
```

Спецификации
------------

| Specification |
| --- |
| HTTP Semantics # status.402 |

Совместимость с браузерами
--------------------------

Этот код состояния *зарезервирован*, но не определен. Браузеры не поддерживают его на данный момент и отображаются общую ошибку `4xx`.

Смотрите также
--------------

* HTTP аутентификация
203 Non-Authoritative Information
=================================

"The HTTP **`203 Non-Authoritative Information`** Статус ответа указывает, что запрос был успешным, но прилагаемая полезная нагрузка была изменена с учётом ответа сервера`200` (`OK`) сервера происхождения с помощью преобразующего proxy.

"The `203"` ответ аналогичен значению `214` (en-US), значение "`Transformation Applied"`, кода `Warning` (en-US) имеет дополнительное преимущество, применимое к ответам с любым кодом состояния.

Статус
------
```

203 Non-Authoritative Information
```

Характеристики
--------------

| Спецификация | Название |
| --- | --- |
| RFC 7231, раздел 6.3.4: 203 Non-Authoritative Information | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |

Смотрите также
--------------

* `200`
* Proxy server
* `Warning` (en-US)