1. 程式人生 > >http協議中除了get和post之外還有哪些

http協議中除了get和post之外還有哪些

一般來說,Web伺服器預設的只支援Post和Get這兩種“只讀”的請求方法。

HTTP/1.1協議中共定義了八種方法(也叫“動作”)來以不同方式操作指定的資源:


OPTIONS:

這個方法可使伺服器傳回該資源所支援的所有HTTP請求方法。用'*'來代替資源名稱,向Web伺服器傳送OPTIONS請求,可以測試伺服器功能是否正常運作。


HEAD:

與GET方法一樣,都是向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部分。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中“關於該資源的資訊”(元資訊或稱元資料)。


GET:

向指定的資源發出“顯示”請求。使用GET方法應該只用在讀取資料,而不應當被用於產生“副作用”的操作中,例如在Web Application中。其中一個原因是GET可能會被網路蜘蛛等隨意訪問。參見安全方法


POST:

向指定資源提交資料,請求伺服器進行處理(例如提交表單或者上傳檔案)。資料被包含在請求本文中。這個請求可能會建立新的資源或修改現有資源,或二者皆有。


PUT:

向指定資源位置上傳其最新內容。


DELETE:

請求伺服器刪除Request-URI所標識的資源。


TRACE:

回顯伺服器收到的請求,主要用於測試或診斷。


CONNECT:

HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器。通常用於SSL加密伺服器的連結(經由非加密的HTTP代理伺服器)。

方法名稱是區分大小寫的。當某個請求所針對的資源不支援對應的請求方法的時候,伺服器應當返回狀態碼405(Method Not Allowed),當伺服器不認識或者不支援對應的請求方法的時候,應當返回狀態碼501(Not Implemented)。

通常我們用的也都是 GET 和 POST 方法,如果要實現其他的方法,需要在伺服器做相應的配置。
但是我們應該清楚,有這些個動作的存在。
而且,其他請求方式也都可以通過這兩種方式間接的來實現。