Por que não consigo acessar o mesmo site ao usar este endereço IPv4 em vez do URL?

2

Quando eu capturo pacotes usando o analisador de pacotes wireshark enquanto visito link eu posso ver pacotes que usam o protocolo HTTP (ega Solicitação GET). Minha solicitação Get usa 4 protocolos: Ethernet II, IPv4, TCP e HTTP. Para o IPv4 eu posso ver meu próprio endereço IPv4 local do meu pc como fonte, para o destino eu vejo o endereço IPv4 91.198.174.225. Quando vou a esse endereço no meu navegador, chego a algum site relacionado à Wikipedia que diz "o wiki não existe". Por que não estou vendo o artigo do Hydrogen quando vou para esse endereço IP?

    
por Bentley4 11.05.2012 / 21:21

3 respostas

8

Provavelmente porque a wikipedia está executando hosts virtuais; o servidor 91.198.174.225 tem vários nomes de host.
Por exemplo, o site fr.wikipedia.org tem o mesmo endereço IP. Uma máquina grande pode ter centenas de hosts virtuais, limitados pela CPU, memória e largura de banda para essa máquina


Os navegadores da Web adicionam um cabeçalho Host: à solicitação, que é o nome do host da URL que você digita. O servidor da web exibirá um 'servidor virtual' diferente, incluindo páginas diferentes, dependendo do cabeçalho Host: da solicitação. Quando você vai para o servidor usando o endereço IP, você envia o endereço IP como o Host :. O servidor da Web tem uma configuração básica para essa solicitação, mas provavelmente não é a que você espera.

    
por 11.05.2012 / 21:32
3

É rotina para vários sites serem atendidos a partir do mesmo endereço IP. O uso do endereço IP na URL não é suficiente para esses sites. Você deve fornecer o nome de domínio adequado, que seu navegador colocará em um cabeçalho de host HTTP que informa ao servidor qual site você deseja.

    
por 11.05.2012 / 21:30
1

Embora suas solicitações sejam idênticas na camada TCP e abaixo, elas diferem na camada HTTP. Você notará que, em sua primeira solicitação, o campo Host no cabeçalho contém o nome do host que foi encontrado em seu URI original, enquanto a solicitação com o endereço IP em vez do nome do host tem um campo Header vazio ou que contém apenas o endereço IP. Consulte RFC 2616 para obter detalhes técnicos.

Sem o campo Host, não haveria possibilidade de o servidor saber para qual host a solicitação foi direcionada. Isso não permitiria usar vários nomes de host (com sites diferentes) em um endereço IP. Mass web hosting seria ineficiente porque exigiria endereços IP dedicados para cada hostname. O conceito de hosts virtuais resolve esse problema usando o campo de cabeçalho Host para distinguir solicitações para nomes de host diferentes e permite um número ilimitado de nomes de host em um endereço IP e veicula conteúdo diferente em cada um deles. A Wikipedia provavelmente usa isso para atender às diferentes edições de idiomas do servidor que você solicitou. Sem o nome do host, o seu pedido não possui as informações, que idioma é solicitado.

    
por 11.05.2012 / 22:29