在介紹http協(xié)議的請(qǐng)求和響應(yīng)消息格式之前抖誉,我們需要知道一點(diǎn)估脆,發(fā)送http請(qǐng)求钦奋,不一定非要用瀏覽器,只要遵循h(huán)ttp協(xié)議疙赠,就能夠發(fā)送http請(qǐng)求付材。
接下來(lái),我們使用telnet客戶端來(lái)進(jìn)行http請(qǐng)求與響應(yīng)的分析圃阳。
http請(qǐng)求的消息格式
http協(xié)議的請(qǐng)求分為三個(gè)部分:
(1)請(qǐng)求行:1.請(qǐng)求方法(get post put delete 等等)2.請(qǐng)求地址3.請(qǐng)求用的協(xié)議
(2)請(qǐng)求頭信息(格式為key:value格式)
(3)請(qǐng)求消息體
接下來(lái)厌衔,我們具體操作一下:
(1)在命令行輸入如下字符串,建立連接:
(2)之后進(jìn)入回顯命令行捍岳,輸入紅框中的部分富寿,并按回車,如下:
(3)如上圖锣夹,紅框下面多了一堆數(shù)據(jù)页徐,那就是響應(yīng)信息,紅線匡住的區(qū)域就是我們的請(qǐng)求消息的格式银萍,整理具體格式变勇,如下:
http協(xié)議get請(qǐng)求帶有參數(shù)的情況下的寫法:
如上,增加紅框內(nèi)的內(nèi)容贴唇,就能在發(fā)送請(qǐng)求的時(shí)候把參數(shù)也傳遞過(guò)去搀绣。
http協(xié)議post請(qǐng)求的寫法:
如上飞袋,增加紅框內(nèi)的內(nèi)容,就能發(fā)送post請(qǐng)求并把相關(guān)的參數(shù)帶上链患。
注意:
content-type代表編碼屬性巧鸭。
(1)這里的content-type:application/x-www-form-urlencoded,作用是將 窗體數(shù)據(jù)編碼為名稱/值對(duì),這是標(biāo)準(zhǔn)的編碼格式麻捻。
(2)content-length:告訴接收方蹄皱,我要傳送的數(shù)據(jù)大小,以便接收方在接收主體信息的時(shí)候知道數(shù)據(jù)是否完整芯肤。
http響應(yīng)的消息格式
響應(yīng)消息格式分為:
(1)響應(yīng)行 :1.協(xié)議版本 2.狀態(tài)碼 3.狀態(tài)文字
(2)響應(yīng)頭信息(key:value格式)
(3)響應(yīng)主體信息
下圖中巷折,紅線區(qū)域就是我們的響應(yīng)消息格式:
其格式整理如下:
以上就是telnet模擬http請(qǐng)求之后,對(duì)請(qǐng)求和響應(yīng)的分析崖咨。