圖解HTTP之了解Web及網(wǎng)絡基礎

1.在網(wǎng)頁瀏覽器的地址欄中輸入URL時,Web頁面是如何呈現(xiàn)的姜凄?

web瀏覽器根據(jù)地址欄中指定的URL從服務器端獲取文件資源等信息女气,從而顯示出web頁面。Web使用一種名為HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)的協(xié)議作為規(guī)范掉缺,完成從客戶端到服務端的一系列運作流程「昵埽可以說眶明,web是建立在HTTP協(xié)議上通信的。

2.HTTP是如何產(chǎn)生和發(fā)展的筐高?

1989年3月搜囱,CERN(歐洲核子研究組織)的蒂姆·博納斯·李博士提出了一種能讓遠隔兩地的研究者們共享知識的設想:借助多文檔之間相互關聯(lián)形成的超文本(HyperText),連成可相互參閱的WWW(World Wide Web柑土,萬維網(wǎng))蜀肘。

1990年11月,CERN成功研發(fā)了世界上第一臺Web服務器和Web瀏覽器稽屏。

1991年8月6號扮宠,世界上第一個網(wǎng)站上線了。http://info.cern.ch/

1993年1月诫欠,現(xiàn)代瀏覽器的祖先NCSA(National Center for Supercomputer Applications涵卵,美國國家超級計算機中心)研發(fā)的Mosaic問世了。它以in-line(內(nèi)聯(lián))等形式顯示HTML的圖像荒叼,在圖像方面出色的表現(xiàn)使它迅速在世界范圍內(nèi)流行開來轿偎。

1993年9月,NCSA Mosaic發(fā)布了Windows和Macintosh版被廓,使用CGI技術的NCSA Web服務器坏晦、NCSA HTTPd1.0也差不多是這個時期出現(xiàn)的。

1994年12月嫁乘,網(wǎng)景通信公司發(fā)布了Netscape Navigator1.0昆婿,1995年微軟發(fā)布了Internet Explorer1.0和2.0。

1995年蜓斧,Apache 0.2出現(xiàn)仓蛆,HTML發(fā)布了2.0版本,同年挎春,微軟公司和網(wǎng)景公司爆發(fā)瀏覽器大戰(zhàn)看疙,各自對HTML做了擴展,導致在寫HTML頁面時直奋,必須考慮兼容兩家公司的瀏覽器能庆。時至今日,這個問題仍令寫前端頁面的工程師感到棘手脚线。

1996年5月搁胆,HTTP正式作為標準被公布,被命名為HTTP1.0

1997年1月,HTTP1.1公布

2000年前后渠旁,這場戰(zhàn)爭隨著網(wǎng)景公司的衰落而暫告一段落。

2004年顾腊,Mozilla基金會發(fā)布了Firefox瀏覽器肛度,Internet Explorer瀏覽器的版本從6升到7,之后接連發(fā)布了8投慈、9承耿、10版本。另外伪煤,Chrome加袋、Opera、Safari等瀏覽器也紛紛出現(xiàn)抱既。

2015年5月职烧,HTTP2.0正式發(fā)表,多數(shù)瀏覽器已經(jīng)在2015年底支持了該協(xié)議防泵。

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

3.1. TCP/IP的介紹

通常使用的網(wǎng)絡(包括互聯(lián)網(wǎng))是在TCP/IP協(xié)議族的基礎上運作的蚀之。而HTTP屬于它內(nèi)部的一個子集。

計算機與網(wǎng)絡設備要相互通信捷泞,雙方就必須基于相同的方法足删。比如,如何探測到通信目標锁右、由哪一邊先發(fā)起通 信失受、使用那種語言進行通信、怎樣結束通信等規(guī)則都需要事先確定咏瑟。不同的硬件拂到、操作系統(tǒng)之間的通信,所有的這一切都需要一種規(guī)則码泞。我們把這種規(guī)則稱為協(xié)議兄旬。協(xié)議中存在各種各樣的內(nèi)容,從電纜的規(guī)格到IP的選定方法余寥、尋找異地用戶的方法领铐、雙方建立通信的順序,以及Web頁面顯示需要處理的步驟等等劈狐。像這樣把與互聯(lián)網(wǎng)相關聯(lián)的協(xié)議集合起來總稱為TCP/IP罐孝。

3.2.TCP/IP的分層管理

按層次分為以下4層:應用層呐馆、傳輸層肥缔、網(wǎng)絡層和數(shù)據(jù)鏈路層。

應用層:決定了向用戶提供應用服務時通信的活動汹来。TCP/IP協(xié)議族內(nèi)預存了各類通用的應用服務续膳。比如 FTP(File Transfer Protocol改艇,文件傳輸協(xié)議)、DNS(Domain Name System坟岔,域名系統(tǒng))谒兄、HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)。

傳輸層:傳輸層對上層應用層社付,提供處于網(wǎng)絡連接中的兩臺計算機之間的數(shù)據(jù)傳輸承疲。傳輸層有兩個不同的協(xié)議:TCP(Transmission Control Protocol,傳輸控制協(xié)議)和UDP(User Data Protocol鸥咖,用戶數(shù)據(jù)報協(xié)議)燕鸽。

網(wǎng)絡層:用來處理網(wǎng)絡上流動的數(shù)據(jù)包油宜。數(shù)據(jù)包是網(wǎng)絡傳輸?shù)淖钚?shù)據(jù)單位菜皂。該層規(guī)定了通過怎樣的路徑到達對方計算機。并把數(shù)據(jù)包傳送到對方乘凸。

