Outil pour développeurs

Codes d'état HTTP

Recherchez par numéro ou par nom. Ce que signifie chaque code et quand l'utiliser.

Codes d'état HTTP Fonctionne sur votre appareil
  • Fonctionne dans votre navigateur — votre texte n'est jamais envoyé nulle part
  • Sans inscription, sans quota, gratuit et utilisable aussi souvent que vous le souhaitez

Comment ça marche

La plupart des codes d'état sont évidents et quelques-uns sont vraiment source de confusion, en particulier ceux qui se ressemblent. Saisissez un numéro, un mot comme forbidden, ou 4xx pour afficher toute une classe.

401 et 403, le duo que tout le monde confond

401 Unauthorized signifie en réalité non authentifié : le serveur ne sait pas qui vous êtes, et envoyer des identifiants peut régler le problème. 403 Forbidden signifie qu'il sait exactement qui vous êtes et que vous n'avez toujours pas le droit. Les noms sont historiques et peu utiles ; la distinction compte, car l'un invite à se connecter et l'autre non.

301 contre 302, et pourquoi cela compte pour le SEO

301 est permanent et transfère les signaux de classement vers la nouvelle adresse. 302 est temporaire et les laisse sur l'adresse d'origine. Utiliser 302 pour un déplacement permanent est une erreur courante et discrètement coûteuse. 307 et 308 sont les équivalents modernes qui garantissent en plus que la méthode ne change pas : un POST reste un POST, ce que 301 et 302 ne faisaient historiquement pas.

422 pour la validation

400 Bad Request signifie que le serveur n'a pas du tout compris la requête. 422 Unprocessable Content signifie qu'il l'a parfaitement comprise et que le contenu est erroné : un champ manquant, un e-mail invalide. La plupart des API devraient renvoyer 422 pour les échecs de validation et renvoient 400 par habitude.

Les classes

1xx informatif, 2xx succès, 3xx redirection, 4xx la faute du client, 5xx la faute du serveur. Ce dernier découpage est celui qu'il faut utiliser pour répartir les responsabilités lors d'un incident : un pic de 4xx signifie que les appelants font quelque chose de travers, un pic de 5xx signifie que c'est vous.

418

I'm a teapot, issu d'un poisson d'avril de 1998, puis normalisé pour de bon après qu'une tentative de le retirer des implémentations a provoqué un tollé. Il n'est pas destiné à un usage réel, et il fait pourtant bel et bien partie de la spécification.

FAQ

Codes d'état HTTP : questions

Quelle est la différence entre 401 et 403 ?

401 signifie non authentifié : le serveur ne sait pas qui vous êtes. 403 signifie qu'il le sait et que vous n'avez toujours pas le droit.

Faut-il utiliser 301 ou 302 ?

301 pour un déplacement permanent, qui transfère le classement. 302 pour un déplacement temporaire. Utilisez 308 et 307 si la méthode HTTP ne doit pas changer.

Quel code une erreur de validation doit-elle renvoyer ?

422 Unprocessable Content. 400 signifie que la requête n'a pas pu être comprise du tout.

Le 418 est-il réel ?

Oui. Il est né d'un poisson d'avril de 1998 et il est réellement normalisé, mais pas pour un usage concret.

Que signifie 502 ?

Un proxy a reçu une réponse invalide du serveur situé derrière lui, généralement parce que l'application est arrêtée ou plante.