200 OK
Utilisation
Une réponse 200 OK inclut toujours un corps de message, même si le serveur est libre de fixer la longueur du corps à zéro. Selon le serveur, c’est le comportement attendu lors du traitement d’une requête PUT, DELETE ou OPTIONS.
Lorsque le serveur n’a aucun contenu à renvoyer, le code de statut 204 est plus approprié. Pour les requêtes qui créent une nouvelle ressource, comme un POST créant du contenu, un code de statut 201 est renvoyé à la place.
Impact SEO
Une réponse 200 transmet le contenu au pipeline d’indexation de Google, mais l’indexation n’est pas garantie. Google évalue le contenu et décide de manière indépendante d’inclure ou non la page dans les résultats de recherche. Une réponse 200 sur une page indiquant que le contenu est manquant ou supprimé crée un soft 404. Un trop grand nombre de soft 404 érode la confiance de Google dans les signaux serveur du site et affecte négativement le classement.
Remarque
Les DevTools des navigateurs affichent « 200 (from disk cache) » ou « 200 (from memory cache) » lorsque la réponse est servie depuis le cache local sans requête réseau. Cela diffère d’un 200 envoyé par le serveur (aller-retour réseau complet) et d’un 304 (le serveur a confirmé que le cache est à jour). « 200 from cache » signifie que la valeur max-age de Cache-Control n’a pas expiré, tandis que 304 signifie que le navigateur a revalidé auprès du serveur.
GET
Une réponse à un GET contient le corps de message de la ressource demandée.
Requête
GET /document.pdf HTTP/1.1
Host: example.com
Réponse
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 10000
<message body contains the requested PDF document>
HEAD
Une réponse à un HEAD contient les mêmes en-têtes qu’une réponse à un GET, sans corps de message.
Requête
HEAD / HTTP/1.1
Host: example.com
Réponse
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
POST
Une réponse à un POST contient généralement des informations sur le résultat de l’action ou sur l’état d’avancement.
Requête
POST /api/data HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24
{"name":"example entry"}
Réponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"success":"true"}
PUT
Une réponse à un PUT contient généralement des informations sur le résultat de l’action ou sur l’état d’avancement.
Requête
PUT /api/data/1 HTTP/1.1
Host: example.com
Content-Type: application/json
Content-Length: 24
{"name":"updated entry"}
Réponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"success":"true"}
TRACE
Une réponse à un TRACE contient le message de requête tel que le serveur l’a reçu.
Requête
TRACE / HTTP/1.1
Host: example.com
Réponse
HTTP/1.1 200 OK
Content-Type: message/http
Content-Length: 38
TRACE / HTTP/1.1
Host: example.com
DELETE
Une réponse à un DELETE inclut une indication de statut de l’action réalisée.
Requête
DELETE /api/data/1 HTTP/1.1
Host: example.com
Réponse
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 18
{"deleted":"true"}
OPTIONS
Une réponse à un OPTIONS inclut l’en-tête Allow énumérant les méthodes HTTP que le serveur accepte. Le serveur peut éventuellement préciser d’autres détails dans le corps du message.
Requête
OPTIONS / HTTP/1.1
Host: example.com
Réponse
HTTP/1.1 200 OK
Allow: GET,HEAD,PUT,OPTIONS
Content-Type: text/plain;charset=UTF-8
Références de code
.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