O servidor HTTP é solicitado a um domínio que não hospeda. O que responder?

2

Estou tentando criar um servidor web usando node.js, (assim como um projeto de aprendizado, não para ser usado em produção, sei de expressjs), e não tenho certeza do que fazer no caso mencionado no título?

Eu tentei encontrar um código HTTP para indicar esse erro (4XX?), mas parece não haver nenhum? Como os servidores de produção respondem a isso?

Se eu pedir ao servidor que hospeda o google.com para asdasdas.com, ele responde com um erro 404, mas alguns outros servidores o redirecionam para o domínio que eles hospedam, então não estou muito certo sobre qual opção devo implementar !

Muito obrigado! :)

    
por Ruben Serrate 22.02.2016 / 14:07

1 resposta

2

Eu não acho que qualquer código de status exista para essa finalidade específica. Concordo que os códigos 4xx seriam o local mais óbvio para procurar por tal código de status.

Os clientes não devem estar produzindo tais solicitações, e é por isso que os códigos de status da classe 4xx parecem apropriados. A maioria das solicitações que correspondem aos critérios que você descreve são geradas por bots, geralmente com a intenção de enviar URLs de spam para seus arquivos de log por meio de um cabeçalho de referência.

O código de status 404 e um redirecionamento parecem opções sensatas.

Um argumento em favor de um redirecionamento é que, caso um usuário legítimo acabe gerando uma dessas solicitações, você ainda deseja que ele visite seu site. Da mesma forma, para rastreadores legítimos, você geralmente deseja que eles encontrem seu site.

Um argumento em favor de um 404 é que ele pode reduzir o tráfego que você recebe de usuários abusivos, e tornará mais difícil para os violadores encontrarem seu domínio real.

A correspondência mais próxima que encontrei na lista oficial de códigos de estado é o código de status 421 introduzido no HTTP / 2.0.

O código de status 421 é destinado a casos em que uma conexão é reutilizada para várias solicitações, mas em que as solicitações posteriores não podem ser atendidas pelo mesmo servidor, e o cliente precisa tentar novamente com uma nova conexão.

Isso pode ser relevante, por exemplo, se vários domínios forem resolvidos para o mesmo endereço IP, mas a infraestrutura do servidor fizer o proxy das conexões de entrada para diferentes servidores, dependendo do nome do host. Isso não é exatamente o mesmo que o seu cenário, então eu não aconselho você a usar o 421 para o seu cenário.

    
por 22.02.2016 / 14:40