pt.phhsnews.com


pt.phhsnews.com / Os servidores da Web têm apenas um site Cada

Os servidores da Web têm apenas um site Cada


Quando você começa a aprender como os nomes de domínio, endereços IP, servidores da Web e sites se encaixam e funcionam juntos, pode ser um pouco confuso ou esmagadora às vezes. Como tudo está configurado para funcionar tão bem? A postagem de perguntas e respostas do SuperUser de hoje tem as respostas para as perguntas de um curioso leitor.

A sessão de Perguntas e Respostas é cortesia da SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade.

Foto cedida por Rosmarie Voegtli (Flickr).

A pergunta

SuperUser reader user3407319 quer saber se os servidores da web possuem apenas um website cada:

Com base no que entendo sobre DNS e vinculando um nome de domínio com o endereço IP do servidor da web em que um site é armazenado, isso significa que cada servidor da web pode ter apenas um site? Se os servidores da Web possuem mais de um site, como tudo isso é resolvido para que eu possa acessar o site que desejo sem problemas ou misturas?

Os servidores da Web têm apenas um site cada ou têm mais?

O Respondente

do SuperUser Bob tem a resposta para nós:

Basicamente, o navegador inclui o nome de domínio na solicitação HTTP para que o servidor da Web saiba qual domínio foi solicitado e pode responder de acordo.

Solicitações HTTP

Aqui está como sua solicitação HTTP típica acontece:

1. O usuário fornece uma URL, no formato // host: port / path.

2. O navegador extrai a parte do host (domínio) da URL e traduz em um endereço IP (se necessário) em um processo conhecido como resolução de nome. Essa tradução pode ocorrer via DNS, mas não precisa (por exemplo, o arquivo de hosts locais em sistemas operacionais comuns ignora o DNS).

3. O navegador abre uma conexão TCP com a porta especificada ou padrões para a porta 80 nesse endereço IP

4. O navegador envia uma solicitação HTTP. Para HTTP / 1.1, é assim:

O cabeçalho do host é padrão e requerido no HTTP / 1.1. Ele não foi especificado na especificação HTTP / 1.0, mas alguns servidores o suportam mesmo assim.

A partir daqui, o servidor da Web possui várias informações que ele pode usar para decidir qual deve ser a resposta. Observe que é possível que um único servidor da Web seja vinculado a vários endereços IP.

  • O endereço IP solicitado, do soquete TCP (o endereço IP do cliente também está disponível, mas isso raramente é usado e, às vezes, bloqueio / filtragem)
  • A porta solicitada, do soquete TCP
  • O nome do host solicitado, conforme especificado no cabeçalho do host pelo navegador na solicitação HTTP
  • O caminho solicitado
  • Quaisquer outros cabeçalhos (cookies , etc.)

Como você parece ter notado, a configuração de hospedagem compartilhada mais comum atualmente coloca vários sites em um único endereço IP: combinação de portas, deixando apenas o host para diferenciar entre sites.

Isso é conhecido como um host virtual baseado em nome no Apache-land, enquanto o Nginx chama Nomes de servidor em blocos de servidor e o IIS prefere o Virtual Server.

O que é HTTPS?

O HTTPS é um pouco diferente. Tudo é idêntico ao estabelecimento da conexão TCP, mas depois disso um túnel TLS criptografado deve ser estabelecido. O objetivo é não vazar nenhuma informação sobre a solicitação

Para verificar se o servidor da web realmente possui esse domínio, o servidor da web deve enviar um certificado assinado por um terceiro confiável. O navegador comparará esse certificado com o domínio solicitado.

Isso apresenta um problema. Como o servidor da Web sabe qual certificado de host / site enviar se precisar fazer isso antes que a solicitação HTTP seja recebida?

Tradicionalmente, isso foi resolvido com um endereço IP dedicado (ou porta) para cada site que exige HTTPS. Obviamente, isso se tornou problemático, já que estamos ficando sem endereços IPv4.

Digite SNI (Indicação do Nome do Servidor). O navegador agora passa o nome do host durante as negociações de TLS, de modo que o servidor da Web tenha essas informações com antecedência suficiente para enviar o certificado correto. No lado do servidor da Web, a configuração é muito semelhante à configuração dos hosts virtuais HTTP.

A desvantagem é que o nome do host agora é passado como texto simples antes da criptografia e é essencialmente uma informação que vazou. Em geral, isso é considerado um compromisso aceitável, embora o nome do host seja normalmente exposto em uma consulta DNS.

E se você solicitar um site somente por endereço IP?

O que o servidor da Web faz quando não sabe qual host específico que você solicitou depende da implementação e configuração do servidor da web. Normalmente, há um site “default”, “catch-all” ou “fall back” especificado que fornecerá respostas a todas as solicitações que não especificam explicitamente um host.

Esse site padrão pode ser seu próprio site independente ( muitas vezes mostrando uma mensagem de erro), ou pode ser qualquer um dos outros sites no servidor da web, dependendo das preferências do administrador do servidor da Web.


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.


Como remover barras de ferramentas e adware com o AdwCleaner

Como remover barras de ferramentas e adware com o AdwCleaner

Era uma vez uma pessoa burra chamada Justin, que instalou o Java mesmo que seja horrível. Pior ainda, esse idiota clicou em “Próximo” sem desabilitar as ofertas incluídas. Ok, ok, essa pessoa idiota era eu. Graças à minha estupidez, o Yahoo agora aparece como um mecanismo de busca, e ninguém quer isso.

(how-to)

Como Mostrar a Guia Desenvolvedor na Faixa de Opções nos Programas do Office

Como Mostrar a Guia Desenvolvedor na Faixa de Opções nos Programas do Office

Como o próprio nome indica, a guia "Desenvolvedor" nos programas do Office permite que você crie aplicativos para usar com programas do Office, gravar macros , execute macros que você gravou anteriormente, use comandos XML e controles ActiveX, use controles de formulário e não está disponível por padrão.

(how-to)

Artigos Interessantes