首頁 AI 工具評測 關於我們
HTTP 方法

HTTP 方法參考手冊

免費線上 HTTP 方法參考手冊,無需帳號、不用安裝,完全在瀏覽器中運行。

方法詳細資訊

HTTP 方法比較表

方法 安全 冪等 可緩存 請求體

RESTful 設計指南 - CRUD 操作

什麼是 HTTP 方法?

HTTP 方法(也稱為 HTTP 動詞)是客戶端與伺服器通信時使用的一組標準化請求方法。每個方法都代表對資源的不同操作意圖,如獲取、建立、修改或刪除。HTTP/1.1 標準定義了 9 種主要方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 和 PATCH。

在 RESTful API 設計中,HTTP 方法被用來精確表達對資源的意圖,使 API 設計更加標準化和直觀。正確選擇和使用 HTTP 方法不僅影響代碼的可讀性,還影響 API 的安全性、效率和可靠性。

如何使用本參考手冊

本工具提供了全面的 HTTP 方法參考,幫助開發者快速查找和理解每個方法的用途、特性和用法:

  1. 方法詳細資訊 — 選擇任何 HTTP 方法查看其詳細描述、安全性特性、冪等性和典型使用場景
  2. 比較表 — 一目了然地查看所有 HTTP 方法的特性比較,包括安全性、冪等性和緩存能力
  3. CRUD 指南 — 了解在 RESTful API 中如何使用不同的 HTTP 方法進行建立、讀取、更新和刪除操作
  4. 請求範例 — 每個方法都附帶實際的 HTTP 請求範例,可直接複製使用

HTTP 方法的關鍵概念

安全性 (Safe):安全的方法不應該修改伺服器上的資源。GET、HEAD、OPTIONS 和 TRACE 是安全的方法。POST、PUT、DELETE 和 PATCH 不是安全的。

冪等性 (Idempotent):冪等的方法多次執行應該產生相同的結果。GET、PUT、DELETE、HEAD、OPTIONS 和 TRACE 都是冪等的。POST 和 PATCH 通常不是冪等的。

可緩存性 (Cacheable):可緩存的方法的結果可以由緩存系統存儲以供後續請求使用。GET、HEAD 和某些 POST 請求可以被緩存。PUT、DELETE 和 PATCH 通常不可緩存。

GET 和 HEAD 有什麼區別?

GET 和 HEAD 都用於請求資源信息,都是安全且冪等的。主要區別在於 HEAD 不返回訊息體(message body),只返回 HTTP 標頭。這使得 HEAD 對於檢查資源是否存在、獲取檔案大小或最後修改時間等元數據時非常有用,因為不需要下載整個資源內容。

什麼是冪等性(Idempotency)?為什麼重要?

冪等性是指多次執行相同的請求應該產生相同的結果。例如,刪除一個資源 10 次的結果與刪除一次的結果相同——資源都是被刪除的狀態。冪等性很重要因為它允許客戶端安全地重試請求而無需擔心重複執行可能造成的問題。

何時應該使用 PUT,何時使用 PATCH?

PUT 用於完全替換現有資源,您需要提供完整的資源表示。伺服器會完全覆蓋現有資源。PATCH 用於部分更新資源,只需要提供要修改的字段。一般來說,如果只修改幾個字段,使用 PATCH 更高效;如果替換整個資源,使用 PUT。

為什麼 POST 不是冪等的?

POST 用於建立新資源或提交數據以進行處理。如果您發送相同的 POST 請求三次,伺服器通常會建立三個不同的資源(每個都有不同的 ID)。因此 POST 不是冪等的。這是為什麼瀏覽器在刷新表單提交頁面時會警告您可能重複提交的原因。

POST 請求可以被緩存嗎?

理論上可以,但實際上很少見。大多數 HTTP 緩存系統默認不緩存 POST 請求,因為 POST 用於修改伺服器狀態或執行不冪等的操作。如果需要緩存特定的 POST 請求結果,需要明確設置適當的 Cache-Control 和 Content-Location 標頭。

CONNECT 和 TRACE 方法有什麼用途?

CONNECT 方法用於建立到伺服器的隧道連接,通常被代理使用以建立安全的 HTTPS 隧道。客戶端發送 CONNECT 請求後,伺服器建立與目標伺服器的 TCP 連接。TRACE 方法用於診斷目的,伺服器會將客戶端發送的完整請求回顯給客戶端,幫助調試請求經過代理的路徑。

返回頂端