O servidor da Web não envia "website inteiro", mas documentos solicitados pelos navegadores.
Por exemplo, quando você acessa o link , o servidor de consultas do navegador exibe o documento https://www.google.com/
. O servidor processa a solicitação e envia de volta algum código HTML.
Em seguida, o navegador verifica o que o servidor enviou. Neste caso, é uma página HTML, por isso, analisa o documento e procura por scripts referenciados, folhas de estilo, imagens, fontes, etc.
Neste estágio, o navegador finalizou o download desse documento, mas ainda não fez o download de documentos referenciados. Pode optar por fazê-lo ou ignorá-los. Navegadores regulares tentarão baixar todos os documentos referenciados para melhor experiência de visualização. Se você tem um bloqueador de anúncios (como o Adblock) ou um plugin de privacidade (Ghostery, NoScript), ele também pode bloquear alguns recursos.
Em seguida, o navegador faz o download dos documentos referenciados um por um, cada vez perguntando ao servidor explicitamente por um único recurso. Em nosso exemplo do Google, o navegador encontrará as seguintes referências, apenas para citar algumas delas:
- link (logotipo do Google)
- link (ícone do teclado)
- link (algumas imagens combinadas, truque usado para reduzir o número de solicitações do navegador)
(os arquivos reais podem ser diferentes para diferentes usuários, navegadores e sessões e podem mudar com o tempo)
Os navegadores baseados em texto não baixam imagens, arquivos em Flash, vídeos em HTML5 etc., fazendo o download de menos dados.
@NathanOsman faz uma boa observação nos comentários: Às vezes, pequenas imagens são incorporadas diretamente em documentos HTML e, nesses casos, o download delas não pode ser evitado. Esse é outro truque usado para reduzir o número de solicitações. Eles são muito pequenos, embora, caso contrário, a sobrecarga de codificar o arquivo binário em base64 é muito grande. Existem poucas imagens no Google.com: ( tamanho codificado base64 / tamanho decodificado )
-
ícone de teclado
- 19 × 11 (106 B / 76 B) ícone de microfone
- 28 × 38 (334 B / 248 B)
- GIF transparente de 1 x 1 px (62 B / 43 B) que aparece na guia Recursos do Chrome Dev Tools, mas não consegui encontrá-lo na fonte - provavelmente adicionado posteriormente com JavaScript
- 1 x 1 px corrompido arquivo GIF que aparece duas vezes (34 B / 23 B). Sua finalidade é um mistério para mim.