http協議支援的6種請求格式

2021-07-30 19:00:40 字數 1132 閱讀 4274

2post:向伺服器提交資料。這個方法用途廣泛,幾乎目前所有的提交操作都是靠這個完成。

儘管你可以通過get方法將資料附加到url中傳送給伺服器,但在很多情況下使用post傳送資料給伺服器更加合適。通過get傳送大量資料是不現實的,它有一定的侷限性。

post請求例子:

//請求報頭 這裡刪除了大部分資訊,只顯示有用的

content-length: 43//請求正文裡的引數長度,很重要

//空行 接下來是請求正文

first_name=john&last_name=doe&action=submit

在解析http請求時,我們必須獲得引數長度,這樣才能解決粘包問題。

3,put:這個方法比較少見。html表單也不支援這個。本質上來講, put和post極為相似,都是向伺服器傳送資料,但它們之間有乙個重要區別,put通常指定了資源的存放位置,而post則沒有,post的資料存放位置由伺服器自己決定。舉個例子:如乙個用於提交博文的url,/addblog。如果用put,則提交的url會是像這樣的/addblog/abc123,其中abc123就是這個博文的位址。而如果用post,則這個位址會在提交後由伺服器告知客戶端。目前大部分部落格都是這樣的。顯然,put和post用途是不一樣的。具體用哪個還取決於當前的業務場景。

總而言之:put通常用於向伺服器傳送請求,如果uri不存在,則要求伺服器根據請求建立資源,如果存在,伺服器就接受請求內容,並修改uri資源的原始版本。

4,delete:刪除某乙個資源。基本上這個也很少見,不過還是有一些地方比如amazon的s3雲服務裡面就用的這個方法來刪除資源。delete請求一般會返回3種狀態碼:

5,options:它用於獲取當前url所支援的方法。若請求成功,則它會在http頭中包含乙個名為allow的頭,值是所支援的方法,如get, post。這種方法很少使用。

6,head:head和get本質是一樣的,區別在於head不含有呈現資料,而僅僅是http頭資訊。有的人可能覺得這個方法沒什麼用,其實不是這樣的。想象乙個業務情景:欲判斷某個資源是否存在,我們通常使用get,但這裡用head則意義更加明確。

除了上面之外,還有一些其他方法,如trace,不過都很少使用。

參考文章:

HTTP請求協議格式

請求行 accept 粉色部分是請求頭 accept language zh accept encoding gzip,deflate if modified since mon,15 oct 2012 09 06 00 gmt if none match w 319 1350291960578 u...

HTTP協議請求格式

一 http互動流程 1.客戶端根據位址與伺服器建立連線。2.客戶端向伺服器傳送請求資料。遵循http協議 3.伺服器對客戶端發來的請求進行處理,並將處理結果響應給客戶端。http協議 4.關閉客戶端和伺服器端的連線。http協議1.1之後版本不會立即關閉 二 http協議的請求格式 請求頭 請求方...

HTTP協議的8種請求型別

http協議中共定義了八種方法或者叫 動作 來表明對request uri指定的資源的不同操作方式,具體介紹如下 options 返回伺服器針對特定資源所支援的http請求方法。也可以利用向web伺服器傳送 的請求來測試伺服器的功能性。head 向伺服器索要與get請求相一致的響應,只不過響應體將不...