
Isso é puramente por curiosidade. Mas se eu digitasse o IP de um site, a solicitação ainda passaria pelo processo de pesquisa direta? Caso contrário, em que ponto e em que etapa se percebe que esta é a localização por IP e não um nome de host como uma string?
Além disso, como isso seria registrado no meu arquivo host? Se passar por todo o processo de pesquisa, o arquivo host conterá a string hostname, bem como o IP e será preenchido localmente?
Responder1
Se você usar um endereço IP, o sistema operacional saberá imediatamente que se trata de um endereço IP e não fará uma pesquisa direta.
Ao fazer uma solicitação HTTP, o primeiro passo é obter o endereço IP do destino, para que o navegador possa se comunicar com o servidor. Para a comunicação com o servidor, tudo acontece via IP, de endereço IP a endereço IP, portanto o nome do servidor não é necessário para esta comunicação. No entanto, ele é passado nos cabeçalhos HTTP como um Host:
cabeçalho para permitir que o servidor web saiba qual site você está procurando, se ele estiver hospedando vários sites.
No caso de acesso por endereço IP, isso não acontece, sendo apresentado o site padrão.
Seu hosts
arquivo é um arquivo estático, ele não muda por nenhuma ação que você execute, exceto se você o editar diretamente (ou tiver scripts ou aplicativos que o modifiquem).
Responder2
Como outros escreveram, ao usar um endereço IP você está de fato ignorando o DNS que permite acessar, por exemplo, sites de desenvolvimento sem um nome de host.
Adicionar um nome de host simulado de IP em /etc/hosts é extremamente comum novamente para sites de desenvolvimento. Ao contrário de usar o endereço IP diretamente, isso a) ainda ignorará o DNS b) fará com que o navegador adicione o Host
cabeçalho da solicitação à solicitação HTTP, permitindo hosts virtuais em um servidor local, por exemplo.