鏈路層:用來處理連接網(wǎng)絡的硬件部分鸥拧。包括控制操作系統(tǒng)党远、硬件的設備驅(qū)動、NIC(Network Interface Card富弦,網(wǎng)絡適配器沟娱,即網(wǎng)卡),及光纖等物理課件部分腕柜。

3.3.TCP/IP通信傳輸流

利用TCP/IP協(xié)議族進行網(wǎng)絡通信時花沉,會通過分層順序與對方進行通信,發(fā)送端從應用層往下走媳握,接收到從鏈路層往上走碱屁。

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

IP(Internet Protocol)網(wǎng)際協(xié)議:位于網(wǎng)絡層蛾找,用于把各種數(shù)據(jù)包傳送給對方娩脾,而要保證數(shù)據(jù)確實傳送給對方,則需要滿足各類條件打毛。其中最重要的條件時IP地址和MAC地址柿赊,IP地址指明了節(jié)點被分配到的地址,MAC地址是指網(wǎng)卡所屬的固定地址幻枉。IP地址和MAC地址進行配對碰声。IP地址可變換,但MAC地址基本不會更改熬甫。IP間的通信依賴MAC地址胰挑。在網(wǎng)絡上,通信的雙方在同一局域網(wǎng)(LAN)內(nèi)的情況是很少的。通常是經(jīng)過多臺計算機和網(wǎng)絡設備中轉(zhuǎn)才能連接到對方瞻颂。而在進行中轉(zhuǎn)時豺谈,會利用下一站中轉(zhuǎn)設備MAC地址來搜索下一個中轉(zhuǎn)目標。這時贡这,會采用ARP協(xié)議(Address Resolution Protocol)茬末。ARP是一種用以解析地址的協(xié)議,根據(jù)通信方的IP地址就可以反查出對應的MAC地址盖矫。

TCP:位于傳輸層丽惭,提供可靠的字節(jié)流服務,所謂的字節(jié)流服務是指辈双,為了方便傳輸吐根,將大塊數(shù)據(jù)分割成以報文段為單位的數(shù)據(jù)包進行管理。而可靠的傳輸服務時指辐马,能夠把數(shù)據(jù)準確可靠的傳輸給對方拷橘。為了準確地將數(shù)據(jù)送達搭配目標處,TCP采用了三次握手策略喜爷。用TCP協(xié)議把數(shù)據(jù)包發(fā)送出去后冗疮,TCP不會對傳送后的情況置之不理,它一定會向?qū)Ψ酱_認是否成功送達檩帐。握手過程中使用了TCP的標志——SYN(synchrinize)和ACK(acknowledgement)术幔。

發(fā)送端首先發(fā)送一個帶SYN標志的數(shù)據(jù)包給對方。接收端收到后湃密,回傳一個帶有SYN/ACK標志的數(shù)據(jù)包以示傳達確認消息诅挑。最后,發(fā)送端再回傳一個帶ACK標志的數(shù)據(jù)包泛源,代表“握手”結束拔妥。若在握手過程中某個階段莫名中斷,TCP協(xié)議會再次以相同的順序發(fā)送相同的數(shù)據(jù)包达箍。

DNS:位于用用層没龙,提供域名到IP地址之間的解析服務。用戶通常使用主機名或域名來訪問對方的計算機缎玫,而不是直接通過IP地址訪問硬纤。因為與IP地址的一組純數(shù)字相比,用字母配合數(shù)字的表示形式來指定計算機名更符合人類的記憶習慣赃磨。但要讓計算機去理解名稱筝家,相對而言就變得困難了,因為計算機更擅長處理一長串數(shù)字邻辉。為了解決上述的問題溪王,DNS服務應運而生腮鞍。DNS協(xié)議提供域名查找IP地址,或逆向從UO地址反查域名的服務在扰。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市雷客,隨后出現(xiàn)的幾起案子芒珠,更是在濱河造成了極大的恐慌,老刑警劉巖搅裙,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皱卓,死亡現(xiàn)場離奇詭異,居然都是意外死亡部逮,警方通過查閱死者的電腦和手機娜汁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兄朋,“玉大人掐禁,你說我怎么就攤上這事÷停” “怎么了傅事?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長峡扩。 經(jīng)常有香客問我蹭越,道長,這世上最難降的妖魔是什么教届? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任响鹃,我火速辦了婚禮,結果婚禮上案训,老公的妹妹穿的比我還像新娘买置。我一直安慰自己,他們只是感情好强霎,可當我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布堕义。 她就那樣靜靜地躺著,像睡著了一般脆栋。 火紅的嫁衣襯著肌膚如雪倦卖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天椿争,我揣著相機與錄音怕膛,去河邊找鬼。 笑死秦踪,一個胖子當著我的面吹牛褐捻,可吹牛的內(nèi)容都是我干的掸茅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼柠逞,長吁一口氣:“原來是場噩夢啊……” “哼昧狮!你這毒婦竟也來了?” 一聲冷哼從身側響起板壮,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤逗鸣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后绰精,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體撒璧,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年笨使,在試婚紗的時候發(fā)現(xiàn)自己被綠了卿樱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡硫椰,死狀恐怖繁调,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情靶草,我是刑警寧澤涉馁,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站爱致,受9級特大地震影響烤送,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜糠悯,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一帮坚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧互艾,春花似錦试和、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至昨稼,卻和暖如春节视,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背假栓。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工寻行, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人匾荆。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓拌蜘,卻偏偏與公主長得像杆烁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子简卧,可洞房花燭夜當晚...
    茶點故事閱讀 45,107評論 2 356

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