解析HTTP協議六種請求方法

2021-06-27 09:36:07 字數 1086 閱讀 8710

標準http協議支援六種請求方法,即:

1,get

2,head

3,put

4,delete

5,post

6,options 但其實我們大部分情況下只用到了get和post。如果想設計乙個符合restful規範的web應用程式,則這六種方法都會用到。不過即使暫時不想涉及rest,了解這六種方法的本質仍然是很有作用的。大家將會發現,原來web也是很簡潔明瞭的。下面依次說明這六種方法。

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

3,put:這個方法比較少見。html表單也不支援這個。本質上來講, put和post極為相似,都是向伺服器傳送資料,但它們之間有乙個重要區別,put通常指定了資源的存放位置,而post則沒有,post的資料存放位置由伺服器自己決定。

舉個例子:如乙個用於提交博文的url,/addblog。如果用put,則提交的url會是像這樣的」/addblog/abc123」,其中abc123就是這個博文的位址。而如果用post,則這個位址會在提交後由伺服器告知客戶端。目前大部分部落格都是這樣的。顯然,put和post用途是不一樣的。具體用哪個還取決於當前的業務場景。

4,delete:刪除某乙個資源。基本上這個也很少見,不過還是有一些地方比如amazon的s3雲服務裡面就用的這個方法來刪除資源。

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

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

其實還有乙個trace方法,不過這個基本上不會用到,這裡就不介紹了。

以上的六種方法,我們可以跟資料庫的crud增刪改查操作對應起來: create :put read:get update:post delete:delete 這樣一來就實現了http和資料庫操作(其實不光是資料庫,任何資料如檔案圖表都是這樣)的完美統一,這也是rest的精髓之一。

解析HTTP協議六種請求方法

標準http協議支援六種請求方法,即 1 get get可以說是最常見的了,它實質就是傳送乙個請求來取得伺服器上的某個資源。資源通過一組http頭和呈現資料返回給客戶端。get請求中,永遠不會包含呈現資料。2 head head和get實質是一樣的,差別在於head不含有呈現資料,而僅僅是http頭...

Http的六種請求方式

http的六種請求方式 1 get 2 post 3 put 4 delete 5 head 6 options 日記 匯入的import urllib,urllib2改為import urllib.request 中所有urllib2改為urllib.request 但執行依然失敗 請教了老大以後...

六種開源協議的比較

http hi.baidu.com pythoner blog item 6dd483235d879940ad34de06.html 感謝作者。現今存在的開源協議很多,而經過open source initiative組織通過批准的開源協議目前有58種。我們在常見的開源協議如 mpl,bsd,gpl...