Pregunta

Estoy creando un servidor HTTP simple para un proyecto. La mayoría de los sitios web tienen páginas de error 404 personalizadas. Aunque a veces, verás que Firefox escupe una página 404 genérica (o 405, etc ...). ¿Cómo decide qué hacer? ¿Cuál debería ser la respuesta HTTP? Es " HTTP / 1.0 404 NO ENCONTRADO " suficiente?

Gracias

¿Fue útil?

Solución

Por lo tanto, Firefox no mostrará una página de error 404 genérica en la mayoría de las circunstancias; estás pensando en Internet Explorer, que ignora la página 404 de un sitio web si está por debajo de un tamaño determinado y muestra la suya.

Otros consejos

Si el servidor no puede encontrar el recurso solicitado (por ejemplo, una página web), envía un HTTP / 1.0 404 NO ENCONTRADO en la sección del encabezado HTTP.

Los servidores pueden asignar una página de error para este error, para que pueda obtener una página de error legible. Los navegadores también pueden asignar una página de error propia, para que pueda ver un mensaje de error 404 específico del navegador.

Puede ver el código de error en el campo de estado en los archivos de registro .

Puede redirigir a su usuario a una página específica con esta estructura:

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

Consulte los detalles en Bienvenido a 404 Error Pages .com

Es perfectamente válido devolver un cuerpo html con un código de respuesta 404. Si no se proporciona un cuerpo, el navegador mostrará una página predeterminada.

  1. Si solo envía HTTP / 1.0 404 NO ENCONTRADO , se mostrará el valor predeterminado del navegador.
  2. Si agrega un cuerpo a la respuesta, el navegador usará principalmente eso.

Si está creando un servidor HTTP, es posible que desee ver el RFC que describe el protocolo: http://www.faqs.org/rfcs/rfc2616.html

Para el código de estado 404 dice:

  

El servidor no ha encontrado nada   emparejando el URI-Solicitud. No
  Se da una indicación de si el   condición es temporal o
  permanente. El código de estado 410 (Gone)   DEBE ser utilizado si el servidor sabe,   a través de algunos configurables internamente   Mecanismo, que es un recurso antiguo.   permanentemente no disponible y no tiene   dirección de reenvío. Este estado   El código se usa comúnmente cuando el servidor   No desea revelar exactamente por qué   la solicitud ha sido rechazada, o cuando   ninguna otra respuesta es aplicable.

No puede controlar cómo el navegador tratará cada código de estado, debe confiar en su buen comportamiento.

Dicho esto, puede beneficiarse del uso de uno de los servidores HTTP existentes. Mire esta pregunta sobre cómo crear un servidor HTTP en C o C ++ publicado hace unos días.

Normalmente se configura en el servidor web, es decir: cuando el servidor obtiene un 404, refiérase a esta página.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top