《圖解http》--了解web及網(wǎng)絡基礎

前言

本章主要介紹web是建立在何種技術之上荆秦,以及HTTP協(xié)議是如何誕生并發(fā)展的芹敌,從背景深入了解這部分內(nèi)容拜隧。

1.1 使用HTTP協(xié)議訪問Web

日常生活中我們在瀏覽器的搜索引擎框輸入(www.xxx.com)URL斗这,Web頁面是如何呈現(xiàn)在眼前?

訪問web資源圖

Web的傳輸用到了HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議),從客戶端到服務器端的一系列操作都在HTTP協(xié)議上完成捎稚。

1.2 HTTP的誕生

在深入學習HTTP之前,先來介紹HTTP誕生背景。

1.2.1 為知識共享而規(guī)劃的 Web
1989年3月今野,互聯(lián)網(wǎng)并沒有普及葡公,在這之前,HTTP誕生条霜。

1.2.2 Web成長時代
1.1990年11月催什,CERN成功研制了世界上第一臺Web服務器和Web瀏覽器。
2.1993年1月,現(xiàn)代瀏覽器的祖先 NCSA(National Center for Supercomputer Applications蛔外,美國國家超級計算機應用中心)研發(fā)的Mosaic 問世了蛆楞。
3.1994 年 的 12 月,網(wǎng)景通信公司發(fā)布了 Netscape Navigator 1.0夹厌,1995年微軟公司發(fā)布 Internet Explorer 1.0 和 2.0豹爹。
4.時光流轉,從 1995 年左右起矛纹,微軟公司與網(wǎng)景通信公司之間爆發(fā)的瀏覽器大戰(zhàn)愈演愈烈臂聋。兩家公司都各自對 HTML 做了擴展,于是導致在HTML 頁面時或南,必須考慮兼容他們兩家公司的瀏覽器孩等。
5.2000 年前后,這場瀏覽器戰(zhàn)爭隨著網(wǎng)景通信公司的衰落而暫告一段落采够。但就在 2004 年肄方,Mozilla 基金會發(fā)布了 Firefox 瀏覽器,第二次瀏覽器大戰(zhàn)隨即爆發(fā)蹬癌。

1.2.3 駐足不前的 HTTP
1.HTTP/0.9
HTTP于1990年問世权她,當時HTTP并沒有作為正式的標準。
2.HTTP/1.0
HTTP/1.0正式作為標準被公布是在1996年5月逝薪,版本為HTTP/1.0,記載于RFC1945隅要。
3.HTTP/1.1
1997 年 1 月公布的 HTTP/1.1 是目前主流的 HTTP 協(xié)議版本。

1.3 網(wǎng)絡基礎 TCP/IP

1.3.1 TCP/IP協(xié)議族
在計算機網(wǎng)絡中通信和傳輸董济,就要基于相同的方法和規(guī)則步清,比如,如何探測到通信目標虏肾、由哪一邊先發(fā)起通信廓啊、使用哪種語言進行通信、怎樣結束通信等規(guī)則都需要事先確定封豪。不同的硬件崖瞭、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則撑毛。而我們就把這種規(guī)則稱為協(xié)議(protocol)书聚。

TCP/IP是各類協(xié)議族的總稱

1.3.2 TCP/IP分層管理

OSI唧领、TCP/IP模型圖

TCP/IP協(xié)議族按層次分為4層:應用層、傳輸層雌续、網(wǎng)絡層斩个、數(shù)據(jù)鏈路層。

把 TCP/IP 層次化是有好處的驯杜。比如受啥,如果互聯(lián)網(wǎng)只由一個協(xié)議統(tǒng)籌,某個地方需要改變設計時鸽心,就必須把所有部分整體替換掉滚局。而分層之后只需把變動的層替換掉即可。把各層之間的接口部分規(guī)劃好之后顽频,每個層次內(nèi)部的設計就能夠自由改動了藤肢。
值得一提的是,層次化之后糯景,設計也變得相對簡單了嘁圈。處于應用層上的應用可以只考慮分派給自己的任務,而不需要弄清對方在地球上哪個地方蟀淮、對方的傳輸路線是怎樣的最住、是否能確保傳輸送達等問題。

TCP/IP 協(xié)議族各層的作用如下
1.應用層:向用戶提供應用服務時通信的活動怠惶,HTTP協(xié)議也處于改層涨缚。
2.傳輸層:傳輸層對應上面的應用層,提供網(wǎng)絡連接兩臺計算機的網(wǎng)絡傳輸策治。
在傳輸層有兩個性質(zhì)不同的協(xié)議:TCP(Transmission Control Protocol脓魏,傳輸控制協(xié)議)和UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)览妖。
3.網(wǎng)絡層(又名網(wǎng)絡互連層):網(wǎng)絡層處理在網(wǎng)絡上流動的數(shù)據(jù)包,數(shù)據(jù)包是網(wǎng)絡傳輸上的最小數(shù)據(jù)單位揽祥。
4.數(shù)據(jù)鏈路層(又名網(wǎng)絡接口層):用來處理連接網(wǎng)絡的硬件部分讽膏。比如:操作系統(tǒng)、網(wǎng)絡適配器拄丰、網(wǎng)卡府树。

1.3.3 TCP/IP 通信傳輸流

通信傳輸圖

