サーバープッシュ
サーバーが次に来るリクエストを先読みしてレスポンスを返す
フレームタイプの「PUSH_PROMISE」を使う
最近は膨大なリソースを必要とするWebサイトが増えてきました。
たくさんの画像を表示したり、たくさんのcssやjsなどを読み込んだりしていますが、これは1ファイルを読み込むごとに通信が走っています。
従来のものと比較する
以下のような「index.html」というファイルがあり、これをサーバーから受け取る状況を考える
code:html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>たいとる</title>
</head>
<body>
<h1>おはようございます!!!!!!!!</h1>
<img alt="超おもしろい画像" src="omosiro.png">
</body>
</html>
従来の場合
クライアントがindex.htmlをくださいとサーバーにリクエストを送る
サーバーがindex.htmlを返す
受け取ったブラウザがこのファイルを上からパースしていく
上から見ていくと9行目にpngファイルを見つけたので、このomosiro.png画像をくれとサーバーにリクエストを送る
サーバーが画像を返す
サーバープッシュを用いた場合
クライアントがindex.htmlをくださいとサーバーにリクエストを送る
サーバーはindex.htmlとomosiro.pngを返す
クライアントはomosiro.pngをキャッシュにセットする
ブラウザがindex.htmlを上からパースしていく
9行目にpngファイルを発見
リクエストを送る前にキャッシュを見てみるとomosiro.pngがあるのでこれを表示
画像に関しては0RTTで表示できていることになるmrsekut.icon
参考
もっと詳しい