Pergunta

Eu estou construindo um servidor HTTP simples para um projeto. A maioria dos sites têm personalizados 404 páginas de erro. Às vezes, porém, você verá Firefox cuspindo um genérico página 404 (ou 405, etc ...). Como ele decidir o que fazer? Qual deveria ser a resposta HTTP ser? É "HTTP / 1.0 404 não encontrado" suficiente?

Graças

Foi útil?

Solução

Assim, o Firefox não irá mostrar uma página de erro 404 genérico na maioria das circunstâncias; você está pensando do Internet Explorer, que ignora a página de um site 404 se for abaixo de um certo tamanho e exibe o seu próprio.

Outras dicas

Se o servidor não consegue encontrar o recurso solicitado (por exemplo, uma página web), ele envia uma HTTP / 1.0 404 Not Found na seção de cabeçalho HTTP.

Servidores pode mapear uma página de erro para esse erro, para que possa obter uma página de erro legível. Os navegadores também pode mapear uma página de erro próprio, assim você pode ver uma mensagem de erro 404 específicas do navegador.

Você pode ver o código de erro no campo de status em arquivos de log .

Você pode redirecionar o usuário para uma página específica com esta estrutura:

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

Veja mais detalhes sobre Bem-vindo ao erro 404 páginas .com

É perfeitamente válido para retornar um corpo html com um código de 404 resposta. Se nenhum corpo é fornecido em seguida, o navegador irá mostrar uma página padrão.

  1. Se você só enviar HTTP / 1.0 404 Not Found , então o padrão do navegador será exibida.
  2. Se você adicionar um corpo para a resposta o navegador irá utilizar principalmente isso.

Se você estiver criando um servidor HTTP que você pode querer olhar para o RFC que descreve o protocolo: http://www.faqs.org/rfcs/rfc2616.html

Para o código de status 404 que diz:

nada

O servidor não encontrou combinando o Request-URI. Sem
indicação é dada sobre se o condição é temporária ou
permanente. O (Longe) código de status 410 Deve ser usado se o servidor sabe, através de algum configurável internamente mecanismo, que um recurso de idade é permanentemente disponível e não tem endereço de encaminhamento. esse status código é comumente usado quando o servidor não deseja revelar exatamente por isso o pedido foi recusado, ou quando nenhuma outra resposta é aplicável.

Você não pode controlar como o navegador irá tratar cada código de status, você shuld confiar em seu bom comportamento.

Dito isso, você pode se beneficiar usando um dos servidores HTTP existentes. Olhada neste sobre como criar um servidor HTTP em C ou C ++ postado há alguns dias,

Geralmente é criado no servidor web, ou seja:. Quando o servidor recebe um 404, submetê-la a esta página

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top