Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Code d'état HTTP 404 (Not Found)

Code HTTP 404 (Not Found) (Pas trouvé)

cr  07.04.2018      r+  18.03.2022      r-  19.04.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Dans les relations « client / serveur » utilisant le protocole HTTP (et HTTPS), les codes HTTP (‘HTTP Status code’ – « Code d'état HTTP ») sont des codes à 3 ou 4 chiffres que renvoie le serveur au client (un navigateur Web ou un robot tels les robots parcourant le Web pour l'indexer ou un logiciel aspirateur de sites Web, etc.) qui lui a envoyé une requête HTTP pour lui dire s'il a bien reçu la requête, s'il a été capable de l'interpréter, quelle suite il donne, quelle erreur il a rencontrée, etc.

Ces codes sont destinés aux traitements automatiques par les « clients HTTP ». Ils ont été normalisés et sont spécifiés dans la RFC ("Request for Comments" - « Demande de commentaires ») [1] [2] [3] 2016. D’autres codes HTTP (‘HTTP Status code’ – « Code d'état HTTP »), initialement non normalisés, mais très utilisés sur le Web, ont ensuite été ajoutés par la RFC [4] 7231.

Il existe également des codes HTTP spécifiés et largement utilisés bien que hors de toute RFC.

Les codes HTTP sont des codes d'état. Certains indiquent un état d'erreur. Ce sont alors des codes erreur : ils indiquent un état d'erreur. Il est alors utilisé des expressions pas très justes comme :

  • Erreur 404
  • Code erreur 404


Code HTTP

404

Message (en anglais)

Not Found

Message (en français)

Pas trouvé

Type de code

Code erreur du client Web (Codes 4nn - Codes commençant par 4)
La classe 4nn de codes d'état est définie pour répondre au cas où il semble que le client (par exemple le navigateur Web) ait commis une erreur. Si le client n'a pas encore achevé la transmission de sa requête lorsqu'il reçoit le code 4xx, alors il doit cesser toute transmission. Excepté lorsque ce code répond à une requête de type HEAD, le serveur pourra y inclure une entité explicitant la nature de l'erreur, et indiquant s'il s'agit d'une condition d'erreur temporaire ou permanente. Ces codes sont valides pour tous les types de requête.

  • Si l'erreur 404 n'est pas gérée par le site Web, le serveur d'hébergement du site (enfin, l'opérateur du serveur d'hébergement) peut prendre l'initiative d'envoyer une page d'erreur de son cru (certains en profitent pour détourner l'usage et la finalité de cette page en la monétisant par l'insertio de publicité qui s'affichent donc dans un site Web qui n'a rien mis en place de tel).

  • Si l'erreur 404 est gérée par le Webmaster du site Web, voici un exemple d'une page d'erreur 404 :
    Exemple de page d'erreur 404 - La page d'assiste.com.

Signification

Ressource non trouvée. Le serveur n'a rien trouvé qui corresponde à l'adresse (URI) demandée ( non trouvé ). Cela signifie que l'URL que vous avez tapée ou cliquée est mauvaise ou obsolète et ne correspond à aucun document existant sur le serveur (vous pouvez essayer de supprimer progressivement les composants de l'URL en partant de la fin pour éventuellement retrouver un chemin d'accès existant).

Page du code dans la RFC anglaise 2616
https://tools.ietf.org/html/rfc2616#page-66
Page du code dans la RFC anglaise 7231
https://tools.ietf.org/html/rfc7231#page-59
Page du code dans la RFC française 2661
http://abcdrfc.free.fr/rfc-vf/pdf/rfc2616.pdf
Autres ressources

404 Not Found

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

Dans Hypertext Transfer Protocol -- HTTP/1.1

404 Pas trouvé

Le serveur n'a rien trouvé correspondant à l'URI demandée. Aucune indication n'est donnée quant à savoir si la condition est temporaire ou permanente. Le code d'état 410 (Gone) DEVRAIT être utilisé si le serveur sait, via un mécanisme configurable en interne, qu'une ancienne ressource est définitivement indisponible et n'a pas d'adresse de transfert. Ce code d'état est couramment utilisé lorsque le serveur ne souhaite pas révéler exactement pourquoi la demande a été refusée ou lorsqu'aucune autre réponse n'est applicable.

Dans Hypertext Transfer Protocol -- HTTP/1.1

Le code erreur (code HTTP) 404 fait partie des spécifications normalisées du protocole HTTP.

Gestion des erreurs 403/404 par le Webmaster

Le serveur retourne une erreur 404 que le navigateur Web (Firefox, Internet Explorer, Opera, Google Chrome, Safari, K-Meleon, etc. ...) interprète et, en l'abscence de consigne particulière, affiche quelque chose d'assez laconique comme « 404 File Not Found » ou « 404 Fichier inexistant », etc.

Une consigne particulière peut être donnée aux navigateurs Web, dans un fichier nommé .htaccess à la racine de l'hébergement du site. Par exemple, le webmaster peut rédiger une page expliquant plus clairement au visiteur ce qui se passe.

Si la page explicative a pour nom 404.php, insérer dans le fichier .htaccess, les lignes suivantes qui ordonnent aux navigateurs Web d'afficher une page appelée 404.php si une erreur 403 ou 404 se présente :

Exemple

ErrorDocument 404 /404.php
ErrorDocument 403 /404.php




Le code erreur 404 est un code erreur retourné par le serveur d'une page Web demandée lorsque celle-ci n'existe pas. Plus généralement, c'est un code erreur retourné par un serveur lorsqu'une ressource demandée, sur l'Internet, n'existe pas.

Ce code erreur fait partie des spécifications normalisées du protocole HTTP.


10.4.5 404 Not Found




The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

Dans Hypertext Transfer Protocol -- HTTP/1.1


Le serveur retourne une erreur 404 que le navigateur Web (Firefox, Internet Explorer, Opera, Google Chrome, Safari, K-Meleon, etc. ...) interprète et, en l'absence de consigne particulière, affiche quelque chose d'assez laconique comme « 404 File Not Found » ou « 404 Fichier inexistant », etc. ...

Une consigne particulière peut être donnée aux navigateurs Web, dans un fichier nommé .htaccess à la racine de l'hébergement du site. Par exemple, le webmaster peut rédiger une page expliquant plus clairement au visiteur ce qui se passe. Si la page explicative a pour nom 404.php, insérer dans le fichier .htaccess, les lignes suivantes qui ordonnent aux navigateurs Web d'afficher une page appelée 404.php si une erreur 403 ou 404 se présente :


Exemple

ErrorDocument 404 /404.php
ErrorDocument 403 /404.php


Cette erreur concerne l'internaute et le Webmaster.

Après avoir vérifié l'orthographe, la syntaxe, la présence éventuelle d'une faute de frappe dans votre requête, etc., que faire ? Signaler cette erreur, d'une manière ou d'une autre, au site provoquant l'erreur. Cherchez, probablement en bas de page du site concerné, un lien appelé « Contact » ou quelque chose de similaire, ou signalez le problème dans leur forum de discussion.

]




Détournement de l'erreur 404

  • C'est le serveur de la page demandée qui voit, en premier, l'erreur 404. L'hébergeur du site (le propriétaire du serveur sur lequel se trouve le site) peut intercepter l'erreur 404 et, au lieu de retourner le code erreur 404 au navigateur Web du visiteur, il affiche une page Web qu'il a développé, faisant de la publicité pour son service et/ou affichant des publicités lui permettant de monétiser l'erreur 404 (gagner de l'argent).

  • L'hébergeur peut être obligé, par une obligation de justice ou politique, à retourner une erreur 404 afin de censurer certaines pages d'un site. Ainsi, dans de nombreux pays où les libertés d'expression n'existent pas, ce type de pseudo erreur 404 permet de camoufler des ressources.

Article un peu plus détaillé sur le détournement (la récupération) des erreurs 404 :
Récupération (détournement) de l'erreur 404

Les Webmasters peuvent utiliser des outils comme CrawlTrack (côté serveur) ou Xenu's Link Sleuth (côte local), pour débusquer des liens erronés.

]