HTTP協(xié)議詳讀

HTTP簡介

  • HTTP協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于從萬維網(wǎng)(WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議夹孔。
  • HTTP是一個(gè)基于TCP/IP通信協(xié)議來傳遞數(shù)據(jù)(HTML 文件, 圖片文件, 查詢結(jié)果等)铭腕。
  • HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議

主要特點(diǎn)

  1. 簡單快速:客戶向服務(wù)器請求服務(wù)時(shí)涕侈,只需傳送請求方法和路徑考赛。請求方法常用的有GET富腊、HEAD芋哭、POST袁辈。每種方法規(guī)定了客戶與服務(wù)器聯(lián)系的類型不同挨措。由于HTTP協(xié)議簡單汗洒,使得HTTP服務(wù)器的程序規(guī)模小议纯,因而通信速度很快。
  2. 靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象溢谤。正在傳輸?shù)念愋陀蒀ontent-Type加以標(biāo)記瞻凤。
  3. 無連接:無連接的含義是限制每次連接只處理一個(gè)請求。服務(wù)器處理完客戶的請求世杀,并收到客戶的應(yīng)答后阀参,即斷開連接。采用這種方式可以節(jié)省傳輸時(shí)間玫坛。
  4. 無狀態(tài):HTTP協(xié)議是無狀態(tài)協(xié)議结笨。無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息湿镀,則它必須重傳炕吸,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面勉痴,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快赫模。
  5. 支持B/S及C/S模式。

主要概念

URL
  1. 協(xié)議部分:該URL的協(xié)議部分為“http:”蒸矛,這代表網(wǎng)頁使用的是HTTP協(xié)議瀑罗。在Internet中可以使用多種協(xié)議,如HTTP雏掠,F(xiàn)TP等等本例中使用的是HTTP協(xié)議斩祭。在"HTTP"后面的“//”為分隔符。
  2. 域名部分:該URL的域名部分為“www.aspxfans.com”乡话。一個(gè)URL中摧玫,也可以使用IP地址作為域名使用。
  3. 端口部分:跟在域名后面的是端口绑青,域名和端口之間使用“:”作為分隔符诬像。端口不是一個(gè)URL必須的部分屋群,如果省略端口部分,將采用默認(rèn)端口坏挠。
  4. 虛擬目錄部分:從域名后的第一個(gè)“/”開始到最后一個(gè)“/”為止芍躏,是虛擬目錄部分。虛擬目錄也不是一個(gè)URL必須的部分降狠。本例中的虛擬目錄是“/news/”对竣。
  5. 文件名部分:從域名后的最后一個(gè)“/”開始到“?”為止喊熟,是文件名部分柏肪,如果沒有“?”,則是從域名后的最后一個(gè)“/”開始到“#”為止,是文件部分芥牌,如果沒有“?”和“#”聂使,那么從域名后的最后一個(gè)“/”開始到結(jié)束壁拉,都是文件名部分。本例中的文件名是“index.asp”柏靶。文件名部分也不是一個(gè)URL必須的部分弃理,如果省略該部分,則使用默認(rèn)的文件名屎蜓。
  6. 錨部分:從“#”開始到最后痘昌,都是錨部分。本例中的錨部分是“name”炬转。錨部分也不是一個(gè)URL必須的部分辆苔。
  7. 參數(shù)部分:從“?”開始到“#”為止之間的部分為參數(shù)部分扼劈,又稱搜索部分驻啤、查詢部分。本例中的參數(shù)部分為“boardID=5&ID=24618&page=1”荐吵。參數(shù)可以允許有多個(gè)參數(shù)骑冗,參數(shù)與參數(shù)之間用“&”作為分隔符。
HTTP之請求消息Request

客戶端發(fā)送一個(gè)HTTP請求到服務(wù)器的請求消息包括以下格式:
請求行(request line)先煎、請求頭部(header)贼涩、空行和請求數(shù)據(jù)四個(gè)部分組成。

HTTP之響應(yīng)消息Response

一般情況下薯蝎,服務(wù)器接收并處理客戶端發(fā)過來的請求后會返回一個(gè)HTTP的響應(yīng)消息遥倦。
HTTP響應(yīng)也由四個(gè)部分組成,分別是:狀態(tài)行良风、消息報(bào)頭谊迄、空行和響應(yīng)正文闷供。

