HTTP請(qǐng)求的常用方法有:GET方法承冰、POST方法、HEAD方法食零、PUT方法困乒、DELETE方法、CONNECT方法慌洪、OPTIONS方法顶燕、TRACE方法
HTTP,即超文本傳輸協(xié)議冈爹,是一種實(shí)現(xiàn)客戶端和服務(wù)器之間通信的響應(yīng)協(xié)議涌攻,它是用作客戶端和服務(wù)器之間的請(qǐng)求。
客戶端(瀏覽器)會(huì)向服務(wù)器提交HTTP請(qǐng)求频伤;然后服務(wù)器向客戶端返回響應(yīng)恳谎;其中響應(yīng)包含有關(guān)請(qǐng)求的狀態(tài)信息,還可能包含請(qǐng)求的內(nèi)容。
HTTP的常用方法
1因痛、GET方法
GET方法用于使用給定的URI從給定服務(wù)器中檢索信息婚苹,即從指定資源中請(qǐng)求數(shù)據(jù)。使用GET方法的請(qǐng)求應(yīng)該只是檢索數(shù)據(jù)鸵膏,并且不應(yīng)對(duì)數(shù)據(jù)產(chǎn)生其他影響膊升。
GET請(qǐng)求是可以緩存的,我們可以從瀏覽器歷史記錄中查找到GET請(qǐng)求谭企,還可以把它收藏到書簽中廓译;且GET請(qǐng)求有長(zhǎng)度限制,僅用于請(qǐng)求數(shù)據(jù)(不修改)债查。
注:因GET請(qǐng)求的不安全性非区,在處理敏感數(shù)據(jù)時(shí),絕不可以使用GET請(qǐng)求盹廷。
2征绸、POST方法
POST方法用于將數(shù)據(jù)發(fā)送到服務(wù)器以創(chuàng)建或更新資源,它要求服務(wù)器確認(rèn)請(qǐng)求中包含的內(nèi)容作為由URI區(qū)分的Web資源的另一個(gè)下屬俄占。
POST請(qǐng)求永遠(yuǎn)不會(huì)被緩存管怠,且對(duì)數(shù)據(jù)長(zhǎng)度沒(méi)有限制;我們無(wú)法從瀏覽器歷史記錄中查找到POST請(qǐng)求颠放。
GET和POST的底層區(qū)別在于
GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包;POST產(chǎn)生兩個(gè)TCP數(shù)據(jù)包排惨。
對(duì)于GET方式的請(qǐng)求,瀏覽器會(huì)把http header和data一并發(fā)送出去碰凶,服務(wù)器響應(yīng)200(返回?cái)?shù)據(jù));
而對(duì)于POST暮芭,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue欲低,瀏覽器再發(fā)送data辕宏,服務(wù)器響應(yīng)200 ok(返回?cái)?shù)據(jù))。
3砾莱、HEAD方法
HEAD方法與GET方法相同瑞筐,但沒(méi)有響應(yīng)體,僅傳輸狀態(tài)行和標(biāo)題部分腊瑟。這對(duì)于恢復(fù)相應(yīng)頭部編寫的元數(shù)據(jù)非常有用聚假,而無(wú)需傳輸整個(gè)內(nèi)容。
4闰非、PUT方法
PUT方法用于將數(shù)據(jù)發(fā)送到服務(wù)器以創(chuàng)建或更新資源膘格,它可以用上傳的內(nèi)容替換目標(biāo)資源中的所有當(dāng)前內(nèi)容。
它會(huì)將包含的元素放在所提供的URI下财松,如果URI指示的是當(dāng)前資源瘪贱,則會(huì)被改變纱控。如果URI未指示當(dāng)前資源,則服務(wù)器可以使用該URI創(chuàng)建資源菜秦。
5甜害、DELETE方法
DELETE方法用來(lái)刪除指定的資源,它會(huì)刪除URI給出的目標(biāo)資源的所有當(dāng)前內(nèi)容球昨。
6尔店、CONNECT方法
CONNECT方法用來(lái)建立到給定URI標(biāo)識(shí)的服務(wù)器的隧道;它通過(guò)簡(jiǎn)單的TCP / IP隧道更改請(qǐng)求連接褪尝,通常實(shí)使用解碼的HTTP代理來(lái)進(jìn)行SSL編碼的通信(HTTPS)闹获。
7、OPTIONS方法
OPTIONS方法用來(lái)描述了目標(biāo)資源的通信選項(xiàng)河哑,會(huì)返回服務(wù)器支持預(yù)定義URL的HTTP策略。
8龟虎、TRACE方法
TRACE方法用于沿著目標(biāo)資源的路徑執(zhí)行消息環(huán)回測(cè)試璃谨;它回應(yīng)收到的請(qǐng)求,以便客戶可以看到中間服務(wù)器進(jìn)行了哪些(假設(shè)任何)進(jìn)度或增量鲤妥。