Web技術基礎

瀏覽器把先前收到之影像的回應中所附的ETag值放進If-None-Match標頭,再次請求該影像。伺服器上的影像沒有改變時,伺服器的回應下列何者正確?

  1. A回傳200 OK,即使內容與先前相同,也再次送出影像的完整本文
  2. B回傳304 Not Modified而不送本文,瀏覽器使用已保存的影像
  3. C回傳404 Not Found,讓瀏覽器刪除已保存的舊影像並重新取得
查看答案與解析

正確答案:B. 回傳304 Not Modified而不送本文,瀏覽器使用已保存的影像

ETag是表示資源特定版本的識別碼。瀏覽器把ETag放進If-None-Match,送出「若自這個版本以來有改變就請送來」的條件式請求,若沒有改變,伺服器就回傳沒有本文的304 Not Modified。如此只需確認用的1次往返,不必重送影像資料。若有改變,則以200 OK回傳新的本文與新的ETag。在Cache-Control的max-age所定的期間內,瀏覽器連這個確認都不做,直接使用已保存的內容。

  • A. 影像沒有改變,因此不需要重送本文。避免重送正是條件式請求的目的。
  • B. 正確。304表示「沒有改變,可以使用已保存的內容」。
  • C. 404是表示找不到資源的代碼,但影像是存在的。
練習這個領域 前往領域頁面

Web技術基礎的其他題目

  1. 關於HTTP/2與HTTP/3的說明,下列何者正確?
  2. 從RTT為40 ms的Web伺服器,依序一個一個取得1個HTML以及它所參照的4張影像。假設建立TCP連線需要1個往返,每次請求與回應需要1個往返,並且不考慮資料的傳輸時間、伺服器的處理時間、TLS以及連線的中斷。每個物件都建立新TCP連線的情況,與重複使用一條TCP連線(持續連線)的情況,所需時間的差為下列何者?
  3. HTTP是無狀態的協定。關於這一點以及網站維持登入狀態的一般方法,下列說明何者正確?
  4. 關於以上方標頭設定的Cookie,下列說明何者正確?
  5. 瀏覽器的localStorage與Cookie的差異,下列何者正確?