HTTPQUERY
Русский

200 OK

Применение

Ответ 200 OK всегда содержит тело сообщения, хотя сервер вправе установить нулевую длину тела. В зависимости от сервера это ожидаемо при обработке запросов PUT, DELETE или OPTIONS.

Когда серверу нечего возвращать, уместнее код состояния 204. Для запросов, создающих новый ресурс, например POST, создающего содержимое, вместо этого возвращается код состояния 201.

Влияние на SEO

Ответ 200 передаёт содержимое в конвейер индексирования Google, но индексирование не гарантируется. Google оценивает содержимое и самостоятельно решает, включать ли страницу в результаты поиска. Ответ 200 на странице, которая сообщает, что содержимое отсутствует или удалено, создаёт мягкий 404. Слишком большое количество мягких 404 подрывает доверие Google к серверным сигналам сайта и негативно сказывается на ранжировании.

Примечание

Инструменты разработчика браузера показывают “200 (from disk cache)” или “200 (from memory cache)”, когда ответ отдаётся из локального кэша без сетевого запроса. Это отличается и от 200, отправленного сервером (полный сетевой обмен), и от 304 (сервер подтвердил актуальность кэша). “200 from cache” означает, что max-age из Cache-Control ещё не истёк, тогда как 304 означает, что браузер выполнил повторную валидацию на сервере.

GET

Ответ на GET содержит тело сообщения запрошенного ресурса.

Запрос

GET /document.pdf HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000

<message body contains the requested PDF document>

Ответ на HEAD содержит те же заголовки, что и ответ на GET, но без тела сообщения.

Запрос

HEAD / HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8

POST

Ответ на POST обычно содержит информацию о результате действия или о состоянии выполнения.

Запрос

POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24

{"name":"example entry"}

Ответ

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"success":"true"}

PUT

Ответ на PUT обычно содержит информацию о результате действия или о состоянии выполнения.

Запрос

PUT /api/data/1 HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24

{"name":"updated entry"}

Ответ

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"success":"true"}

TRACE

Ответ на TRACE содержит сообщение запроса в том виде, в каком сервер его получил.

Запрос

TRACE / HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Content-Type: message/http
Content-Length: 38

TRACE / HTTP/1.1
Host: example.com

DELETE

Ответ на DELETE содержит указание на состояние завершённого действия.

Запрос

DELETE /api/data/1 HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18

{"deleted":"true"}

OPTIONS

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

Запрос

OPTIONS / HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 200 OK
Allow: GET,HEAD,PUT,OPTIONS
Content-Type: text/plain;charset=UTF-8

Примеры кода

.NET

HttpStatusCode.OK

Rust

http::StatusCode::OK

Rails

:ok

Go

http.StatusOK

Symfony

Response::HTTP_OK

Python3.5+

http.HTTPStatus.OK

Java

java.net.HttpURLConnection.HTTP_OK

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_OK

Angular

@angular/common/http/HttpStatusCode.Ok