Web技術の基礎
Service Workerの説明として、正しいものはどれか。
- AWebサーバの上で常に動き続け、ブラウザから届いたリクエストに応じてデータベースへの問い合わせを受け持つプログラムである
- BページのDOMを直接書き換えて描画を速くするためのCSSの機能で、HTTPSでないページでも使える
- Cページとは別にブラウザの中で動くスクリプトで、ページのリクエストを仲介して保存済みの応答を返せ、オフラインでの表示に使われる
答えと解説を見る
正解:C. ページとは別にブラウザの中で動くスクリプトで、ページのリクエストを仲介して保存済みの応答を返せ、オフラインでの表示に使われる
Service Workerは、ページが登録するスクリプトで、ページとは別にブラウザの中で動きます。そのオリジンのページが出すリクエストを受け取り(fetchイベント)、ネットワークへ送るか、保存しておいた応答を返すかを、スクリプトで決められます。これを使うと、オフラインでもページを表示したり、プッシュ通知を受け取ったりできます。通信を仲介する強い権限をもつため、HTTPSのページ(と開発用のlocalhost)でだけ使え、DOMには直接触れられません。
- A. サーバの上で動くのはアプリケーションサーバなどで、Service Workerはブラウザの中で動きます。
- B. Service WorkerはJavaScriptで書くスクリプトで、DOMには直接触れられません。
- C. 正しい。ページのリクエストを仲介し、保存した応答を使ったオフラインでの表示などに使われます。