HTTP協(xié)議的8種請(qǐng)求方式及常用請(qǐng)求方式的解析

什么是協(xié)議?
協(xié)議,是指通信的雙方,在通信流程或內(nèi)容格式上,共同遵守的標(biāo)準(zhǔn)。
一、什么是HTTP?
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協(xié)議的特點(diǎn)
①通信流程:斷開(kāi)式(無(wú)狀態(tài))
斷開(kāi)式:http協(xié)議每次響應(yīng)完成后,會(huì)斷開(kāi)與客戶端的連接
無(wú)狀態(tài):由于服務(wù)器斷開(kāi)了之前的連接,就無(wú)法知曉連接間的關(guān)系
②內(nèi)容格式:消息頭和消息體
HTTP請(qǐng)求的方法:
HTTP/1.1協(xié)議中共定義了八種方法(有時(shí)也叫“動(dòng)作”),來(lái)表明Request-URL指定的資源不同的操作方式
1、OPTIONS
返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法,也可以利用向web服務(wù)器發(fā)送‘*’的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性
2、HEAD
向服務(wù)器索與GET請(qǐng)求相一致的響應(yīng),只不過(guò)響應(yīng)體將不會(huì)被返回。這一方法可以再不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)小消息頭中的元信息。
3、GET
向特定的資源發(fā)出請(qǐng)求。它本質(zhì)就是發(fā)送一個(gè)請(qǐng)求來(lái)取得服務(wù)器上的某一資源。資源通過(guò)一組HTTP頭和呈現(xiàn)數(shù)據(jù)(如HTML文本,或者圖片或者視頻等)返回給客戶端。GET請(qǐng)求中,永遠(yuǎn)不會(huì)包含呈現(xiàn)數(shù)據(jù)。
4、POST
向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。 Loadrunner中對(duì)應(yīng)POST請(qǐng)求函數(shù):web_submit_data,web_submit_form
5、PUT
向指定資源位置上傳其最新內(nèi)容
6、DELETE
請(qǐng)求服務(wù)器刪除Request-URL所標(biāo)識(shí)的資源
7、TRACE
回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷
8、CONNECT
HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
注意:
1)方法名稱是區(qū)分大小寫(xiě)的,當(dāng)某個(gè)請(qǐng)求所針對(duì)的資源不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候,服務(wù)器應(yīng)當(dāng)返回狀態(tài)碼405(Mothod Not Allowed);當(dāng)服務(wù)器不認(rèn)識(shí)或者不支持對(duì)應(yīng)的請(qǐng)求方法時(shí),應(yīng)返回狀態(tài)碼501(Not Implemented)。
2)HTTP服務(wù)器至少應(yīng)該實(shí)現(xiàn)GET和HEAD/POST方法,其他方法都是可選的,此外除上述方法,特定的HTTP服務(wù)器支持?jǐn)U展自定義的方法。
三、HTTP的8種請(qǐng)求方式
HTTP/1.1協(xié)議中共定義了八種方法(有時(shí)也叫“動(dòng)作”),來(lái)表明Request-URL指定的資源不同的操作方式
其中:
HTTP1.0定義了三種請(qǐng)求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五種請(qǐng)求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法
最常用的四種請(qǐng)求方法:GET, POST, PUT, DELETE
1、get請(qǐng)求
get:可以理解 為 取 的意思,對(duì)應(yīng)select操作
用來(lái)獲取數(shù)據(jù)的,只是用來(lái)查詢數(shù)據(jù),不對(duì)服務(wù)器的數(shù)據(jù)做任何的修改,新增,刪除等操作。
說(shuō)明:
get請(qǐng)求會(huì)把請(qǐng)求的參數(shù)附加在URL后面,這樣是不安全的,在處理敏感數(shù)據(jù)時(shí)不用,或者參數(shù)做加密處理。
get請(qǐng)求其實(shí)本身HTTP協(xié)議并沒(méi)有限制它的URL大小,但是不同的瀏覽器對(duì)其有不同的大小長(zhǎng)度限制
舉例:
http://chabaoo.cn/company/my_take_part_in_projects_list?project_id=20085821&t=1655176334048&from=left_tree
2、post請(qǐng)求
post 可以理解 為 貼 的意思
數(shù)據(jù)發(fā)送到服務(wù)器以創(chuàng)建或更新資源,側(cè)重于更新數(shù)據(jù),對(duì)應(yīng)update操作
說(shuō)明:
post請(qǐng)求的請(qǐng)求參數(shù)都是請(qǐng)求body中
舉例:
http://chabaoo.cn/20085821/bugtrace/buglists/query/1/created/desc?query_token=%……&&**
3、put請(qǐng)求
put:可以理解為 放 的意思
數(shù)據(jù)發(fā)送到服務(wù)器以創(chuàng)建或更新資源,側(cè)重于創(chuàng)建數(shù)據(jù),對(duì)應(yīng)insert操作
4、delete請(qǐng)求
delete:字面意思刪除,即刪除數(shù)據(jù),對(duì)應(yīng)delete操作
用來(lái)刪除指定的資源,它會(huì)刪除URI給出的目標(biāo)資源的所有當(dāng)前內(nèi)容
5、options請(qǐng)求
用來(lái)描述了目標(biāo)資源的通信選項(xiàng),返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法,也可以利用向web服務(wù)器發(fā)送‘*’的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性![
舉例:https://imgservice.csdn.net/direct/v1.0/image/upload?type=blog&rtype=markdown&x-image-template=standard&x-image-app=direct_blog&x-image-dir=direct&x-image-suffix=png
6、head請(qǐng)求
HEAD方法與GET方法相同,但沒(méi)有響應(yīng)體,僅傳輸狀態(tài)行和標(biāo)題部分。這對(duì)于恢復(fù)相應(yīng)頭部編寫(xiě)的元數(shù)據(jù)非常有用,而無(wú)需傳輸整個(gè)內(nèi)容。
7、connect請(qǐng)求
CONNECT方法用來(lái)建立到給定URI標(biāo)識(shí)的服務(wù)器的隧道;它通過(guò)簡(jiǎn)單的TCP / IP隧道更改請(qǐng)求連接,通常實(shí)使用解碼的HTTP代理來(lái)進(jìn)行SSL編碼的通信(HTTPS)。
8、trace請(qǐng)求
TRACE方法用于沿著目標(biāo)資源的路徑執(zhí)行消息環(huán)回測(cè)試;它回應(yīng)收到的請(qǐng)求,以便客戶可以看到中間服務(wù)器進(jìn)行了哪些(假設(shè)任何)進(jìn)度或增量。
綜上,大家記得以下總結(jié),即達(dá)到本貼目的
1、get 取,是查詢數(shù)據(jù),對(duì)應(yīng)select操作
2、post 貼,常用于修改數(shù)據(jù),對(duì)應(yīng)update操作
3、put 放,常用于新增數(shù)據(jù),對(duì)應(yīng)insert操作
4、delete 刪,是刪除數(shù)據(jù),對(duì)應(yīng)delete操作
get 和 post區(qū)別
區(qū)別:
get請(qǐng)求無(wú)消息體,只能攜帶少量數(shù)據(jù)
post請(qǐng)求有消息體,可以攜帶大量數(shù)據(jù)
攜帶數(shù)據(jù)的方式:
get請(qǐng)求將數(shù)據(jù)放在url地址中
post請(qǐng)求將數(shù)據(jù)放在消息體中
GET請(qǐng)求請(qǐng)?zhí)峤坏臄?shù)據(jù)放置在HTTP請(qǐng)求協(xié)議頭中,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中;
GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒(méi)有此限制。
其它文檔
網(wǎng)絡(luò)協(xié)議匯總:http://chabaoo.cn/network/851215.html
tcp三次握手、四次揮手:http://chabaoo.cn/network/388684.html
一次完整的http請(qǐng)求過(guò)程:http://chabaoo.cn/network/851216.html
常見(jiàn)HTTP狀態(tài)碼匯總:http://chabaoo.cn/article/104295.htm
相關(guān)文章
三大網(wǎng)絡(luò)管理協(xié)議:SNMP、NETCONF、RESTCONF介紹
本文將詳細(xì)介紹三種主要的協(xié)議:SNMP(Simple Network Management Protocol)、NETCONF(Network Configuration Protocol)和RESTCONF,需要的朋友可以參考下2024-02-13常見(jiàn)網(wǎng)絡(luò)協(xié)議匯總
常見(jiàn)的網(wǎng)絡(luò)協(xié)議有:TCP/IP協(xié)議、UDP協(xié)議、HTTP協(xié)議、FTP協(xié)議等,本文就詳細(xì)的介紹一下常見(jiàn)的網(wǎng)絡(luò)協(xié)議,通過(guò)這些具體的協(xié)議更深刻的認(rèn)識(shí)整體網(wǎng)絡(luò)的傳輸流程及相關(guān)網(wǎng)絡(luò)原理,2023-05-30- 本文主要介紹了L2TP和PPTP的區(qū)別,主要的前區(qū)別在于用途不同、使用要求不同,下面就來(lái)介紹一下L2TP和PPTP的聯(lián)系與區(qū)別,感興趣的可以了解一下2023-05-30
自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解
這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解,需要的朋友可以參考下2023-05-08自組織網(wǎng)絡(luò)Ad Hoc 網(wǎng)絡(luò)基礎(chǔ)知識(shí)
自組織網(wǎng)絡(luò)(Ad Hoc)是一種移動(dòng)通信和計(jì)算機(jī)網(wǎng)絡(luò)相結(jié)合的網(wǎng)絡(luò),是移動(dòng)計(jì)算機(jī)網(wǎng)絡(luò)的一種,用戶終端可以在網(wǎng)絡(luò)內(nèi)隨意移動(dòng)而保持通信2023-05-08- 瀏覽器輸入一個(gè)URL回車后,會(huì)發(fā)生什么呢?這里就為大家分享一下,需要的朋友可以參考下2022-10-19
- 本篇主要是對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行一個(gè)歸納總結(jié),方便后續(xù)查閱及復(fù)習(xí),當(dāng)然如有新的認(rèn)知或新的理解,也會(huì)持續(xù)更新2022-10-19
- 今日回顧網(wǎng)絡(luò)知識(shí)時(shí),發(fā)現(xiàn)自己專門(mén)整理過(guò)一篇關(guān)于日常生活中常見(jiàn)的網(wǎng)絡(luò)協(xié)議知識(shí)以及作用的梳理,特發(fā)此一貼,也當(dāng)給自己鞏固網(wǎng)絡(luò)知識(shí)了,如有錯(cuò)誤,望各大佬指正2022-10-19
HTTP協(xié)議的8種請(qǐng)求方式及常用請(qǐng)求方式的解析
HTTP即超文本傳輸協(xié)議,是一種實(shí)現(xiàn)客戶端和服務(wù)器之間通信的響應(yīng)協(xié)議,它是用作客戶端和服務(wù)器之間的請(qǐng)求,需要的朋友可以參考下2022-10-19