O que é enviado quando navego na web?


25

Estou usando um modem e ele mostra uma velocidade de download de n kbps e uma velocidade de upload de m kbps. Quando verifico seus logs, ele mostra a quantidade de dados baixados e enviados. Gostaria de saber por que isso mostra que eu carreguei 3 MB de dados em uma hora, o que parece excessivo quando eu nunca carrego nada ou uso torrents.

Então, o que estou carregando quando estou navegando na web?

Respostas:


46

Para obter mais detalhes sobre como as conexões e reconhecimentos TCP funcionam, consulte a resposta de Diogo.

Quando você visita um site, algo assim acontece:

  1. É feita uma conexão com o servidor DNS (se ainda não o tiver feito), cujo computador já conhece o endereço IP (ou através de algum mecanismo automático que solicita essas informações ao seu ISP), enviando pacotes para conectar-se e confirmar a conexão tem sido feito. Após a conexão, seu site solicita o endereço IP do site que você visita, para que ele saiba qual computador entrar em contato para obtê-lo. Isso significa que ele envia um pacote contendo o nome de domínio para obter essa resposta. Mais tarde, ele também envia um pacote para fechar a conexão.

  2. É feita uma conexão com o servidor da web que hospeda o site que você deseja visitar; isso envia novamente um pacote para conectar e confirmar a conexão. Depois disso, ele solicita a página que você deseja visitar, enviando novamente um pacote. Em seguida, ele responde e você recebe o HTML da página da web, que indica a estrutura da página (não o layout).

  3. Como você só tem a estrutura, ainda precisa buscar o restante. Portanto, solicitações adicionais (uma pergunta SU é como 40 solicitações) são feitas para obter scripts, estilos e mídias como imagens e similares. E como alguns deles podem não estar no mesmo servidor da Web que você visita, pode ocorrer uma resolução adicional do DNS, trazendo você de volta à etapa 1.

  4. Além disso, observe que todos os pacotes que você recebe são reconhecidos, adicionando mais uma fonte de dados que é carregada, para economizar em pacotes, geralmente vários pacotes são reconhecidos ao mesmo tempo. Assim, quando você recebe algo, você envia para o servidor que o recebeu, para que ele saiba que o que ele enviou não se perdeu em algum lugar. Dessa forma, o servidor não precisa tentar enviá-lo novamente.

O ponto principal é que você não pode fazer o download de algo sem primeiro conectar e enviar algumas solicitações aos servidores dos quais está baixando. E é isso que compensa um pequeno upload ...

E não é só clicar, você faz mais do que isso, vamos dar uma pergunta como exemplo: você digitou cerca de 500 caracteres, um caractere conta como 1 byte (se caractere ASCII, todos estão nesse caso) e pode ser de 1 a 4 bytes (se um caractere Unicode). Portanto, sua pergunta realmente ocupa 0,5 KB ou 0,00005 MB! Mas não é apenas a pergunta que nos é enviada, ela também é cercada por uma solicitação POST ou AJAX que solicita ao servidor que armazene sua pergunta e os próprios cabeçalhos de pacotes.

Se você adicionar tudo, torna-se razoável atingir alguns megabytes em algumas horas.


1
Tentou delinear a resposta de William enquanto se referia a Diogo em movimento, faça um voto positivo também! :)
Tamara Wijsman

2
E tentei ser rápido quando deveria ter escrito uma resposta detalhada como essa! Eu sempre pareço perder essas respostas que foguete do céu !!!
William Hilsum

27

Seu upload é baseado principalmente nas requisições que você faz ao digitar um endereço (www.google.com, por exemplo) em um servidor da web para solicitar uma conexão HTTP a esse site. Após essas solicitações, o próximo ponto de carregamento é ACK (reconhecimento de conexões TCP no protocolo HTTP ) em seu processo de handshake :

Na rede de dados, uma confirmação (ou confirmação) é um sinal transmitido entre processos ou computadores de comunicação para significar confirmação ou recebimento de resposta como parte de um protocolo de comunicação. Por exemplo, pacotes ACK são usados ​​no Protocolo de Controle de Transmissão para confirmar o recebimento de pacotes SYN ao estabelecer uma conexão, pacotes de dados enquanto uma conexão está sendo usada e pacotes FIN ao finalizar uma conexão.

Para exemplificar, dê uma olhada no diagrama TCP (você usa o TCP na navegação na Internet):

diagrama


15

Quando você está online, simplesmente, tudo o que vem de um destino remoto é um download e tudo o que você envia é um upload.

Portanto, até mesmo solicitar uma página da Web consistirá em sua máquina (provavelmente) fazendo uma solicitação de DNS, conectando-se a um servidor da Web, enviando uma solicitação de uma página e enviando uma solicitação para cada elemento / picture / css / javascript nessa página .

3 MB por uma hora de uso não é tanto assim!


quando solicito uma página, tudo o que está relacionado a essa página vem automaticamente ou, para cada elemento, uma solicitação separada é mencionada?
Deb

1
@Debabratta, uma solicitação separada é enviada para cada recurso . Um para a página (com o conteúdo - texto, marcação - layouts etc.), um para as várias imagens, arquivos javascript, arquivos css que são referidos na página. (Às vezes, o navegador usa o cache - a cópia da imagem que você baixou da última vez que visitou a página. Mas isso também envolve uma solicitação para verificar se a imagem foi alterada). Solicitações de flash, silverlight ou outros plug-ins também são adicionadas.
Nivas

2

Mais do que pacotes TCP e HTTP comuns, você também deve aprender um pouco sobre algumas informações especiais que são capturadas pelos rastreadores. Obtenha informações no site dedicado à Ghostery .

Eles apenas aumentam os dados necessários !


0

Uma análise mais simples:

  • Pacotes TCP para abrir uma conexão com o servidor
  • Pacotes de solicitação HTTP para cada componente de uma página da web
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.