Um URL é apenas um endereço, uma referência. Então, aqui está como isso está acontecendo:
- o usuário insere o URL no navegador. Isso é feito pelo driver do teclado que enviará eventos do teclado para o navegador, que responderão atualizando a barra de endereços com os caracteres digitados
- o navegador analisa o URL em várias partes, conforme definido pelo RFC 3986
- o navegador seleciona a parte do host e usará a biblioteca de resolvedores interna para encontrar o endereço IP. O resolvedor mais usado é o DNS . Para isso, a biblioteca de resolução que é mapeada dentro do aplicativo fará uma solicitação UDP na porta 53 no servidor DNS configurado para a máquina cliente. O servidor DNS pesquisará a solicitação no cache interno e, se estiver expirada ou ausente, fará uma solicitação recursiva ao tentar encontrar o endereço.
- o navegador se conecta ao servidor HTTP na porta padrão (TCP / 80).
- o navegador envia uma solicitação GET e especifica também um cabeçalho HOST de acordo com HTTP / 1.1, consulte RFC 2616
- o servidor http analisará a solicitação e enviará a solicitação ao host virtual especificado na solicitação
- o aplicativo retorna o conteúdo gerado (geralmente um HTML ) ao navegador
- o navegador analisa o resultado, gera alguns JavaScript / Eventos DOM e processa a página (por exemplo, Gecko no FireFox).
Esta é uma explicação muito muito condensada. Eu não falo sobre SSL, compressão, linguagem e negociação de codificação de caracteres, autenticação, CGI, pipe-lining e keep-alives.