Não funciona em alguns sites.
Hospedar um site por servidor (ou por endereço IP) não é uma boa ideia para sites pequenos. Hospedar vários sites em um endereço IP é possível, esse recurso é chamado de hosts virtuais.
Mas o servidor tem que de alguma forma verificar qual site você está disposto a abrir. A especificação do protocolo HTTP define um cabeçalho Host (que é obrigatório desde o HTTP 1.1) que contém o endereço do site que seu navegador está solicitando. Esse cabeçalho é usado pelo servidor para selecionar o host virtual apropriado.
Veja uma solicitação normal para o YouTube:
- Insira
http://youtube.comna barra de endereço e pressione Enter - Seu computador consulta o servidor DNS para resolver o
youtube.comdomain name para o endereço IP.- resposta do servidor DNS:
46.28.247.104
- resposta do servidor DNS:
-
O navegador envia uma solicitação HTTP para
46.28.247.104:GET / HTTP/1.1 Host: youtube.com- O servidor em
46.28.247.104reconheceyoutube.comcomo seu host virtual e o veicula para você.
- O servidor em
Agora, vamos supor que você mapeou youtube.com para 192.168.0.100 usando o arquivo hosts .
- Insira
http://youtube.comna barra de endereço e pressione Enter -
O IP de
youtube.comé fornecido no arquivohosts, portanto, nenhuma pesquisa de DNS é necessária.- O sistema informa ao navegador que o endereço
youtube.comé192.168.0.100
- O sistema informa ao navegador que o endereço
-
O navegador envia uma solicitação HTTP para
192.168.0.100:GET / HTTP/1.1 Host: youtube.com- O servidor em
192.168.0.100não reconheceyoutube.comcomo seu host virtual, portanto, ele responde com404código de erro.
- O servidor em