Formation PUB030 : Laravel, 2019 La gestion des erreurs

43.1 Les codes d'état HTTP


Lorsqu'un navigateur charge une page Web, la page peut être chargée avec succès ou retourner une erreur. Dans tous les cas, elle est accompagnée d'un code d'état HTTP.

Les codes rencontrés le plus fréquemment sont :

  • 200 (succès)
  • 404 (page non trouvée)
  • 500 (erreur d'exécution dans l'application)

Catégories pour les codes d'état HTTP

Selon le Internet Engineering Task Force (IETF), les codes d'état HTTP sont regroupés en différentes catégories.

Le premier chiffre du code d'état représente sa catégorie.

  • 1xx (Information)
  • 2xx (Succès)
  • 3xx (Redirection)
  • 4xx (Erreur côté client)
  • 5xx (Erreur côté serveur)

Liste des codes d'état HTTP

Voici d'autres codes que vous pourriez rencontrer. La liste complètes est disponible ici : https://www.rfc-editor.org/rfc/rfc9110.

Certains sites peuvent utiliser des codes qui ne font pas partie de la liste de l'IEFT. Ces codes non conformes sont indiqués par un astérisque.

Code Message Signification
101 Switching Protocols Changement de protocole, par exemple pour une communication via WebSockets
200 OK Requête réussie
203 Non-Authoritative Information Information retournée, mais générée par une source non certifiée
301 Moved Permanently Site déménagé de façon permanente
302 Moved Temporarily Site déménagé de façon temporaire
304 Not Modified Rien de changé, version en cache utilisée
400 Bad Request Un problème de syntaxe empêche le serveur de comprendre la requête
401 Unauthorized Utilisateur non authentifié
403 Forbidden

Accès refusé car l'usager ne détient pas les droits requis pour effectuer l'opération.

Sous Laravel, ceci se produit si le nom de domaine ne pointe pas sur le dossier public.

Peut également survenir lorsque le serveur détecte une tentative d'attaque.

404 Not Found Page ou ressource non trouvée
405 Method Not Allowed Méthode non autorisée, possiblement parce qu'on essaie d'atteindre une ressource par GET alors que seul POST est autorisé ou vice-versa
408 Request Timeout Délai dépassé par la requête
419* Unknown status

Statut inconnu.

Pourrait être causé, par exemple, par un problème avec la protection anti-CSRF ou, lors d'un appel AJAX, par une mauvaise configuration Content-Type.

422 Unprocessable entity Entité fournie avec la requête non compréhensible, possiblement à cause d'une erreur de validation
429* Too Many Requests Trop de requêtes, possiblement à cause d'un robot malveillant qui tente une attaque
500 Internal Server Error Erreur d'exécution dans l'application
502 Bad Gateway ou Proxy Error Le serveur a reçu une réponse non valide d'un autre serveur alors qu'il agissait en tant que passerelle ou proxy.
503 Service Unavailable Service non accessible de façon temporaire, comme par exemple lors de la maintenance du site Web

* Code qui ne fait pas partie de la liste de l'IEFT.

Quel est le code d'état de la page actuellement affichée ?

Il est possible de connaître le code d'état HTTP d'une page Web et des différents fichiers qu'elle utilise comme suit :

  • Affichez la page Web dans Google Chrome.
  • Faites un clic droit sur la page / Inspecter l'élément ou appuyez sur F12 (Outils de développement).
  • Cliquez sur Network.
  • Rafraîchissez la page. Dans la colonne Status, vous verrez les codes d'état des différents fichiers chargés par la page.

    Codes d'état HTTP dans Chrome

Pour plus d'information

« HTTP response status codes ». MDN. https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

« RFC 9110 HTTP Semantics - Status Code Registration ». IETF. https://www.rfc-editor.org/rfc/rfc9110#name-status-code-registration

« Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content ». Internet Engineering Task Force (IETF) . https://datatracker.ietf.org/doc/html/rfc7231#page-49

« Liste des codes HTTP ». Wikipedia. http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP

 

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre