【ぷりふぇっち】

プリフェッチ とは?

最終更新:
💡 次に使いそうなファイルを、使う前に取っておく

次に必要になりそうなページやファイルを前もって取得する仕組み。Webではブラウザーに先読みのヒントを与え、取得したデータを後の表示に再利用する。実行や再利用は対応状況・キャッシュなどの条件による。

📌 このページのポイント
取得するタイミングを先へ移す 先読みしない場合 次へ移動 クリック 取得 移動後に通信 描画 ページを表示 先読みして再利用できる場合 先に取得 クリック前 次へ移動 クリック 再利用・描画 取得を待たず利用 実行・再利用・速度の改善は条件による
取得済みのデータを再利用できる場合の比較。プリフェッチは描画を事前に完了する意味ではない。
ひよこ ひよこ
プリフェッチは、何を先にするの?
ペンギン先生 ペンギン先生
次に使いそうなページやファイルの取得だよ。移動したときに取得済みのデータを使えれば、ダウンロードを待つ時間を減らせる。取得しただけでページの描画まで終わるわけではないんだ。
ひよこ ひよこ
次に見るページを、どう指定するの?
ペンギン先生 ペンギン先生
たとえばHTMLに <link rel="prefetch" href="/next"> と書いてブラウザーへヒントを伝えるよ。ページの先読みにはSpeculation Rules APIという方法もある。ただし、対応状況やキャッシュの条件によって実行・再利用されない場合もあるんだ。
ひよこ ひよこ
使わなかったファイルは、無駄になる?
ペンギン先生 ペンギン先生
そうだね。通信量や保存領域を使うため、次に見られる可能性の高いものを選ぶよ。linkのprefetchは通常低い優先度で取得するけれど、今のページにまったく影響しない保証ではない。先読みする数や実際の効果も確認するんだ。
ひよこ ひよこ
ペンギン先生 ペンギン先生
プリレンダリングは取得に加え、ページを事前に描画する方法だよ。preloadは主に今のページで必要な資源の読み込みを早く始めるヒント。次の利用を見越すprefetchとは目的が違うんだ。
ひよこ ひよこ
DNSプリフェッチもファイルを取ってくるの?
ペンギン先生 ペンギン先生
そちらは通信先のドメイン名をIPアドレスへ解決する処理を先に行うヒントだよ。ページや画像のファイル自体は取ってこない。何を先に済ませる仕組みなのかを区別して使うんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プリフェッチ」って出てきたら「次に使いそうなものを前もって取得する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Prefetch」 = 事前取得
💬 preは前もって、fetchは取ってくるという意味だよ。ここではWebのページやファイルを先読みする使い方を説明しているんだ。

参考資料

← 用語集にもどる