2

Service Worker を追加して app-shell をキャッシュする前に、Web ページに関連するファイル (main.css、app.js、shims.js など) に対する発信要求がブラウザーによってキャッシュされていました。これにより、これらのファイルに対するそれ以降のリクエストは、タイムスタンプ付きのリクエストを含む、キャッシュされたバージョンを返しました (また、max-age が期限切れになった場合、これらのリクエストは Etag で検証されます)。(この動作は、ページの通常の訪問中も同じです。)

ここで、Web ページ (PWA) が初めてコンテンツを要求します。コンテンツが受信された後、サービス ワーカーのインストール イベントは、バックグラウンドで指定されたファイルのフェッチを開始します。

var urlsToCache = [
  "/",
  "/css/main.css",
  "/js/app.js",
  "/js/shims.js",
  "/assets/playstore.png",
  "/assets/logo_amcs_small.png",
  "/assets/appstore.png",
  "/assets/i18n/en.json",
  "/assets/i18n/de.json",
  "/fonts/fontawesome-webfont.woff2?v=4.7.0"
];

それらの一部はブラウザー キャッシュ (ディスク/メモリ キャッシュ) から取得されますが、一部は再度ダウンロードされます (de.json、en.json、app.js、shims.js、main.css)。attacehd イメージを参照してください。これらすべての URI には、リクエストが Web ページから実行されたときのタイムスタンプが含まれていますが、その後のリクエストではブラウザのキャッシュから返されます。

Service Worker の「インストール」イベントでこれらのファイルを取得すると、なぜこれが異なるのですか?

PWA の初回ロード時のネットワーク リクエスト - Service Worker はキャッシュに何も置かずにインストールします

ところで、私は全体的なネットワーク リクエストを減らそうとしているので、これらのファイルを再度ダウンロードするのはあまり良いことではありません..

4

0 に答える 0