Web技術基礎

符合REST概念的Web API設計,下列何者適當?

  1. A像 /getUser?id=42 或 /deleteUser?id=42 那樣,把操作名稱放進URL,全部以GET送出
  2. B以 /users/42 這類URL表示使用者資源,並以HTTP方法表示操作,例如以GET取得、以DELETE刪除
  3. C讓伺服器記住每個用戶端先前請求的內容,下一個請求只送出以此為前提的簡短命令
查看答案與解析

正確答案:B. 以 /users/42 這類URL表示使用者資源,並以HTTP方法表示操作,例如以GET取得、以DELETE刪除

REST把處理的對象當作資源以URL表示,並以GET(取得)、POST(建立)、PUT或PATCH(更新)、DELETE(刪除)等HTTP方法表示對資源的操作。例如以 GET /users/42 取得資源,以 POST /users 建立新使用者時,伺服器回傳201 Created與新資源的URL。每個請求都要設計成包含處理所需全部資訊的無狀態請求。若以GET進行刪除之類的操作,光是連結的預先載入或爬蟲的存取,就可能讓資料消失。

  • A. 把操作名稱放進URL的設計與REST的概念不同。此外,以GET刪除可能因預先載入等原因而被意外執行。
  • B. 正確。以URL表示資源,以HTTP方法表示操作。
  • C. REST讓每個請求彼此獨立,設計成伺服器不以先前請求為前提的無狀態形式。
練習這個領域 前往領域頁面

Web技術基礎的其他題目

  1. 在瀏覽器中開啟 https://www.example.com:8443/docs/guide.html?lang=ja#install。這個URL中,不包含在送往伺服器的請求裡、只在網頁載入後於瀏覽器內使用的部分,為下列何者?
  2. 為了在URL的查詢中放入日文的「あ」,把這個字元以UTF-8表示的位元組序列(E3 81 82)進行百分比編碼。結果下列何者正確?
  3. 在聊天應用程式中,想把新訊息立即從伺服器送到瀏覽器。關於WebSocket的說明,下列何者正確?
  4. 想讓特約商店的伺服器立即得知線上支付服務的付款已完成。關於支付服務以HTTP的POST,向特約商店事先登錄的URL送出通知的方式(Webhook),下列說明何者正確?
  5. 關於瀏覽器中使用的DOM(Document Object Model),下列說明何者正確?