Question

Je construis un serveur HTTP simple pour un projet. La plupart des sites Web ont des pages d'erreur 404 personnalisées. Parfois, cependant, vous verrez Firefox cracher une page générique 404 (ou 405, etc.). Comment décide-t-il quoi faire? Quelle devrait être la réponse HTTP? Est " HTTP / 1.0 404 NON TROUVÉ & assez?

Merci

Était-ce utile?

La solution

Donc, Firefox n’affiche pas de page d’erreur générique 404 dans la plupart des cas; vous pensez à Internet Explorer, qui ignore la page 404 d'un site Web si sa taille est inférieure à une certaine taille et si elle affiche sa propre.

Autres conseils

Si le serveur ne trouve pas la ressource demandée (une page Web, par exemple), il envoie un message HTTP / 1.0 404 NON TROUVÉ dans la section d'en-tête HTTP.

Les serveurs peuvent mapper une page d'erreur pour cette erreur. Vous pouvez ainsi obtenir une page d'erreur lisible. Les navigateurs peuvent également mapper une propre page d'erreur. Vous pouvez ainsi voir un message d'erreur 404 spécifique au navigateur.

Vous pouvez voir le code d'erreur dans le champ d'état des fichiers journaux .

Vous pouvez rediriger votre utilisateur vers une page spécifique dotée de cette structure:

<HTML>
<head>
<meta HTTP-EQUIV="Refresh" CONTENT="5; URL=not404.htm">
</head>
</HTML>

Voir les détails sur Bienvenue dans 404 Pages d'erreur .com

Il est parfaitement valide de renvoyer un corps html avec un code de réponse 404. Si aucun corps n'est fourni, le navigateur affichera une page par défaut.

  1. Si vous envoyez uniquement HTTP / 1.0 404 NON TROUVÉ , les paramètres par défaut du navigateur s'affichent.
  2. Si vous ajoutez un corps à la réponse, le navigateur l'utilisera principalement.

Si vous créez un serveur HTTP, vous pouvez consulter le RFC décrivant le protocole: http://www.faqs.org/rfcs/rfc2616.html

Pour le code d'état 404, il est indiqué:

  

Le serveur n'a rien trouvé   correspondant à l'URI de la demande. Non
  il est indiqué si le   condition est temporaire ou
  permanent. Le code de statut 410 (Gone)   DEVRAIT être utilisé si le serveur sait,   à travers certains configurable en interne   mécanisme, qu'une ancienne ressource est   indisponible en permanence et n'a pas   adresse de réexpédition. Ce statut   le code est couramment utilisé lorsque le serveur   ne souhaite pas révéler exactement pourquoi   la demande a été refusée, ou quand   aucune autre réponse n'est applicable.

Vous ne pouvez pas contrôler la manière dont le navigateur traitera chaque code d'état, vous devez vous fier à son bon comportement.

Cela dit, vous pouvez utiliser l'un des serveurs HTTP existants. Consultez cette question sur la création d'un serveur HTTP en C ou C ++ publiée il y a quelques jours.

Généralement, il est configuré dans le serveur Web, c'est-à-dire: lorsque le serveur obtient un numéro 404, reportez-vous à cette page.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top