利用 TCP/IP 協(xié)議族進行網(wǎng)絡通信時,會通過分層順序與對方進行通信料按。發(fā)送端從應用層往下走奄侠,接收端則往應用層往上走。
我們用 HTTP 舉例來說明载矿,首先作為發(fā)送端的客戶端在應用層(HTTP 協(xié)議)發(fā)出一個想看某個 Web 頁面的 HTTP 請求垄潮。
接著,為了傳輸方便,在傳輸層(TCP 協(xié)議)把從應用層處收到的數(shù)據(jù)(HTTP 請求報文)進行分割弯洗,并在各個報文上打上標記序號及端口號后轉發(fā)給網(wǎng)絡層旅急。
在網(wǎng)絡層(IP 協(xié)議),增加作為通信目的地的 MAC 地址后轉發(fā)給鏈路層牡整。這樣一來藐吮,發(fā)往網(wǎng)絡的通信請求就準備齊全了。
接收端的服務器在鏈路層接收到數(shù)據(jù)逃贝,按序往上層發(fā)送谣辞,一直到應用層。當傳輸?shù)綉脤鱼灏猓拍芩阏嬲邮盏接煽蛻舳税l(fā)送過來的 HTTP請求泥从。


通信傳輸在各層的工作

在層層傳輸數(shù)據(jù)時,每經(jīng)過一層就會打上上一層的首部信息迫皱。層層封裝歉闰,接收端則反之。層層去除卓起。

1.4 與 HTTP 關系密切的協(xié)議 : IP和敬、TCP 和DNS

下面我們分別針對在 TCP/IP 協(xié)議族中與 HTTP 密不可分的 3 個協(xié)議(IP、TCP 和 DNS)進行說明戏阅。

1.4.1 負責傳輸?shù)?IP 協(xié)議
按層次分昼弟,IP(Internet Protocol)網(wǎng)際協(xié)議位于網(wǎng)絡層。InternetProtocol 這個名稱可能聽起來有點夸張奕筐,但事實正是如此舱痘,因為幾乎所有使用網(wǎng)絡的系統(tǒng)都會用到 IP 協(xié)議。TCP/IP 協(xié)議族中的 IP 指的就是網(wǎng)際協(xié)議离赫,協(xié)議名稱中占據(jù)了一半位置芭逝,其重要性可見一斑≡ㄐ兀可能有人會把“IP”和“IP 地址”搞混旬盯,“IP”其實是一種協(xié)議的名稱。
IP 協(xié)議的作用是把各種數(shù)據(jù)包傳送給對方翎猛。而要保證確實傳送到對方那里胖翰,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC地址(Media Access Control Address)切厘。
IP 地址指明了節(jié)點被分配到的地址萨咳,MAC 地址是指網(wǎng)卡所屬的固定地址。IP 地址可以和 MAC 地址進行配對疫稿。IP 地址可變換培他,但 MAC地址基本上不會更改鹃两。
使用 ARP 協(xié)議憑借 MAC 地址進行通信IP 間的通信依賴 MAC 地址。在網(wǎng)絡上靶壮,通信的雙方在同一局域網(wǎng)(LAN)內(nèi)的情況是很少的怔毛,通常是經(jīng)過多臺計算機和網(wǎng)絡設備中轉才能連接到對方。而在進行中轉時腾降,會利用下一站中轉設備的 MAC地址來搜索下一個中轉目標拣度。這時,會采用 ARP 協(xié)議(AddressResolution Protocol)螃壤。ARP 是一種用以解析地址的協(xié)議抗果,根據(jù)通信方的 IP 地址就可以反查出對應的 MAC 地址。沒有人能夠全面掌握互聯(lián)網(wǎng)中的傳輸狀況在到達通信目標前的中轉過程中奸晴,那些計算機和路由器等網(wǎng)絡設備只能獲悉很粗略的傳輸路線冤馏。
這種機制稱為路由選擇(routing),有點像快遞公司的送貨過程寄啼。想要寄快遞的人逮光,只要將自己的貨物送到集散中心,就可以知道快遞公司是否肯收件發(fā)貨墩划,該快遞公司的集散中心檢查貨物的送達地址涕刚,明確下站該送往哪個區(qū)域的集散中心。接著乙帮,那個區(qū)域的集散中心自會判斷是否能送到對方的家中杜漠。
我們是想通過這個比喻說明,無論哪臺計算機察净、哪臺網(wǎng)絡設備驾茴,它們都無法全面掌握互聯(lián)網(wǎng)中的細節(jié)。

傳輸過程

文字節(jié)選《圖解Http》氢卡,下一章開始自己總結锈至,然后寫文章。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末译秦,一起剝皮案震驚了整個濱河市峡捡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诀浪,老刑警劉巖棋返,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件延都,死亡現(xiàn)場離奇詭異雷猪,居然都是意外死亡,警方通過查閱死者的電腦和手機晰房,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門求摇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來射沟,“玉大人,你說我怎么就攤上這事与境⊙楹唬” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵摔刁,是天一觀的道長挥转。 經(jīng)常有香客問我,道長共屈,這世上最難降的妖魔是什么绑谣? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮拗引,結果婚禮上借宵,老公的妹妹穿的比我還像新娘。我一直安慰自己矾削,他們只是感情好壤玫,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哼凯,像睡著了一般欲间。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挡逼,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天括改,我揣著相機與錄音,去河邊找鬼家坎。 笑死嘱能,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的虱疏。 我是一名探鬼主播惹骂,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼做瞪!你這毒婦竟也來了对粪?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤装蓬,失蹤者是張志新(化名)和其女友劉穎著拭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體牍帚,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡儡遮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了暗赶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鄙币。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡肃叶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出十嘿,到底是詐尸還是另有隱情因惭,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布绩衷,位于F島的核電站蹦魔,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咳燕。R本人自食惡果不足惜版姑,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望迟郎。 院中可真熱鬧剥险,春花似錦、人聲如沸宪肖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽控乾。三九已至么介,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜕衡,已是汗流浹背壤短。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留慨仿,地道東北人久脯。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像镰吆,于是被迫代替她去往敵國和親帘撰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360