¿Cuándo aparece la página 404 estándar?
-
03-07-2019 - |
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
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.
- Si solo envía HTTP / 1.0 404 NO ENCONTRADO , se mostrará el valor predeterminado del navegador.
- 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.