web-dev-qa-db-ja.com

ブラウザのキャッシュがキャッシュを処理するときにキャッシュにService Workerを使用する理由

ブラウザキャッシングに似たオフラインキャッシングのサービスワーカーを読みました。次に、このキャッシングにService Workerを好む理由。ブラウザのキャッシュでさえ、変更されたファイルがあるかどうかをチェックし、キャッシュから提供しますが、サービスワーカーはコードから同じことを処理しています。しかし、デフォルトではブラウザにその機能があるので、なぜService Workerを好むのでしょうか?

42
vbharath

Service Workerを使用すると、ネットワーク要求を完全に制御できます。 fetchイベントに必要なものは何でも返すことができます。特定のファイルの過去または現在のコンテンツである必要はありません。

ただし、ブラウザのキャッシュがニーズを処理する場合、Service Workerを使用する義務はありません。

また、プッシュ通知などにも使用されます。

ドキュメント: https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_APIhttps://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers

17
Daniel Herr

私は、サービスワーカーのドキュメントを調べて実装したときに観察したポイントを共有したかったのです。

  1. サービスワーカーはオフラインキャッシュをサポートしているため、ブラウザーキャッシュは異なります。ネットワークが利用できない場合でも、webappはキャッシュされたコンテンツにアクセスします。
  2. Service Workerはネイティブエクスペリエンスを提供します。
  3. Service WorkerはDOMコンテンツを変更できませんが、その範囲内でページを提供できます。 postMessageなどのイベントの助けを借りて、ページにアクセスし、DOMを変更できます。
  4. Service Workerは、ユーザーとの対話やWebページを必要としません。バックグラウンドで実行されます。
4
vbharath