Que signifient ces codes d'état HTTP ?

Que signifient ces codes d'état HTTP ?

Les codes d'état HTTP sont une partie essentielle de la navigation Web. Chaque demande que vous faites, chaque fois que vous cliquez sur un lien ou entrez une URL, vous obtiendrez une réponse. Derrière cette réponse se trouve un code numérique résumant le résultat.





Vous avez entendu parler du code 404 et vous avez probablement maudit votre navigateur chaque fois qu'il en affiche un. Mais HTTP est plus puissant que vous ne le pensez et les codes d'état gèrent de nombreux scénarios différents. Lisez la suite pour en savoir plus sur ces petits nombres énigmatiques.





Comment les clients Web et les serveurs communiquent

La navigation sur le Web est rendue possible par la communication entre les clients et les serveurs. Lorsque vous demandez à consulter une page, votre client (navigateur) envoie une requête à un serveur (site Web). Espérons que cette demande réussisse, auquel cas le serveur envoie une réponse à lire.





Dans sa réponse, le serveur Web inclut plus que le contenu. Pour commencer, il comprend une série d'en-têtes, de petits morceaux de métadonnées qui s'appliquent à la réponse. Par exemple, le Type de contenu l'en-tête pourrait ressembler à ceci :

Content-Type: text/html; charset=UTF-8

Cela signifie que la réponse est HTML par opposition à une image ou un fichier musical.



Mais avant le contenu, avant même les en-têtes, chaque réponse HTTP inclut une ligne qui ressemble à ceci :

HTTP/1.1 200 OK

Dans cet exemple, à côté de la version HTTP (1.1), un code d'état indique 200 OK. Autrement dit, tout va bien, voici votre contenu. Le 200 est le bit le plus important. Les systèmes peuvent le tester pour déterminer exactement ce qui s'est passé. Le OK est un petit indice sympathique décrivant le statut de tout humain qui regarde.





Exemples de codes de statut communs

Les codes d'état 404 et 200 sont très courants, mais il existe de nombreuses autres possibilités.

  • 500 (ERREUR SERVEUR INTERNE) est un état d'erreur. Cela signifie que quelque chose s'est mal passé sur le serveur et qu'il ne peut pas répondre à la demande. Cela peut être un bug de programmation ou une autre erreur d'exécution.
  • 403 (INTERDIT) signifie que le serveur a compris la demande mais refuse de l'autoriser. Cela s'applique souvent aux actions liées à l'utilisateur dans des applications Web plus complexes. Par exemple, essayer de modifier une publication appartenant à quelqu'un d'autre.
  • 401 (NON AUTORISÉ) est très similaire à 403. Dans ce cas, la demande d'origine n'est pas autorisée à accéder à la ressource car elle n'a fourni aucune information d'identification de l'utilisateur. En d'autres termes, vous n'êtes pas connecté.
  • 400 (MAUVAISE DEMANDE) signifie que le serveur ne pouvait pas comprendre ce qui était demandé. Il y a peut-être des informations manquantes, comme un paramètre d'URL. Peut-être que quelque chose a corrompu la demande en transit.

Groupes de codes d'état HTTP

Tous les codes d'état que nous avons vus jusqu'à présent sont à trois chiffres, tous compris entre 200 et 500. Ce n'est pas une coïncidence. Les statuts HTTP comportent tous trois chiffres, le premier chiffre compris entre un et cinq inclus. Et la valeur de ce premier chiffre place le code dans l'un des cinq groupes, chacun avec une signification spécifique.





Le premier groupe, 1xx, est informatif. Ces cas signifient tous que le serveur a compris la demande, mais n'est pas prêt à envoyer une réponse. Vous ne les verrez pas beaucoup en action, mais ils sont là pour les systèmes qui en ont besoin.

