標籤:http 報文
注意,並不是每個伺服器都實現了所有的方法。如果一台伺服器要與 HTTP 1.1 相容,那麼只要為其資源實現 GET 方法和 HEAD 方法就可以了。
GET
GET 是最常見的方法。通常用於請求伺服器發送某個資源。HTTP/1.1 要求伺服器實現此方法。
HEAD
HEAD 方法與 GET 方法的行為很類似,但伺服器在響應中只返回首部。不會返回實體的主體部分。這就允許用戶端在未擷取實際資源的情況下,對資源的首部進行檢查。
PUT
與 GET 從伺服器讀取文檔相反,PUT 方法會向伺服器寫入文檔。有些發布系統允許使用者建立 Web 頁面,並用 PUT 直接將其安裝到 Web 服務器上去。
PUT 方法的語義就是讓伺服器用主體部分來建立一個由所請求的 URL 命名的文檔,或者,如果那個 URL 已經存在的話,就用這個主體來替代它。
POST
POST 方法起初是用來向伺服器輸入資料的。實際上,通常用它來支援 HTML 的表單。表單中填好的資料通常會被送給伺服器,然後由伺服器將其發送到它要去的地方(比如,送到一個伺服器網關程式中,然後由這個程式對其進行處理)。
TRACE
用戶端發起一個請求時,這個請求可能要穿過防火牆、代理、網關或其他一些應用程式。每個中間節點都可能會修改原始的 HTTP 要求。TRACE 方法允許用戶端在最終將請求發送給伺服器時,看看它變成了什麼樣子。
650) this.width=650;" src="https://s4.51cto.com/wyfs02/M01/8F/52/wKioL1jbK56CklF2AAD4ebY7Nqs578.png" title="3e05330749691bd03e36191394f0cdea[1].png" alt="wKioL1jbK56CklF2AAD4ebY7Nqs578.png" />
TRACE 方法主要用於診斷;也就是說,用於驗證請求是否如願穿過了請求 / 響應鏈。它也是一種很好的工具,可以用來查看代理和其他應用程式對使用者請求所產生效果。
TRACE 請求中不能帶有實體的主體部分。TRACE 響應的實體主體部分包含了響應伺服器收到的請求的完全重複項。
OPTIONS
OPTIONS 方法請求 Web 服務器告知其支援的各種功能。可以詢問伺服器通常支援哪些方法,或者對某些特殊資源支援哪些方法。
DELETE
顧名思義,DELETE 方法所做的事情就是請伺服器刪除請求 URL 所指定的資源,但是用戶端應用程式無法保證刪除操作一定會被執行。因為 HTTP 規範允許伺服器在不通知用戶端的情況下撤銷請求。
擴充方法
HTTP 被設計成欄位可擴充的,這樣新的特性就不會使老的軟體失效了。擴充方法指的就是沒有在 HTTP/1.1 規範中定義的方法。伺服器會為它所管理的資源實現一些 HTTP 服務,這些方法為開發人員提供了一種擴充這些 HTTP 服務能力的手段。 下表列出了一些廠家的擴充方法執行個體。這些方法就是 WebDAV HTTP 擴充包含的所有方法,這些方法有助於通過 HTTP 將 Web 內容發布到 Web 服務器上去。
| 方法 |
描述 |
| LOCK |
允許使用者“鎖定”資源——比如,可以在編輯某個資源的時候將其鎖定,以防止別人同時對其進行修改 |
| MKCOL |
允許使用者建立資源 |
| COPY |
便於在伺服器上複製資源 |
| MOVE |
在伺服器上移動資源 |
並不是所有的擴充方法都是在正是規範中定義的,認識到這一點很重要。如果可能被破壞端到端行為則應以 501 Not Implemented(無法實現)狀態嗎進行響應。
本文出自 “Professor哥” 部落格,轉載請與作者聯絡!
HTTP 報文 之 HTTP 方法