《HTTP權(quán)威指南》1-HTTP概要

Http

HyperText Transfer Protocol蝌借,超文本協(xié)議
通過此協(xié)議,我們可以將遍布全世界的Web服務(wù)器上的信息塊快速汁胆,便捷贮乳,可靠的搬移到我們自己桌面上的Web瀏覽器上。
這些信息塊指的是什么呢瘾婿?
我們平時(shí)看到的圖片蜻牢,電影,音頻偏陪,文本抢呆,Html頁面都包含在其中。

Web客戶端和服務(wù)器

客戶端和服務(wù)器

資源

Web服務(wù)器是Web資源的宿主

媒體類型

因特網(wǎng)上有數(shù)千種不同的數(shù)據(jù)類型笛谦,當(dāng)Web瀏覽器從服務(wù)器取回一個(gè)對象時(shí)抱虐,需要知道其類型,以便知道如何處理這個(gè)對象饥脑。
于是Http為每種要通過Web傳輸?shù)膶ο蟠蛏狭?strong>數(shù)據(jù)格式標(biāo)簽恳邀,名為MIME(Multipurpose Internet Mail Extemsion)類型懦冰,MIME是一種文本標(biāo)記,表示一種主要的對象類型和一個(gè)特定的子類型谣沸,中間由一條斜杠來分割刷钢。如:

  • Html格式的文本文檔的MIME為text/html
  • JPEG圖片的MIME為image/jpeg

URI

每個(gè)Web服務(wù)器資源都有一個(gè)名字,服務(wù)器資源名稱被稱為統(tǒng)一資源標(biāo)識符(Uniform Resource Indentifier,URI)乳附,URI有兩種形式内地,分別是URL和URN。

URL

統(tǒng)一資源定位符(URL)


URL解析
  • URL的第一部分被稱為方案(scheme),說明了訪問資源所使用的協(xié)議類型赋除。
  • 第二部分給出了服務(wù)器的因特網(wǎng)地址
  • 其余部分指定了Web服務(wù)器上的某個(gè)資源

URN

統(tǒng)一資源名(URN)
URN是作為特定內(nèi)容的唯一名稱使用的阱缓,與目前的資源所在地?zé)o關(guān)

事務(wù)

一個(gè)HTTP事務(wù)由一條請求命令(客戶端發(fā)往服務(wù)器)和一個(gè)響應(yīng)結(jié)果(服務(wù)器發(fā)回客戶端)組成。
通信是通過名為HTTP報(bào)文的格式化數(shù)據(jù)塊進(jìn)行


報(bào)文

方法

HTTP支持幾種不同的請求命令举农,這些命令被稱為HTTP方法茬祷,每條請求報(bào)文都包含一個(gè)方法,方法會(huì)告訴服務(wù)器要執(zhí)行什么動(dòng)作

  • GET
  • PUT
  • DELETE
  • POST
  • HEAD

狀態(tài)碼

每條HTTP響應(yīng)報(bào)文返回時(shí)并蝗,會(huì)攜帶一個(gè)狀態(tài)碼,狀態(tài)碼是一個(gè)三位數(shù)字的代碼秸妥,告訴客戶端是否請求成功滚停,或者是否需要采取其他動(dòng)作,如200粥惧,302,404

報(bào)文

HTTP報(bào)文分為請求報(bào)文和響應(yīng)報(bào)文
包含以下三個(gè)部分:

  • 起始行键畴,報(bào)文的第一行就是起始行,在請求報(bào)文中用來說明要做些什么突雪,在響應(yīng)報(bào)文中說明出現(xiàn)了什么情況
  • 首部字段起惕,起始行后有零個(gè)或多個(gè)首部字段,每個(gè)首部字段都包含一個(gè)名字和一個(gè)值咏删,兩者用:分割惹想,以一個(gè)空行結(jié)束
  • 主體,其中包含了所有類型的數(shù)據(jù)督函,請求主體中包含了要發(fā)送給Web服務(wù)器的數(shù)據(jù)嘀粱,響應(yīng)主體中裝載了要返回給客戶端的數(shù)據(jù)
