Skip to content

HTTP Code

Spectraal edited this page Feb 1, 2023 · 2 revisions

Codes de retour HTTP (section 15). Voir la liste IANA

Ils sont composés de trois chiffres, le premier indiquant la classe :

  1. L'opération n'est pas terminée
  2. L'opération a été finie et avec succès,
  3. L'opération n'a pas été faite mais il ne s'agit pas pour autant d'une erreur (contrairement à ce que dit le RFC, ce n'est pas forcément une redirection, plutôt « la vérité est ailleurs », ainsi 304 signifie, en réponse à une requête conditionnelle, que la ressource n'a pas été modifiée)
  4. Erreur due au client, et qu'il n'est donc pas utile que celui-ci réessaie à l'identique,
  5. Erreur due au serveur et le client peut donc avoir intérêt à réessayer plus tard.

Les deux autres chiffres fournissent des détails mais un client HTTP simple peut se contenter de comprendre la classe et d'ignorer les deux autres chiffres. Par exemple :

  • 100 le serveur a compris la requête mais qu'il faut encore attendre pour la vraie réponse,
  • 200 il n'y a rien à dire, tout s'est bien passé comme demandé
  • 308 il faut aller voir à un autre URL
  • 201 qui indique que la ressource a été créée (en réponse à un PUT),
  • 304, pour répondre à une requête conditionnelle, qui veut dire que le contenu n'ayant pas été modifié, le serveur n'envoie pas de réponse
  • 400 qui signifie que la requête était syntaxiquement incorrecte
  • 401, pour demander que le client s'authentifie avant d'accéder à cette ressource
  • 403 refuse purement et simplement l'accès
  • 404 la ressource demandée n'a pas été trouvée sur ce serveur
  • 410 qui veut dire la même chose que 404 mais en ajoutant que la ressource a bien existé dans le passé mais a été retirée
  • 409 indique un conflit entre l'état de la ressource et une modification demandée par le client (lorsqu'on se sert de HTTP pour éditer des ressources)
  • 414 pour un URL trop long pour ce serveur (la norme HTTP ne met pas de limite quantitative à la taille des URL mais chaque serveur, lui, a une telle limite),
  • 418 n'est pas réellement dans le registre IANA mais il avait été utilisé dans un RFC du premier avril et il apparait souvent dans les blagues
  • 500 est une erreur générique du serveur, en général renvoyée quand le serveur a eu un problème imprévu
  • 501 Not Implemented
  • 503 que le serveur utilise quand il est temporairement à bout de moyens (surcharge, par exemple)

Clone this wiki locally