バックフォワード キャッシュをテストする

Sofia Emelianova
Sofia Emelianova

このガイドでは、Chrome DevTools を使用して次の操作を行う方法について説明します。

  • ブラウザの [戻る] ボタンと [進む] ボタンを使用したときに、ページが即座に読み込まれるように最適化されているかどうかをテストします。
  • ページがこのタイプのキャッシュの対象にならない可能性のある問題を特定します。

バックフォワード キャッシュ(bfcache)は、すぐに前または次のページに移動できるようにブラウザを最適化する機能です。詳細については、バックフォワード キャッシュをご覧ください。

バックフォワード キャッシュをテストする

バックフォワード キャッシュをテストするには、次の操作を行います。

  1. ページで DevTools を開き、[Application] > [Background services] > [Back/forward cache] に移動します。

    [バックフォワード キャッシュ] タブ。

  2. [バックフォワード キャッシュをテスト] をクリックします。

    Chrome で自動的に chrome://terms/ が表示され、元のページに戻ります。

    または、ブラウザの戻るボタンと進むボタンをクリックすることもできます。

バックフォワード キャッシュがページで問題なく機能する場合は、次のメッセージが表示されます。

バックフォワード キャッシュから正常に配信されました。

それ以外の場合は、問題のリストが表示されます。

どの問題がどのフレームに影響するかを確認するには、[フレーム] 展開アイコン。 セクションを開きます。

[フレーム] セクションを開きました。

キャッシュへの保存を妨げる問題を解決する

ページがバックフォワード キャッシュの対象でない場合、[バックフォワード キャッシュ] タブに、次の 3 種類の原因のリストが表示されます。

バックフォワード キャッシュは対象外です。

  • 実用的。キャッシュを有効にするには、これらの問題を修正します。たとえば、unload イベントの使用を停止します。
  • 保留中のサポート。Chrome ではこの機能にまだ対応していないため、キャッシュ保存ができません。ただし、サポートが完了すると、Chrome ではこれらの制限が解除されます。
  • 対応不可。このページではこれらの問題を解決できません。ページの制御外にあるものがキャッシュを阻止している。

阻害要因になっているフレームを確認するには、問題の説明の下の対応するセクションを開きます。

フレームのブロック。

バックフォワード キャッシュを妨げる一般的な問題

bfcache が実行されない主な理由は 2 つあります。

  • Cache-Control: no-store ヘッダー:

    このヘッダー値は、個人情報や個人情報を含むページに設定することをおすすめします。適度に最新の状態にしたいページについては、no-cache または短いキャッシュ時間(max-age=60 など)を使用します。

  • 問題のあるアンロード ハンドラ

    Chrome ではアンロード ハンドラのサポート終了が予定されており、unload イベントは一切使用しないことをおすすめします。

    ウェブサイトでアンロード ハンドラが使用されないようにし、たとえば拡張機能が unload イベントを追加できないようにするには、Permissions-Policy: unload=() HTTP レスポンス ヘッダーを宣言します。