HTTP知識(shí)點(diǎn)小結(jié)

HTTP協(xié)議是建立在TCP之上的簡(jiǎn)單的請(qǐng)求-響應(yīng)協(xié)議蝗羊。

  • 特點(diǎn)
    1.支持客戶/服務(wù)器模式
    2.簡(jiǎn)單快速
    3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象
    4.無連接:無連接的含義是限制每次連接只處理一個(gè)請(qǐng)求拱燃。服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后奋刽,即斷開連接尺棋。采用這種方式可以節(jié)省傳輸時(shí)間缸夹。
    5.無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議匀油。無狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息腥椒,則它必須重傳阿宅,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面笼蛛,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快洒放。
  • 內(nèi)容
    請(qǐng)求報(bào)文如圖,由四個(gè)部分組成
    請(qǐng)求行(request line)伐弹、請(qǐng)求頭部(header)拉馋、空行和請(qǐng)求數(shù)據(jù)
    圖片.png

    服務(wù)器回應(yīng)如圖
    狀態(tài)行、消息報(bào)頭惨好、空行和響應(yīng)正文
    圖片.png
  • 請(qǐng)求方法
    有8種,常用GET和POST随闺,兩者區(qū)別是GET有數(shù)據(jù)長(zhǎng)度的限制日川,所以GET常用來發(fā)送查詢請(qǐng)求,而POST則用來傳輸數(shù)據(jù)
  • HTTP步驟
    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連接
    若connection 模式為close厉熟,則服務(wù)器主動(dòng)關(guān)閉TCP連接捻艳,客戶端被動(dòng)關(guān)閉連接,釋放TCP連接;若connection 模式為keepalive庆猫,則該連接會(huì)保持一段時(shí)間认轨,在該時(shí)間內(nèi)可以繼續(xù)接收請(qǐng)求;
    5、客戶端瀏覽器解析HTML內(nèi)容

例如:在瀏覽器地址欄鍵入U(xiǎn)RL月培,按下回車之后會(huì)經(jīng)歷以下流程:
1嘁字、瀏覽器向 DNS 服務(wù)器請(qǐng)求解析該 URL 中的域名所對(duì)應(yīng)的 IP 地址;
2、解析出 IP 地址后杉畜,根據(jù)該 IP 地址和默認(rèn)端口 80纪蜒,和服務(wù)器建立TCP連接;
3、瀏覽器發(fā)出讀取文件(URL 中域名后面部分對(duì)應(yīng)的文件)的HTTP 請(qǐng)求此叠,該請(qǐng)求報(bào)文作為 TCP 三次握手的第三個(gè)報(bào)文的數(shù)據(jù)發(fā)送給服務(wù)器;
4纯续、服務(wù)器對(duì)瀏覽器請(qǐng)求作出響應(yīng),并把對(duì)應(yīng)的 html 文本發(fā)送給瀏覽器;
5灭袁、釋放 TCP連接;
6猬错、瀏覽器將該 html 文本并顯示內(nèi)容

  • HTTP狀態(tài)碼
    100 continue
    101 switching protocol

200 ok
201 created
202 accepted
203 Non-Authoritative Information
204 no content
205 reset content
206 partical content


300 multiple choices
301 moved permanently永久移動(dòng)
302 found暫時(shí)移動(dòng)
303 see other
304 not modified
305 use proxy
306 unused
307 temporary redirect GET重定向


400 bad request 客戶端請(qǐng)求語法錯(cuò)誤
401 unauthorized 需要身份驗(yàn)證
402 payment require(預(yù)留以后用,現(xiàn)在沒卵用)
403 forbidden 服務(wù)器拒絕請(qǐng)求
404 not found 找不到資源
405 method not allowed
406 not acceptable
后面還有很多茸歧,但記住常見的就差不多了


500 interval server error服務(wù)器內(nèi)部錯(cuò)誤
501 not implement服務(wù)器不支持請(qǐng)求的功能
502 bad gateway代理服務(wù)器接收到無效請(qǐng)求
503 service unavailable服務(wù)器暫時(shí)無法處理請(qǐng)求
504 gateway timeout代理服務(wù)器未及時(shí)獲取請(qǐng)求
505 http version not supported


  • 長(zhǎng)連接和短連接
    短連接:在三次握手之后建立連接倦炒,每次發(fā)送數(shù)據(jù)包并得到服務(wù)器返回的結(jié)果之后,通過客戶端和服務(wù)端的四次握手進(jìn)行關(guān)閉斷開软瞎。如果需要發(fā)送新的數(shù)據(jù)逢唤,需要建立新連接拉讯。
    長(zhǎng)連接:執(zhí)行三次握手鏈接后,不斷開鏈接鳖藕,保持客戶端和服務(wù)端通信魔慷,直到服務(wù)器超時(shí)自動(dòng)斷開鏈接,或者客戶端主動(dòng)斷開鏈接著恩。
    使用長(zhǎng)連接后院尔,可以應(yīng)用pipelined request(不知道怎么翻譯),就是在上一個(gè)請(qǐng)求的應(yīng)答完成之前就發(fā)起新的請(qǐng)求页滚。
    HTTP1.1默認(rèn)使用長(zhǎng)連接
    HTTP請(qǐng)求和響應(yīng)頭都有Connection: Keep-alive召边,可能后面還會(huì)跟著Keep-Alive:timeout=20還可能有max=XXX
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市裹驰,隨后出現(xiàn)的幾起案子隧熙,更是在濱河造成了極大的恐慌,老刑警劉巖幻林,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贞盯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡沪饺,警方通過查閱死者的電腦和手機(jī)躏敢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來整葡,“玉大人件余,你說我怎么就攤上這事≡饩樱” “怎么了啼器?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)俱萍。 經(jīng)常有香客問我端壳,道長(zhǎng),這世上最難降的妖魔是什么枪蘑? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任损谦,我火速辦了婚禮,結(jié)果婚禮上岳颇,老公的妹妹穿的比我還像新娘照捡。我一直安慰自己,他們只是感情好赦役,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布麻敌。 她就那樣靜靜地躺著,像睡著了一般掂摔。 火紅的嫁衣襯著肌膚如雪术羔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天乙漓,我揣著相機(jī)與錄音级历,去河邊找鬼。 笑死叭披,一個(gè)胖子當(dāng)著我的面吹牛寥殖,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涩蜘,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼嚼贡,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了同诫?” 一聲冷哼從身側(cè)響起粤策,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎误窖,沒想到半個(gè)月后叮盘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡霹俺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年柔吼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丙唧。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愈魏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出想际,到底是詐尸還是另有隱情培漏,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布沼琉,位于F島的核電站北苟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏打瘪。R本人自食惡果不足惜友鼻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闺骚。 院中可真熱鬧彩扔,春花似錦、人聲如沸僻爽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胸梆。三九已至敦捧,卻和暖如春须板,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背兢卵。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工习瑰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秽荤。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓甜奄,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親窃款。 傳聞我的和親對(duì)象是個(gè)殘疾皇子课兄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

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