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).
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?
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 usar e configurar o modo “Battery Saver” do Android
O Google adicionou um modo “Battery Saver” ao Android com Android 5.0 Lollipop. Em um dispositivo Android moderno, esse modo pode funcionar e ajudar a prolongar sua bateria quando estiver quase morto. Você pode ajustar o limite da bateria ou ativar o modo Economia de bateria manualmente. O que o Battery Saver Mode faz?
Como alterar o alinhamento dos números em uma lista numerada no Microsoft Word
Por padrão, os números nas listas numeradas são alinhados à esquerda no espaço alocado para a numeração. No entanto, é fácil alinhá-los para o centro ou para a direita (na foto acima à direita) e mostraremos como Quando os números são alinhados à esquerda, os pontos decimais não estão alinhados e os itens com dois ou mais dígitos estão mais próximos do texto dos itens do que os números de um dígito, como mostrado à esquerda na imagem acima.