Como os servidores da Web sabem se você está usando o acesso direto ao endereço IP ou não?

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-00

Normalmente, apenas digitamos o endereço de um site que queremos visualizar, mas um servidor da web realmente “saberia” se usássemos o endereço IP direto? O post de perguntas e respostas do superusuário de hoje tem a resposta para a pergunta de um leitor confuso.

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.

Foto cortesia de Cory M. Grenier (Flickr) .

A questão

O leitor de superusuário Joseph A. quer saber como os servidores da web podem dizer se você está usando o acesso direto ao endereço IP ou não:

Alguns servidores da web, quando acessados ​​usando seu endereço IP, retornam um erro informando que o acesso direto ao endereço IP não é permitido. Já faz algum tempo que me pergunto como isso funciona.

Um navegador sempre resolve o endereço IP e se conecta a ele? O acesso direto ao endereço IP está simplesmente ignorando o DNS, certo? Como um servidor remoto sabe que você ignorou o DNS?

Como os servidores da web sabem se você está usando o acesso direto ao endereço IP ou não?

A resposta

O contribuidor SuperUser iAdjunct tem a resposta para nós:

Para responder à sua pergunta sobre como ele sabe, tem a ver com o que seu navegador envia ao servidor web. Você está certo de que o sistema sempre o resolve para um endereço IP, mas o navegador envia a URL que você tentou acessar no cabeçalho HTTP.

Aqui está um exemplo de cabeçalho que encontrei online, modificado para parecer que você usou o Firefox no Windows e digitou apple.com na barra de endereço:

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-01

Esta é a aparência do cabeçalho se você usasse seu endereço IP:

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-02

Ambos seriam enviados ao mesmo endereço IP por meio de um soquete, mas o navegador informa ao servidor da web o que foi acessado. Por quê? Porque os servidores web com o mesmo endereço IP podem hospedar vários sites e fornecer páginas diferentes para cada um. Ele não consegue distinguir quem deseja qual página por endereço IP porque todas têm a mesma, mas pode distingui-los pelo cabeçalho HTTP.


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Recomendado:  Como personalizar os botões do mouse em um iPad