Recherche…


Introduction

Dans HTTP, les codes d'état sont un mécanisme lisible par une machine qui indique le résultat d'une demande précédemment émise. De RFC 7231, sec. 6 : "L'élément de code d'état est un code entier à trois chiffres donnant le résultat de la tentative de comprendre et de satisfaire la demande."

La grammaire formelle permet que les codes soient compris entre 000 et 999 . Cependant, seule la plage comprise entre 100 et 599 a attribué une signification.

Remarques

HTTP / 1.1 définit un nombre de codes d'état HTTP numériques qui apparaissent dans la ligne d'état - la première ligne d'une réponse HTTP - pour résumer ce que le client doit faire avec la réponse.

Le premier chiffre d'un code d'état définit la classe de la réponse:

En pratique, il n'est pas toujours facile de choisir le code de statut le plus approprié.

500 Erreur de serveur interne

Une erreur de serveur interne HTTP 500 est un message général indiquant que le serveur a rencontré quelque chose d'inattendu. Les applications (ou le serveur Web global) doivent utiliser un 500 en cas d'erreur lors du traitement de la demande, c'est-à-dire qu'une exception est levée ou qu'une condition de la ressource empêche le processus de se terminer.

Exemple de ligne d'état:

HTTP/1.1 500 Internal Server Error

404 Introuvable

HTTP 404 non trouvé signifie que le serveur n'a pas pu trouver le chemin en utilisant l'URI demandé par le client.

HTTP/1.1 404 Not Found

Le plus souvent, le fichier demandé a été supprimé, mais il peut parfois s'agir d'une mauvaise configuration de la racine du document ou d'un manque d'autorisations (bien que les autorisations manquantes déclenchent plus fréquemment HTTP 403 Forbidden).

Par exemple, Microsoft IIS écrit 404.0 (0 est le sous-statut) dans ses fichiers journaux lorsque le fichier demandé a été supprimé. Mais lorsque la requête entrante est bloquée par des règles de filtrage des requêtes, elle écrit 404.5-404.19 dans des fichiers journaux en fonction de la règle qui bloque la requête. Une référence de code d'erreur plus détaillée est disponible sur le support Microsoft .

Refuser l'accès aux fichiers protégés

Utilisez 403 Interdit lorsqu'un client a demandé une ressource inaccessible en raison des contrôles d'accès existants. Par exemple, si votre application dispose d'un itinéraire /admin qui ne doit être accessible qu'aux utilisateurs disposant de droits d'administration, vous pouvez utiliser 403 lorsqu'un utilisateur normal demande la page.

GET /admin HTTP/1.1
Host: example.com
HTTP/1.1 403 Forbidden

Demande réussie

Envoyez une réponse HTTP avec le code d'état 200 pour indiquer une demande réussie. La ligne d'état de réponse HTTP est alors:

HTTP/1.1 200 OK

Le texte d'état OK n'est qu'informatif. Le corps de la réponse (charge utile du message) doit contenir une représentation de la ressource demandée. S'il n'y a pas de représentation 201 Aucun contenu ne doit être utilisé.

Répondre à une demande conditionnelle de contenu en cache

Envoyer un état de réponse 304 non modifié à partir de l'envoi du serveur en réponse à une demande du client contenant des en If-Modified-Since têtes If-Modified-Since et If-None-Match , si la ressource de demande n'a pas changé.

Par exemple, si une demande de client pour une page Web inclut l'en-tête If-Modified-Since: Fri, 22 Jul 2016 14:34:40 GMT et que la page n'a pas été modifiée depuis, répondez avec la ligne d'état HTTP/1.1 304 Not Modified .

Top 10 HTTP Status Code

2xx succès

  • 200 OK - Réponse standard pour les requêtes HTTP réussies.
  • 201 Créé - La demande a été satisfaite, entraînant la création d'une nouvelle ressource.
  • 204 No Content - Le serveur a traité la demande avec succès et ne renvoie aucun contenu.

Redirection 3xx

  • 304 Not Modified - Indique que la ressource n'a pas été modifiée depuis la version spécifiée par les en If-Modified-Since têtes de requête If-Modified-Since ou If-None-Match .

Erreur client 4xx

  • 400 Requête incorrecte - Le serveur ne peut pas ou ne veut pas traiter la demande en raison d'une erreur apparente du client (par exemple, syntaxe de requête mal formée, taille trop grande, cadrage de message non valide ou acheminement de requête trompeuse).
  • 401 Unauthorized - Similaire à 403 Interdit , mais spécifiquement utilisé lorsque l'authentification est requise et a échoué ou n'a pas encore été fournie. La réponse doit inclure un champ d'en WWW-Authenticate tête WWW-Authenticate contenant un défi applicable à la ressource demandée.
  • 403 Interdit - La demande était une requête valide, mais le serveur refuse de répondre. L'utilisateur peut être connecté mais ne dispose pas des autorisations nécessaires pour la ressource.
  • 404 Introuvable - La ressource demandée est introuvable, mais peut être disponible ultérieurement. Les demandes ultérieures du client sont autorisées.
  • 409 Conflit - Indique que la demande n'a pas pu être traitée en raison d'un conflit dans la demande, tel qu'un conflit de modification entre plusieurs mises à jour simultanées.

Erreur serveur 5xx

  • 500 Internal Server Error - Un message d'erreur générique, donné lorsqu'une condition inattendue s'est produite et qu'aucun message plus spécifique n'est approprié.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow