ブラウザによる自動HTTPリクエスト
あなたがブラウザを使って、あるサイトのとあるページにアクセスするとしましょう:
GET /test.html HTTP/1.1
Host: example.com
このリクエストの結果として、次の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>
ブラウザの仕事はここで終わりません。なぜなら、まだHTMLコードだけが読み込まれた状態で、ページを表示するにはこれだけでは不十分だからです。 HTMLの読み込み後、ブラウザはそれを分析し、コード内にスタイルシート、スクリプト、画像の参照が含まれていることを認識します。 この瞬間、ブラウザは自ら、自動的にサーバーへリクエストを送信します。
この時、各リソースに対して個別のHTTPリクエストが形成されます。つまり、例えば、参照されている各CSSファイルに対して個別のリクエストが送信されることになります。
次のページを読み込んだ後、ブラウザは何回のHTTPリクエストを行うでしょうか:
<!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>