http請求方法

HTTP/1.1協議中定義了八種請求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE、TARCE和CONNECT 。最經常使用的方法是GET和POST。緩存

(1)GET
請求獲取由Request-URI(請求URI)指定的資源。注意:GET方法不該有增刪改操做和敏感信息,GET可能會被網絡爬蟲等隨意訪問。服務器

若是請求消息包含 If-Modified-Since,If-Unmodified-Since,If-Match,If-None-Match 或者If-Range頭域,GET的語義將變成「條件(conditionall) GET」。一個條件GET方法會請求知足條件頭域的實體。條件GET方法的目的是爲了減小沒必要要的網絡使用,這經過容許利用緩存裏仍然保鮮的實體而不用屢次請求或傳輸客戶端已經擁有的實體來實現的。網絡

若是請求方法包含一個Range頭域,那麼GET方法就變成「部分Get」(partial GET)方法。一個部分GET會請求實體的一部分。 部分GET方法的目的是爲了減小沒必要要的網絡使用,能夠容許客戶端從服務器獲取實體的部分數據,而不須要獲取客戶端本地已經擁有的部分實體數據。
GET請求的響應是可緩存的(cacheable)若是此響應知足HTTP緩存的要求。測試

(2)POST
向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建或已有資源的修改。代理

(3)OPTIONS
返回服務器針對特定資源所支持的HTTP請求方法。也能夠利用向Web服務器發送’*’的請求來測試服務器的功能性。響應頭中包含一個名爲「Allow」的頭,值是所支持的方法,如「GET, POST」。資源

(4)HEAD
向服務器索要與GET請求相一致的響應,只返回http頭信息,而響應體將不會被返回。這一方法能夠在沒必要傳輸整個響應內容的狀況下,就能夠獲取包含在響應消息頭中的元信息。經常使用來測試連接的有效性,判斷某個資源是否存在。it

(5)PUT
向指定資源位置上傳其最新內容。PUT和POST極爲類似,都是向服務器發送數據,但它們之間有一個重要區別,PUT一般指定了資源的存放位置,而POST則沒有,POST的數據存放位置由服務器本身決定。io

(6)DELETE
請求服務器刪除Request-URI所標識的資源。擴展

(7)TRACE
回顯服務器收到的請求,主要用於測試或診斷。表單

(8)CONNECT
HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。

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

HTTP服務器至少應該實現GET和HEAD方法,其餘方法都是可選的。此外,除了上述方法,特定的HTTP服務器還可以擴展自定義的方法。

相關文章
相關標籤/搜索