HTTP之狀態(tài)碼

常見狀態(tài)碼:
200 OK //客戶端請求成功
400 Bad Request //客戶端請求有語法錯(cuò)誤,不能被服務(wù)器所理解
401 Unauthorized //請求未經(jīng)授權(quán)统诺,這個(gè)狀態(tài)代碼必須和WWW-Authenticate報(bào)頭域一起使用
403 Forbidden //服務(wù)器收到請求歪脏,但是拒絕提供服務(wù)
404 Not Found //請求資源不存在,eg:輸入了錯(cuò)誤的URL
500 Internal Server Error //服務(wù)器發(fā)生不可預(yù)期的錯(cuò)誤
503 Server Unavailable //服務(wù)器當(dāng)前不能處理客戶端的請求粮呢,一段時(shí)間后可能恢復(fù)正常

HTTP請求方法

根據(jù)HTTP標(biāo)準(zhǔn)婿失,HTTP請求可以使用多種請求方法。
HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法啄寡。
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法豪硅。
GET 請求指定的頁面信息,并返回實(shí)體主體挺物。
HEAD 類似于get請求懒浮,只不過返回的響應(yīng)中沒有具體的內(nèi)容,用于獲取報(bào)頭
POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請求(例如提交表單或者上傳文件)识藤。數(shù)據(jù)被包含在請求體中砚著。POST請求可能會導(dǎo)致新的資源的建立和/或已有資源的修改。
PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容痴昧。
DELETE 請求服務(wù)器刪除指定的頁面稽穆。
CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
OPTIONS 允許客戶端查看服務(wù)器的性能赶撰。
TRACE 回顯服務(wù)器收到的請求舌镶,主要用于測試或診斷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末豪娜,一起剝皮案震驚了整個(gè)濱河市餐胀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌侵歇,老刑警劉巖骂澄,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惕虑,居然都是意外死亡坟冲,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門溃蔫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來健提,“玉大人,你說我怎么就攤上這事伟叛∷奖裕” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長紊遵。 經(jīng)常有香客問我账千,道長,這世上最難降的妖魔是什么暗膜? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任匀奏,我火速辦了婚禮,結(jié)果婚禮上学搜,老公的妹妹穿的比我還像新娘娃善。我一直安慰自己,他們只是感情好瑞佩,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布聚磺。 她就那樣靜靜地躺著,像睡著了一般炬丸。 火紅的嫁衣襯著肌膚如雪瘫寝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天稠炬,我揣著相機(jī)與錄音矢沿,去河邊找鬼。 笑死酸纲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瑟匆。 我是一名探鬼主播闽坡,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼愁溜!你這毒婦竟也來了疾嗅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冕象,失蹤者是張志新(化名)和其女友劉穎代承,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渐扮,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡论悴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了墓律。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膀估。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖耻讽,靈堂內(nèi)的尸體忽然破棺而出察纯,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布饼记,位于F島的核電站香伴,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏具则。R本人自食惡果不足惜即纲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乡洼。 院中可真熱鬧崇裁,春花似錦、人聲如沸束昵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锹雏。三九已至巴比,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間礁遵,已是汗流浹背轻绞。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佣耐,地道東北人政勃。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像兼砖,于是被迫代替她去往敵國和親奸远。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

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

  • 一讽挟、概念(載錄于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434閱讀 8,354評論 6 152
  • (原話)談?wù)剬TTP協(xié)議的理解:超文本傳輸協(xié)議耽梅,應(yīng)用于OSI網(wǎng)絡(luò)模型中的應(yīng)用層薛窥,是用于服務(wù)器傳輸超文本到本地瀏覽...
    24_yu閱讀 887評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)眼姐,斷路器诅迷,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺,所以準(zhǔn)備花時(shí)間了解一下妥凳,本文主要是講http協(xié)議的一些基礎(chǔ)竟贯,和一些...
    justCode_閱讀 2,094評論 0 23
  • Http協(xié)議詳解 標(biāo)簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來源于博客園作者M(jìn)IN飛翔的HTTP協(xié)...
    Sivin閱讀 5,223評論 3 82