Le groupe 2xx est le foyer de la réponse que vous souhaitez généralement : 200 (d'accord) . C'est le cas de réussite le plus courant, mais il y en a d'autres.

Les 204 (SANS CONTENU) le code est assez étrange. Un serveur peut le renvoyer à la suite d'un PUT ou d'un POST ou d'un PATCH. La signification, dans ces cas, serait que le serveur a effectué la mise à jour, mais il n'est pas nécessaire de retourner quoi que ce soit au client.

Les codes du groupe 3xx montrent comment les statuts HTTP vont au-delà de la simple communication d'un succès ou d'un échec. Les codes d'état commençant par un 3 indiquent une redirection. Cela signifie que la demande d'origine n'était pas mauvaise, mais le client doit utiliser une URL différente à la place.

Cela peut être temporaire, comme dans le cas de 302 (TROUVÉ) , qu'un site peut utiliser pour héberger une URL promotionnelle qui redirige vers une page de produit finale. Un site peut utiliser une redirection permanente à la place, via le 301 DÉMÉNAGÉ DÉFINITIVEMENT) statut. C'est une bonne pratique lorsque, par exemple, un site a changé le nom d'une page.

comment vérifier si le disque dur est défaillant

Les statuts de redirection sont généralement accompagnés d'un Emplacement entête. Cela indique au client quelle URL demander au lieu de l'originale. Les serveurs répondent souvent avec des en-têtes supplémentaires. Ceux-ci fourniront des informations plus utiles que le code d'état seul.

Les états commençant par un 4 sont des erreurs client. Essentiellement, cela signifie que le navigateur (ou la personne qui l'utilise) a fait quelque chose de mal. Nous en avons déjà discuté plusieurs (400, 401, 403, 404), et c'est le plus grand groupe de codes d'état par un montant significatif. D'autres exemples d'erreur client incluent la demande d'une URL qui existait mais qui n'existe plus : 410 (PARTI) . Il y a aussi 429 (TOP DE DEMANDES) , qui prend en charge la limitation du débit afin que les ressources ne soient pas submergées. Ceci est très couramment utilisé par les API REST.

Enfin, les statuts compris entre 500 et 599 indiquent qu'un problème s'est produit avec le serveur alors qu'il tentait de répondre à la demande.

Obtenir le statut HTTP avec curl

L'outil de ligne de commande HTTP polyvalent le plus couramment utilisé est boucle . En utilisant curl, vous pouvez envoyer des requêtes HTTP à la main, voir les détails de la réponse sous-jacente et examiner les codes d'état.

Le programme curl ne rend pas incroyablement facile l'affichage d'un simple code d'état, mais vous pouvez le faire en utilisant quelques options, à savoir :

  • -ou dit à curl d'envoyer sa sortie par défaut dans un fichier. Vous pouvez l'utiliser pour supprimer toutes les sorties normales.
  • -dans affiche des informations personnalisées à partir d'un ensemble de variables disponibles, dont l'une est http_code, c'est-à-dire le code d'état de la réponse.

Vous pouvez aussi utiliser -s pour masquer certains détails que curl affiche généralement sur le transfert, tels que la progression en temps réel. Voici comment regrouper ces options :

$ curl -sw '%{http_code}' -o /dev/null http://example.org
200
$ curl -sw '%{http_code}' -o /dev/null http://bbc.co.uk
301

Ou vous pouvez utiliser des options légèrement différentes et un pipeline pour manipuler le résultat :

$ curl -sI http://example.org/no | head -1 | cut -f2 -d' '
404

Affichage des codes d'état dans un navigateur Web

Si jamais vous avez besoin de vérifier les codes d'état HTTP, votre navigateur Web peut vous aider. La plupart des navigateurs modernes ont une console qui peut afficher des informations avancées. En utilisant Chrome comme exemple, voici comment vérifier le code d'état d'une URL :

  1. Choisir Vue -> Développeur -> Outils de développement depuis le menu principal. Cela fait basculer une petite fenêtre en bas de votre navigateur.
  2. Si vous ne regardez pas déjà le Réseau onglet de la fenêtre Outils de développement, changez-le.
  3. Clique le Doc bouton pour afficher uniquement les demandes de contenu de page.
  4. Actualisez la page que vous consultez.

Notez qu'à côté des URL demandées, le navigateur affiche un Statut colonne. Il montre exactement quel code d'état le serveur a renvoyé.

Autres ressources

Il existe de nombreuses bonnes ressources qui expliquent plus en détail les codes d'état HTTP. La page Wikipédia intitulée Liste des codes d'état HTTP et ce document officiel sur les normes de suivi des données sont de bons points de départ.

La référence la plus utile pourrait être httpstatuses.com . Il explique tous les codes d'état HTTP dans un format concis et facile à comprendre. Il donne également des détails de code utiles qui peuvent être utiles lors de la programmation de tout ce qui concerne HTTP.

Le format des URL des httpstatuses est particulièrement utile. La page du code d'état 403 est simplement https://httpsstatuses.com/403 . Vous pouvez facilement modifier l'URL pour rechercher le code d'état dont vous avez besoin.

Les statuts HTTP font fonctionner le Web

Le code d'état HTTP est un simple nombre à trois chiffres que la plupart des gens connaissent sous l'apparence du 404. Mais il est beaucoup plus puissant que cela, et les codes d'état prennent en charge un large éventail de comportements.

HTTP2 est la prochaine version de HTTP, mais la bonne nouvelle est que les codes d'état restent les mêmes. Tout ce que vous avez appris ici sera toujours pertinent dans un avenir prévisible.

Partager Partager Tweeter E-mail Qu'est-ce que HTTP/2 et comment affecte-t-il l'avenir d'Internet ?

Internet est appelé à devenir plus efficace grâce à l'arrivée de HTTP/2. Mais qu'est-ce que c'est et comment s'améliore-t-il sur HTTP ?

Lire la suite
Rubriques connexes
  • La programmation
  • HTTPS
  • Sécurité du navigateur
A propos de l'auteur Bobby Jack(58 articles publiés)

Bobby est un passionné de technologie qui a travaillé comme développeur de logiciels pendant près de deux décennies. Il est passionné par les jeux, travaillant comme rédacteur de critiques au Switch Player Magazine, et est immergé dans tous les aspects de la publication en ligne et du développement Web.

comment fonctionne un adaptateur CPL
Plus de Bobby Jack

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner