Requisições HTTP automáticas do navegador
Suponha que você acesse uma determinada página de um site usando o navegador:
GET /test.html HTTP/1.1
Host: example.com
Suponha que o resultado da requisição retorne o seguinte código HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="styles.css">
<script src="scripts.js"></script>
</head>
<body>
<img src="images/img.png">
</body>
</html>
O trabalho do navegador não termina aqui, pois apenas o código HTML foi carregado, e isso não é suficiente para exibir a página. Após carregar o HTML, o navegador analisa seu conteúdo e vê que existem links para folhas de estilo, scripts e imagens. Neste momento, o navegador envia automaticamente requisições para o servidor.
Neste processo, uma requisição HTTP separada é formada para cada recurso. Ou seja, por exemplo, para cada arquivo CSS vinculado será enviada uma requisição separada.
Quantas requisições HTTP o navegador fará após carregar a seguinte página:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="styles.css">
<script src="scripts.js"></script>
</head>
<body>
<img src="images/img1.png">
<img src="images/img2.png">
<img src="images/img3.png">
</body>
</html>