(一)http相關(guān)知識(shí)

前言

關(guān)于HTTP這個(gè)主題,可能大家馬上就會(huì)想到HTTP協(xié)議,確實(shí)今天要講的也就是HTTP協(xié)議,因?yàn)槲覀兠鎸?duì)的接口測試渤弛,大部分其實(shí)是基于HTTP協(xié)議的Web接口,所以今天就想將HTTP協(xié)議相關(guān)知識(shí)來梳理一下甚带。

HTTP概念理解

1她肯、什么是HTTP?

HTTP是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫鹰贵。它的發(fā)展是萬維網(wǎng)協(xié)會(huì)(World Wide Web Consortium)和Internet工作小組IETF(Internet Engineering Task Force)合作的結(jié)果晴氨,(他們)最終發(fā)布了一系列的RFC,RFC 1945定義了HTTP/1.0版本碉输。其中最著名的就是RFC 2616籽前。RFC 2616定義了今天普遍使用的一個(gè)版本——HTTP 1.1。

HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議枝哄。它可以使瀏覽器更加高效肄梨,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔挠锥,還確定傳輸文檔中的哪一部分众羡,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。

HTTP是一個(gè)應(yīng)用層協(xié)議蓖租,由請(qǐng)求和響應(yīng)構(gòu)成粱侣,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型。HTTP是一個(gè)無狀態(tài)的協(xié)議蓖宦。

2齐婴、在TCP/IP協(xié)議棧中的位置

HTTP協(xié)議通常承載于TCP協(xié)議之上,有時(shí)也承載于TLS或SSL協(xié)議層之上稠茂,這個(gè)時(shí)候尔店,就成了我們常說的HTTPS。如下圖所示:

默認(rèn)HTTP的端口號(hào)為80主慰,HTTPS的端口號(hào)為443。劃重點(diǎn)鲫售,這個(gè)很重要得記住

工作流程

在說工作流程之前共螺,我們得先了解HTTP協(xié)議的是如何在瀏覽器和Web服務(wù)器之前交互的。

1情竹、HTTP的請(qǐng)求響應(yīng)模型

HTTP協(xié)議永遠(yuǎn)都是客戶端發(fā)起請(qǐng)求藐不,服務(wù)器返回響應(yīng)結(jié)果的,看圖更好理解秦效,見下圖:

這樣模型就限制了使用HTTP協(xié)議雏蛮,無法實(shí)現(xiàn)在客戶端沒有發(fā)起請(qǐng)求的時(shí)候,服務(wù)器將消息推送給客戶端(這里暫時(shí)只考慮短連接阱州,鑒于篇幅關(guān)系不擴(kuò)展長連接了挑秉,有興趣的童鞋可以自己搜索了解HTTP長連接相關(guān)知識(shí))。另外苔货,HTTP協(xié)議是一個(gè)無狀態(tài)的協(xié)議犀概,同一個(gè)客戶端的這次請(qǐng)求和上次請(qǐng)求是沒有對(duì)應(yīng)關(guān)系的。

2夜惭、工作過程

一次HTTP操作稱為一個(gè)事務(wù)姻灶,其工作過程可分為下面幾步:

(1)客戶端連接到Web服務(wù)器

一個(gè)HTTP客戶端,通常是瀏覽器诈茧,與Web服務(wù)器的HTTP端口(默認(rèn)為80)建立一個(gè)TCP套接字連接产喉。

(2)發(fā)送HTTP請(qǐng)求

通過TCP套接字,客戶端向Web服務(wù)器發(fā)送一個(gè)文本的請(qǐng)求報(bào)文,一個(gè)請(qǐng)求報(bào)文由請(qǐng)求行曾沈、請(qǐng)求頭部这嚣、空行和請(qǐng)求數(shù)據(jù)4部分組成。

(3)服務(wù)器接受請(qǐng)求并返回HTTP響應(yīng)

