
O que acontece nos bastidores quando digitamos www.cnn.com em um navegador e como as informações são exibidas na tela?
Uma explicação técnica seria muito apreciada.
Responder1
Navegador:"Ok, então, tenho um usuário solicitando este endereço: www.cnn.com. Acho que como não há barras nem nada, esta é uma solicitação direta de uma página principal. Também não havia protocolo ou porta definido, então eu vou assumir que é HTTP e vai para a porta 80... ah, bem, comecemos pelo princípio. Ei, DNS, amigo, onde esse www.cnn.com está escondido?
DNS:"Certo... espere um segundo, vou perguntar aos servidores do ISP. Ok, parece 157.166.226.25."
Navegador:"Ok. Internet Protocol Suite, sua vez! Ligue para 157.166.226.25, por favor. Envie-lhes este cabeçalho HTTP. Ele está solicitando a estrutura básica e o conteúdo de sua página principal, então eu sei o que mais buscar... bem, isso não você se importaria com isso, eu acho.
TCP/IP:"O que você quer dizerminha vez? Como se eu não estivesse apenas trabalhando ali mesmo pelo DNS? Deus, o que é preciso para obter um pouco de apreciação aqui..."
Navegador:...
TCP/IP:"Sim, sim... Conectando... Vou apenas pedir ao gateway para encaminhá-lo. Você sabe, não é tão fácil assim, terei que dividir seu lindo pedido em várias partes para que chegue ao final, e montar qualquer coisa que eles enviarem de todos os milhares de pacotes que recebo... ah, certo, você não se importa.
Enquanto isso, na sede da CNN, uma mensagem finalmente chega à porta do Web Server.
Servidor Web CNN:"Nzhôô! Um cliente! Ele quer novidades! A primeira página! Que tal?"
Mecanismo de script do lado do servidor CNN:"Certo, serve! Primeira página, certo?"
Servidor de banco de dados CNN:"Sim! Trabalhe para mim! De que conteúdo você precisa?"
Mecanismo de script do lado do servidor CNN:"... hum, desculpe DB, eu tenho uma cópia da primeira página aqui mesmo no meu cache, não há necessidade de compilar nada. Mas ei, pegue esse ID de usuário e armazene-o, vou enviá-lo para o cliente também, então sabemos com quem estamos falando mais tarde."
Servidor de banco de dados CNN:"Sim!"
De volta ao computador do usuário...
TCP/IP:"Oookay, aí vem a resposta. Nossa, por que tenho a sensação de que este será um grande problema..."
Navegador:"Uh, uau... isso tem todo tipo de código javascript... um monte de imagens, alguns formulários... Certo, vai demorar um pouco para renderizar. Melhor começar. Ei, sistema IP, há um monte mais coisas que você precisa obter. Vamos ver, preciso de algumas folhas de estilo de i.cdn.turner.com - via HTTP e solicite o arquivo /cnn/.element/css/2.0/common.css. alguns desses scripts em i.cdn.turner.com também, estou contando seis até agora..."
TCP/IP:"Entendi. Basta me fornecer os endereços do servidor e tudo mais. E agrupar esse arquivo na solicitação HTTP, não quero lidar com isso."
DNS:"Verificando i.cdn.turner.com... ei, uma curiosidade, na verdade se chama cdn.cnn.com.c.footprint.net. O IP é 4.23.41.126"
Navegador:"Claro, claro... espere um segundo, isso levará alguns nseg para ser processado, estou tentando entender todo esse script..."
TCP/IP:"Ei, aqui está o CSS que você pediu. Ah, e... sim, esses scripts adicionais também acabaram de voltar."
Navegador:"Uau, tem mais... algum tipo de anúncio em vídeo!"
TCP/IP:"Oh cara, que divertido isso parece..."
Navegador:"Há todos os tipos de imagens também! E esse CSS parece um pouco desagradável... certo, então se essa parte vai lá, e tem essa linha no topo... como é que isso caberia mais... não, eu vou ter que esticar um pouco para fazer isso... Ah, mas aquele outro arquivo CSS substitui essa regra... Bem, este não será uma peça fácil de renderizar, isso é certo!"
TCP/IP:"Ok, ok, pare de me distrair por um segundo, ainda há muito o que fazer aqui."
Navegador:"Usuário, aqui está um pequeno relatório de progresso para você. Desculpe, tudo isso pode levar alguns segundos, há cerca de 140 elementos diferentes para carregar e chega a 16 até agora."
Um ou dois segundos depois...
TCP/IP:"Ok, isso deve ser tudo. Ei, escute... desculpe, eu brinquei com você mais cedo, você está gerenciando aí? Isso com certeza parece ser um grande fardo para você também."
Navegador:"Ufa, sim, hoje em dia são todos esses sites, eles com certeza não facilitam as coisas para você. Bem, eu vou conseguir. É para isso que estou aqui."
TCP/IP:"Acho que está muito pesado para todos nós hoje em dia... ah, pare de se vangloriar de DNS!"
Navegador:"Ei, usuário! O site está pronto - vá buscar suas novidades!"
Responder2
Como a web funciona: HTTP e CGI explicados
Também uma ótima explicação do CERN - alma mater da Web:Como funciona a web
Responder3
- O navegador divide o que você digita (a URL) em um nome de host e um caminho.
- O navegador forma uma solicitação HTTP para solicitar os dados no nome de host e caminho fornecidos.
- O navegador realiza uma pesquisa de DNS para resolver o nome do host em um endereço IP.
- O navegador forma uma conexão TCP/IP com o computador especificado através do endereço IP. (Essa conexão é, na verdade, formada por muitos computadores, cada um passando os dados para o próximo.)
- O navegador envia a solicitação HTTP pela conexão para o endereço IP fornecido.
- Esse computador recebe a solicitação HTTP da conexão TCP/IP e a passa para o programa do servidor web.
- O servidor Web lê o nome do host e o caminho e encontra ou gera os dados solicitados.
- O servidor Web gera uma resposta HTTP contendo esses dados.
- O servidor Web envia essa resposta HTTP de volta pela conexão TCP/IP para sua máquina.
- O navegador recebe a resposta HTTP e a divide em cabeçalhos (descrevendo os dados) e corpo (os próprios dados).
- O navegador interpreta os dados para decidir como exibi-los no navegador - normalmente são dados HTML que especificam tipos de informações e sua forma geral.
- Alguns dos dados serão metadados que especificam outros recursos que precisam ser carregados, como folhas de estilo para layout detalhado, imagens embutidas ou filmes em Flash. Esses metadados são especificados novamente como uma URL, e todo esse processo se repete para cada um deles até que todos sejam carregados.
Responder4
O que falta até agora nas outras respostas é o que acontece do lado da CNN:
- Uma máquina da CNN recebe a mensagem do seu computador solicitando a página.
- Ele redireciona essa solicitação para um dos muitos computadores que a CNN está usando em seu site (a razão para isso é que, dessa forma, você pode espalhar o trabalho de reunir as páginas de resposta em vários computadores)
- O computador da CNN recebe sua solicitação e responde com uma página da web que provavelmente está quase totalmente pré-computada, mas talvez mude algumas coisas antes de enviá-la para você (pode ser o anúncio no topo, talvez a manchete). Às vezes, os computadores montam a página a partir de vários pequenos componentes sempre que recebem uma solicitação; não tenho certeza do que a CNN faz
- a resposta percorre a rede até o seu computador, que a exibe.
- a resposta não incluiu as imagens: seu computador envia outra solicitação de imagens e praticamente o mesmo cenário acontece.