Web技術の基礎

オンライン決済のサービスで支払いが完了したことを、加盟店のサーバがすぐに知りたい。決済サービスが、あらかじめ登録された加盟店のURLへHTTPのPOSTで通知を送る方式(Webhook)の説明として、正しいものはどれか。

  1. A加盟店が決済サービスに一定の間隔で問い合わせる必要がなく、変化が起きたときだけ通知が届く。届いた通知が本物かは、署名などで確かめる
  2. B加盟店のサーバは外部からのリクエストを受け付ける必要がないので、通知を受けるURLをインターネットに公開しなくてよい
  3. C通知はブラウザとの間に張ったWebSocketの接続で届くので、加盟店の担当者が常にブラウザを開いておく必要がある
答えと解説を見る

正解:A. 加盟店が決済サービスに一定の間隔で問い合わせる必要がなく、変化が起きたときだけ通知が届く。届いた通知が本物かは、署名などで確かめる

Webhookでは、出来事が起きた側のサービスが、受け取る側の登録したURLへHTTPのリクエストを送って知らせます。受け取る側が状態を繰り返し問い合わせる方式と比べて、無駄なリクエストがなく、変化をすぐに知ることができます。その代わり、受け取る側はインターネットから届くリクエストを受け付ける必要があるので、共有の秘密の鍵による署名などで、通知が本物かを確かめます。通知は失敗すると再送されることがあるので、同じ通知が2回届いても問題が起きないように処理します。

  • A. 正しい。変化が起きたときだけ通知が届き、署名などで送り主を確かめます。
  • B. 通知はHTTPのリクエストとして外から届くので、受け取るURLを公開する必要があります。
  • C. Webhookはサーバどうしの通知で、ブラウザやWebSocketは使いません。
この分野を解く 分野ページへ

Web技術の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

Web技術の基礎のほかの問題

  1. ブラウザで使われるDOM(Document Object Model)の説明として、正しいものはどれか。
  2. 上のCSSを指定した要素の、左右のボーダーの外側の端から端までの幅はどれか。
  3. ほかにスタイルの指定はないものとする。上のHTMLで、「Hello」の文字の色はどれか。
  4. ブラウザが最初の画面を表示するまでの処理(クリティカルレンダリングパス)では、<head>の中に属性なしで書いた <script src="app.js"> があると、HTMLの解析がそこで止まる。この要素にdefer属性を付けたときの動作として、正しいものはどれか。
  5. 上のJavaScriptをブラウザで実行したとき、コンソールに表示される文字の順序として正しいものはどれか。