Web技術基礎

想讓特約商店的伺服器立即得知線上支付服務的付款已完成。關於支付服務以HTTP的POST,向特約商店事先登錄的URL送出通知的方式(Webhook),下列說明何者正確?

  1. A特約商店不必每隔一定時間詢問支付服務,只有在發生變化時才會收到通知。收到的通知是否為真,要以簽章等方式確認
  2. B特約商店的伺服器不必接受來自外部的請求,因此接收通知的URL不必公開在網際網路上
  3. C通知是透過與瀏覽器之間建立的WebSocket連線送達,因此特約商店的負責人必須一直開著瀏覽器
查看答案與解析

正確答案:A. 特約商店不必每隔一定時間詢問支付服務,只有在發生變化時才會收到通知。收到的通知是否為真,要以簽章等方式確認

Webhook是由發生事件的服務,向接收端登錄的URL送出HTTP請求來通知。與接收端反覆詢問狀態的方式相比,沒有無謂的請求,能立即得知變化。相對地,接收端必須接受從網際網路送來的請求,因此要以共用秘密金鑰產生的簽章等方式,確認通知是否為真。通知失敗時可能會重送,因此要處理成即使同一通知送達2次也不會出問題。

  • A. 正確。只有在發生變化時才會收到通知,並以簽章等方式確認傳送者。
  • B. 通知是以HTTP請求從外部送達,因此接收的URL必須公開。
  • C. Webhook是伺服器之間的通知,不使用瀏覽器或WebSocket。
練習這個領域 前往領域頁面

Web技術基礎的其他題目

  1. 關於瀏覽器中使用的DOM(Document Object Model),下列說明何者正確?
  2. 套用上方CSS的元素,從左邊框外緣到右邊框外緣的寬度為下列何者?
  3. 假設沒有其他樣式設定。在上方的HTML中,「Hello」文字的顏色為下列何者?
  4. 在瀏覽器顯示第一個畫面之前的處理(關鍵轉譯路徑)中,若<head>中有不加屬性的 <script src="app.js">,HTML的解析就會在那裡停住。為這個元素加上defer屬性時的行為,下列何者正確?
  5. 在瀏覽器中執行上方的JavaScript時,主控台顯示文字的順序,下列何者正確?