Web技術基礎

在聊天應用程式中,想把新訊息立即從伺服器送到瀏覽器。關於WebSocket的說明,下列何者正確?

  1. A瀏覽器每隔幾秒送出HTTP請求,每次都向伺服器確認是否有新訊息送達的方式
  2. B把以HTTP開始的連線切換(升級),讓伺服器與瀏覽器任何一方都能在一條連線上傳送訊息
  3. C事件發生時,由伺服器以HTTP的POST請求,通知另一台伺服器事先登錄之URL的方式
查看答案與解析

正確答案:B. 把以HTTP開始的連線切換(升級),讓伺服器與瀏覽器任何一方都能在一條連線上傳送訊息

WebSocket在HTTP請求中要求Upgrade: websocket,伺服器回傳101 Switching Protocols後,同一條TCP連線就切換為WebSocket通訊。之後連線保持開啟,伺服器與瀏覽器任何一方都能以很少的負擔傳送小訊息。若採每隔一定時間詢問的方式,即使沒有新訊息也會產生請求,新訊息最多會延遲一個詢問間隔才送達。從伺服器以HTTP的POST通知另一台伺服器的方式稱為Webhook。

  • A. 這是定期詢問的方式(輪詢)。即使沒有新訊息也會產生請求,並產生最多一個間隔的延遲。
  • B. 正確。連線保持開啟,雙方隨時都能傳送訊息。
  • C. 這是Webhook的說明。用於伺服器之間的通知。
練習這個領域 前往領域頁面

Web技術基礎的其他題目

  1. 想讓特約商店的伺服器立即得知線上支付服務的付款已完成。關於支付服務以HTTP的POST,向特約商店事先登錄的URL送出通知的方式(Webhook),下列說明何者正確?
  2. 關於瀏覽器中使用的DOM(Document Object Model),下列說明何者正確?
  3. 套用上方CSS的元素,從左邊框外緣到右邊框外緣的寬度為下列何者?
  4. 假設沒有其他樣式設定。在上方的HTML中,「Hello」文字的顏色為下列何者?
  5. 在瀏覽器顯示第一個畫面之前的處理(關鍵轉譯路徑)中,若<head>中有不加屬性的 <script src="app.js">,HTML的解析就會在那裡停住。為這個元素加上defer屬性時的行為,下列何者正確?