報(bào)文

連接

知道了報(bào)文的存在后,我們再來看一下它是如何從一個(gè)地方搬移到另一個(gè)地方去的辰狡。
HTTP是應(yīng)用層協(xié)議锋叨,它不需要關(guān)心網(wǎng)絡(luò)通信的具體細(xì)節(jié),而是將聯(lián)網(wǎng)的細(xì)節(jié)交給了通用宛篇,可靠的因特網(wǎng)傳輸協(xié)議TCP/IP

TCP/IP

TCP提供了:

  • 無差錯(cuò)的數(shù)據(jù)傳輸
  • 按序傳輸
  • 未分段的數(shù)據(jù)流

只要建立了TCP連接娃磺,客戶端和服務(wù)器之間的報(bào)文交換就不會(huì)消失,不會(huì)被破壞叫倍,也不會(huì)在接收時(shí)出現(xiàn)錯(cuò)序了偷卧。

連接豺瘤,IP地址及端口號

在HTTP客戶端向服務(wù)器發(fā)送報(bào)文之前,需要問網(wǎng)際協(xié)議(Internet Protocol,IP)地址和端口號在客戶端和服務(wù)器之間建立一條TCP/IP連接涯冠。
那么瀏覽器是怎么通過瀏覽器顯示位于遠(yuǎn)端服務(wù)器中的某個(gè)HTML資源的呢炉奴?

  1. 瀏覽器從URL中解析出服務(wù)器的主機(jī)名
  2. 瀏覽器將服務(wù)器的主機(jī)名轉(zhuǎn)換為服務(wù)器的IP地址
  3. 瀏覽器將端口號從URL中解析出來(如果有的話)
  4. 瀏覽器建立一條與Web服務(wù)器的TCP連接;
  5. 瀏覽器向服務(wù)器發(fā)送一條HTTP請求報(bào)文
  6. 服務(wù)器向?yàn)g覽器回送一條HTTP響應(yīng)報(bào)文
  7. 關(guān)閉連接蛇更,瀏覽器顯示文檔
基本的瀏覽器連接處理

Web的結(jié)構(gòu)組件

Web應(yīng)用程序:

代理

代理是位于客戶端和服務(wù)器之間的HTTP中間實(shí)體瞻赶,是Web安全,應(yīng)用集成以及性能優(yōu)化的重要組成模塊,其接受所有客戶端的HTTP請求派任,然后將這些請求轉(zhuǎn)發(fā)給服務(wù)器
[圖片上傳失敗...(image-ca2da6-1517970793093)]

緩存

Web緩存或代理緩存是一種特殊的HTTP代理服務(wù)器砸逊,可以將經(jīng)過代理傳送的常用文檔復(fù)制保存起來,下一個(gè)請求同一文檔的客戶端就可以享受緩存的私有副本所提供的服務(wù)了

網(wǎng)關(guān)(gateway)

網(wǎng)關(guān)是一種特殊的服務(wù)器掌逛,作為其他服務(wù)器的中間實(shí)體使用师逸,通常用于將HTTP流量轉(zhuǎn)換成其他的協(xié)議

隧道

隧道(tunnel),是在連接建立起來后,在兩條連接之間對原始數(shù)據(jù)進(jìn)行盲轉(zhuǎn)發(fā)的HTTP應(yīng)用程序豆混,通常用來在一條或多條HTTP連接上轉(zhuǎn)發(fā)非HTTP數(shù)據(jù)篓像,轉(zhuǎn)發(fā)時(shí)不會(huì)窺探數(shù)據(jù)。

Agent代理

Agent代理是代表用戶發(fā)起HTTP請求的客戶端程序皿伺。所有發(fā)布Web請求的應(yīng)用程序都是Agent代理

?著作權(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)容