Web服務(wù)器解析請(qǐng)求晦譬,定位請(qǐng)求資源疤苹。服務(wù)器將資源復(fù)本寫到TCP套接字,由客戶端讀取敛腌。一個(gè)響應(yīng)由狀態(tài)行卧土、響應(yīng)頭部、空行和響應(yīng)數(shù)據(jù)4部分組成像樊。

(4)釋放連接TCP連接

Web服務(wù)器主動(dòng)關(guān)閉TCP套接字尤莺,釋放TCP連接;客戶端被動(dòng)關(guān)閉TCP套接字生棍,釋放TCP連接颤霎。

(5)客戶端瀏覽器解析HTML內(nèi)容

客戶端瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼涂滴。然后解析每一個(gè)響應(yīng)頭友酱,響應(yīng)頭告知以下為若干字節(jié)的HTML文檔和文檔的字符集∪嶙荩客戶端瀏覽器讀取響應(yīng)數(shù)據(jù)HTML缔杉,根據(jù)HTML的語法對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示搁料。

例如新啼,下圖就是在瀏覽器地址欄輸入google搜索的地址后按下回車的過程:

HTTP狀態(tài)碼

請(qǐng)求成功后眉睹,不管結(jié)果如何瀏覽器都會(huì)收到一個(gè)返回的HTTP狀態(tài)碼匣掸,我們可以根據(jù)這個(gè)狀態(tài)碼來判斷本次請(qǐng)求成功與否播聪,下面是常見的HTTP狀態(tài)碼:

200- 請(qǐng)求成功

301- 資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它URL

404- 請(qǐng)求的資源(網(wǎng)頁等)不存在

500- 內(nèi)部服務(wù)器錯(cuò)誤

HTTP狀態(tài)碼分類:

HTTP狀態(tài)碼由三個(gè)十進(jìn)制數(shù)字組成,第一個(gè)十進(jìn)制數(shù)字定義了狀態(tài)碼的類型昭伸,后兩個(gè)數(shù)字沒有分類的作用梧乘,HTTP狀態(tài)碼共分為5種類型(劃重點(diǎn),這個(gè)也很重要得知道):

注:鑒于篇幅關(guān)系勋乾,全部的狀態(tài)碼列表就不貼了宋下,百度搜一下就出來了。給個(gè)鏈接參考:http://tool.oschina.net/commons?type=5

作者:測試開發(fā)棧

鏈接:http://www.reibang.com/p/d2b649078bc9

來源:簡書

著作權(quán)歸作者所有辑莫。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)学歧,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末各吨,一起剝皮案震驚了整個(gè)濱河市枝笨,隨后出現(xiàn)的幾起案子袁铐,更是在濱河造成了極大的恐慌,老刑警劉巖横浑,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剔桨,死亡現(xiàn)場離奇詭異,居然都是意外死亡徙融,警方通過查閱死者的電腦和手機(jī)洒缀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欺冀,“玉大人树绩,你說我怎么就攤上這事∫” “怎么了饺饭?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長职车。 經(jīng)常有香客問我瘫俊,道長,這世上最難降的妖魔是什么悴灵? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任扛芽,我火速辦了婚禮,結(jié)果婚禮上积瞒,老公的妹妹穿的比我還像新娘胸哥。我一直安慰自己,他們只是感情好赡鲜,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著庐船,像睡著了一般银酬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上筐钟,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天揩瞪,我揣著相機(jī)與錄音,去河邊找鬼篓冲。 笑死李破,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的壹将。 我是一名探鬼主播嗤攻,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼诽俯!你這毒婦竟也來了妇菱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闯团,沒想到半個(gè)月后辛臊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡房交,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年彻舰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片候味。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刃唤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出负溪,到底是詐尸還是另有隱情透揣,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布川抡,位于F島的核電站辐真,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏崖堤。R本人自食惡果不足惜侍咱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望密幔。 院中可真熱鬧楔脯,春花似錦、人聲如沸胯甩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偎箫。三九已至木柬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淹办,已是汗流浹背眉枕。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怜森,地道東北人速挑。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像副硅,于是被迫代替她去往敵國和親姥宝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容