O processo que um cliente usa para entrar em contato com um servidor depois que um usuário especifica um nome de domínio envolve várias etapas, utilizando principalmente o Sistema de Nomes de Domínio (DNS) e o conjunto de protocolo TCP/IP. Aqui está um colapso:
1.
entrada do usuário: O usuário digita o nome de domínio (por exemplo, `www.example.com`) no navegador ou no aplicativo.
2.
Resolução DNS: *
Resolver recursivo: O sistema operacional do cliente entra em contato com um resolvedor de DNS recursivo. Isso geralmente é fornecido pelo provedor de serviços de Internet (ISP) do cliente ou configurado manualmente. O resolvedor recursivo atua como um intermediário, lidando com o processo de consultar diferentes servidores DNS.
*
servidores de nome de raiz: O resolvedor recursivo começa consultando os servidores de nome da raiz. Esses servidores não sabem o endereço IP de `www.example.com`, mas sabem onde encontrar os servidores que * fazem * sabem sobre o domínio de nível superior` .com.
*
tld name servidores: O resolvedor recursivo entra em contato com os servidores de nomes de domínio de nível superior (TLD) (por exemplo, `.com` servidores de nome). Esses servidores conhecem os servidores de nome autorizados para `exemplo.com`.
*
Nomes de autoridade servidores: O resolvedor recursivo entra em contato com os servidores de nomes autoritários para `exemplo.com`. Esses servidores são responsáveis por manter os registros do DNS para esse domínio. Eles mantêm o endereço IP (ou endereços) associados ao `www.example.com`.
*
Resultado: Os servidores de nomes autorizados retornam o endereço IP (ou endereços - geralmente múltiplos para balanceamento de carga) correspondentes a `www.example.com`. O resolvedor recursivo envia este endereço IP de volta ao cliente.
3.
estabelecimentos de conexão TCP/IP: *
Endereço IP: O cliente agora possui o endereço IP do servidor.
*
TCP Handshake de três vias: O cliente inicia uma conexão TCP com o servidor usando o endereço IP e a porta desejada (normalmente a porta 80 para HTTP ou 443 para HTTPS). Isso envolve um aperto de mão de três vias:
*
syn: O cliente envia um pacote Syn (Synchronize) para o servidor, solicitando uma conexão.
*
syn-ack: O servidor responde com um pacote Syn-ACK (Synchronize-acorchenwledge), reconhecendo a solicitação e enviando suas próprias informações de sincronização.
*
ack: O cliente envia um pacote ACK (reconhecer), confirmando a conexão.
*
Sucesso da conexão: Uma vez concluído o aperto de mão de três vias, uma conexão TCP será estabelecida entre o cliente e o servidor.
4.
Transferência de dados: O cliente agora pode enviar solicitações (por exemplo, solicitações HTTP) para o servidor sobre a conexão TCP estabelecida. O servidor processa essas solicitações e envia respostas de volta.
5.
Fechamento de conexão: Uma vez concluído a comunicação, a conexão TCP é graciosamente fechada.
em suma: O cliente usa o DNS para traduzir o nome de domínio em um endereço IP e, em seguida, usa o TCP para estabelecer uma conexão com o servidor nesse endereço IP antes de trocar dados. Todo o processo acontece transparentemente ao usuário, que só vê o site ou a carga do aplicativo.