HTTP 協(xié)議的 8 種請(qǐng)求類型介紹
HTTP 協(xié)議中共定義了八種方法或者叫“動(dòng)作”來表明對(duì) Request-URI 指定的資源的不同操作方式紧索,具體介紹如下:
- OPTIONS:返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法月而。也可以利用向Web服務(wù)器發(fā)送'*'的請(qǐng)求來測(cè)試服務(wù)器的功能性挨措。
- HEAD:向服務(wù)器索要與GET請(qǐng)求相一致的響應(yīng)挖滤,只不過響應(yīng)體將不會(huì)被返回。這一方法可以在不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下浅役,就可以獲取包含在響應(yīng)消息頭中的元信息斩松。
- GET:向特定的資源發(fā)出請(qǐng)求。
- POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)觉既。數(shù)據(jù)被包含在請(qǐng)求體中惧盹。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的創(chuàng)建和/或已有資源的修改。
- PUT:向指定資源位置上傳其最新內(nèi)容瞪讼。
- DELETE:請(qǐng)求服務(wù)器刪除 Request-URI 所標(biāo)識(shí)的資源钧椰。
- TRACE:回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷符欠。
- CONNECT:HTTP/1.1 協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器嫡霞。
雖然 HTTP 的請(qǐng)求方式有 8 種,但是我們?cè)趯?shí)際應(yīng)用中常用的也就是 get 和 post希柿,其他請(qǐng)求方式也都可以通過這兩種方式間接的來實(shí)現(xiàn)诊沪。
兩種 HTTP 請(qǐng)求方法:GET 和 POST
在客戶機(jī)和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí)养筒,兩種最常被用到的方法是:GET 和 POST。
- GET - 從指定的資源請(qǐng)求數(shù)據(jù)端姚。
- POST - 向指定的資源提交要被處理的數(shù)據(jù)
- GET 方法
請(qǐng)注意晕粪,查詢字符串(名稱/值對(duì))是在 GET 請(qǐng)求的 URL 中發(fā)送的:
/test/demo_form.asp?name1=value1&name2=value2
有關(guān) GET 請(qǐng)求的其他一些注釋:
GET 請(qǐng)求可被緩存
GET 請(qǐng)求保留在瀏覽器歷史記錄中
GET 請(qǐng)求可被收藏為書簽
GET 請(qǐng)求不應(yīng)在處理敏感數(shù)據(jù)時(shí)使用
GET 請(qǐng)求有長度限制
GET 請(qǐng)求只應(yīng)當(dāng)用于取回?cái)?shù)據(jù)
- POST 方法
請(qǐng)注意,查詢字符串(名稱/值對(duì))是在 POST 請(qǐng)求的 HTTP 消息主體中發(fā)送的:
POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
有關(guān) POST 請(qǐng)求的其他一些注釋:
POST 請(qǐng)求不會(huì)被緩存
POST 請(qǐng)求不會(huì)保留在瀏覽器歷史記錄中
POST 不能被收藏為書簽
POST 請(qǐng)求對(duì)數(shù)據(jù)長度沒有要求
比較 GET 與 POST
下面的表格比較了兩種 HTTP 方法:GET 和 POST渐裸。
POST 比 GET 更安全巫湘,因?yàn)閰?shù)不會(huì)被保存在瀏覽器歷史或 web 服務(wù)器日志中。
可見性 數(shù)據(jù)在 URL 中對(duì)所有人都是可見的昏鹃。 數(shù)據(jù)不會(huì)顯示在 URL 中剩膘。