Como uma URL sabe qual servidor precisa acessar?

4

Eu queria saber o que acontece quando digitamos um URL como http://www.mydomain.com ? Como ele sabe onde ir para obter as páginas de mydomain.com? Como tudo isso acontece?

    
por OM The Eternity 06.01.2012 / 06:14

1 resposta

9

Um URL é apenas um endereço, uma referência. Então, aqui está como isso está acontecendo:

  1. 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
  2. o navegador analisa o URL em várias partes, conforme definido pelo RFC 3986
  3. 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.
  4. o navegador se conecta ao servidor HTTP na porta padrão (TCP / 80).
  5. o navegador envia uma solicitação GET e especifica também um cabeçalho HOST de acordo com HTTP / 1.1, consulte RFC 2616
  6. o servidor http analisará a solicitação e enviará a solicitação ao host virtual especificado na solicitação
  7. o aplicativo retorna o conteúdo gerado (geralmente um HTML ) ao navegador
  8. 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.

    
por 06.01.2012 / 06:33