摘要:正式作為標(biāo)準(zhǔn)被公布是在年的月,版本被命名為。網(wǎng)絡(luò)基礎(chǔ)通常使用的網(wǎng)絡(luò)包括互聯(lián)網(wǎng)是在協(xié)議族的基礎(chǔ)上運(yùn)作的。協(xié)議族計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法,我們把這些規(guī)則稱之為協(xié)議。
使用HTTP協(xié)議訪問Web
在瀏覽器地址欄內(nèi)輸入U(xiǎn)RL之后,信息會(huì)被發(fā)送往某處,然后從某處獲得回復(fù),內(nèi)容就會(huì)顯示在Web頁面上。像這種通過發(fā)送請(qǐng)求獲取服務(wù)器資源的Web瀏覽器,都可稱為客戶端。(client)
Web使用一種名為HTTP(即超文本傳輸協(xié)議)的協(xié)議作為規(guī)范,完成從客戶端到服務(wù)器端等一系列運(yùn)作流程。而協(xié)議是指規(guī)則的約定??梢哉f,Web是建立在HTTP協(xié)議上通信的。
HTTP的誕生 為知識(shí)共享而規(guī)劃Web最初設(shè)想的基本理念是:借助多文檔之間相互關(guān)聯(lián)形成的超文本,連成可相互參閱的WWW(World Wide Web,萬維網(wǎng))
現(xiàn)在已提出了3項(xiàng)WWW構(gòu)建技術(shù):1)把SGML(標(biāo)準(zhǔn)通用標(biāo)記語言)作為頁面的文本標(biāo)記語言的HTML。 2)作為文檔傳遞協(xié)議的HTTP。3)指定文檔所在地址的URL(統(tǒng)一資源定位符)
WWW這一名稱,是Web瀏覽器當(dāng)年用來瀏覽超文本的客戶端應(yīng)用程序時(shí)的名稱?,F(xiàn)在則用來表示這一系列的集合,也可以簡(jiǎn)稱為Web。
Web成長(zhǎng)時(shí)代1990年11月,CERN(歐洲核子研究組織)成功研發(fā)了世界上第一臺(tái)Web服務(wù)器和Web瀏覽器。
1992年9月,日本第一個(gè)網(wǎng)站的主頁上線了。
1993年1月,現(xiàn)代瀏覽器的祖先NCSA(美國國家超級(jí)計(jì)算機(jī)應(yīng)用中心)研發(fā)的Mosaic問世了。它以in-line(內(nèi)聯(lián))等形式顯示HTML的圖像,在圖像方面出色的表現(xiàn)使它迅速在世界范圍內(nèi)流行開來。
1994年12月,網(wǎng)景通信公司發(fā)布了Netscape Navigator 1.0
1995年微軟公司發(fā)布Internet 1.0和2.0 。緊隨其后的是現(xiàn)在已然成為Web服務(wù)器標(biāo)準(zhǔn)之一的Apache,當(dāng)時(shí)它以Apache0.2的姿態(tài)出現(xiàn)在世人面前。
1995年左右,微軟公司和網(wǎng)景通信公司之間爆發(fā)的瀏覽器大戰(zhàn)愈演愈烈。兩家公司都各自對(duì)HTML做了拓展,于是導(dǎo)致在書寫HTML頁面時(shí),必須考慮兼容它們兩家公司的瀏覽器。時(shí)至今日,這個(gè)問題仍令那些寫前端頁面的工程師感到棘手。
2000年前后,這場(chǎng)瀏覽器戰(zhàn)爭(zhēng)隨著隨著網(wǎng)景通信公司的衰落而暫告一段落。
2004年,Mozilla基金會(huì)發(fā)布了Firefox瀏覽器,第二次瀏覽器大戰(zhàn)隨即爆發(fā)。
駐足不前的HTTP HTTP/0.9HTTP于1990年問世。那時(shí)的HTTP并沒有作為正式的標(biāo)準(zhǔn)被建立。這時(shí)的HTTP其實(shí)含有HTTP/1.0之前版本的意思因此被稱為HTTP/0.9。
HTTP/1.0HTTP正式作為標(biāo)準(zhǔn)被公布是在1996年的5月,版本被命名為HTTP/1.0。雖說是初期標(biāo)準(zhǔn),但該協(xié)議標(biāo)準(zhǔn)至今仍被廣泛使用在服務(wù)器端。
HTTP/1.11997年1月公布的HTTP/1.1是目前主流的HTTP協(xié)議版本。
網(wǎng)絡(luò)基礎(chǔ)TCP/IP通常使用的網(wǎng)絡(luò)(包括互聯(lián)網(wǎng))是在TCP/IP協(xié)議族的基礎(chǔ)上運(yùn)作的。而HTTP屬于它內(nèi)部的一個(gè)子集。
TCP/IP協(xié)議族計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法,我們把這些規(guī)則稱之為協(xié)議。
協(xié)議中存在各式各樣的內(nèi)容。從電纜的規(guī)格到IP地址的選定方法、尋找異地用戶的方法、雙方建立通信的順序,以及Web頁面顯示需要處理的步驟,等等。
像這樣把與互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集合起來總稱為TCP/IP。
TCP/IP的分層管理1.TCP/IP協(xié)議族里重要的一點(diǎn)就是分層。TCP/IP協(xié)議族按層次分別分為以下4層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。
應(yīng)用層應(yīng)用層決定了向用戶提供應(yīng)用服務(wù)時(shí)通信的活動(dòng)。
TCP/IP協(xié)議族內(nèi)預(yù)存了各類通用的應(yīng)用服務(wù)。比如,F(xiàn)TP(文件傳輸協(xié)議)和DNS(域名系統(tǒng))服務(wù)就是其中兩類。
HTTP協(xié)議也處于該層。
傳輸層傳輸層對(duì)上層應(yīng)用層,提供處于網(wǎng)絡(luò)連接中的兩臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)傳輸。
在傳輸層有兩個(gè)性質(zhì)不同的協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)。
網(wǎng)絡(luò)層(又名網(wǎng)絡(luò)互連層)網(wǎng)絡(luò)層用來處理在網(wǎng)絡(luò)上流動(dòng)的數(shù)據(jù)包。
數(shù)據(jù)包是網(wǎng)絡(luò)傳輸?shù)淖钚?shù)據(jù)單位。
該層規(guī)定了通過怎樣的路徑(所謂的傳輸路線)到達(dá)對(duì)方計(jì)算機(jī),并把數(shù)據(jù)包傳送給對(duì)方。
與對(duì)方計(jì)算機(jī)之間通過多臺(tái)計(jì)算機(jī)或網(wǎng)絡(luò)設(shè)備進(jìn)行傳輸時(shí),網(wǎng)絡(luò)層所起的作用就是在眾多的選項(xiàng)中選擇一條傳輸路線。
鏈路層(又名數(shù)據(jù)鏈路層,網(wǎng)絡(luò)接口層)用來處理連接網(wǎng)絡(luò)的硬件部分。包括控制操作系統(tǒng)、硬件的設(shè)備驅(qū)動(dòng)、NIC(網(wǎng)絡(luò)適配器,即網(wǎng)卡),及光纖等物理可見部分(還包括連接器等一切傳輸媒介)。
硬件上的范疇均在鏈路層的作用范圍之內(nèi)。
TCP/IP通信傳輸流利用TCP/IP協(xié)議族進(jìn)行網(wǎng)絡(luò)通信時(shí),會(huì)通過分層順序與對(duì)方進(jìn)行通信。發(fā)送端從應(yīng)用層往下走,接收端則往應(yīng)用層上走。
發(fā)送端在層與層之間傳輸數(shù)據(jù)時(shí),每經(jīng)過一層必定會(huì)被打上一個(gè)該層所屬的首部信息。反之,接收端在層與層傳輸數(shù)據(jù)時(shí),每經(jīng)過一層時(shí)會(huì)把對(duì)應(yīng)的首部消去。
這種把數(shù)據(jù)信息包裝起來的做法稱之為封裝。
與HTTP關(guān)系密切的協(xié)議:IP、TCP和DNS 負(fù)責(zé)傳輸?shù)腎P協(xié)議按層次,IP網(wǎng)際協(xié)議位于網(wǎng)絡(luò)層,TCP/IP協(xié)議族中的IP指的就是網(wǎng)際協(xié)議。
IP協(xié)議的作用就是把各種數(shù)據(jù)包傳送給對(duì)方。而要保證確實(shí)傳送到對(duì)方那里,則需要滿足各類條件。其中兩個(gè)重要的條件是IP地址和MAC地址。
IP地址指明了節(jié)點(diǎn)被分配到的地址,MAC地址是指網(wǎng)卡所屬的固定地址。
IP地址可以和MAC地址進(jìn)行配對(duì)。IP地址可變換,但MAC地址基本上不會(huì)更改。
使用ARP協(xié)議憑借MAC地址進(jìn)行通信IP間的通信依賴MAC地址。在網(wǎng)絡(luò)上,通信的雙方在同一局域網(wǎng)(LAN)內(nèi)的情況是很少見的,通常是經(jīng)過多臺(tái)計(jì)算機(jī)和網(wǎng)絡(luò)設(shè)備中轉(zhuǎn)才能連接到對(duì)方。
在進(jìn)行中轉(zhuǎn)時(shí),會(huì)利用下一站中轉(zhuǎn)設(shè)備的MAC地址來搜索下一個(gè)中轉(zhuǎn)目標(biāo)。這時(shí)會(huì)采用ARP協(xié)議。
ARP協(xié)議是一種用以解析地址的協(xié)議,根據(jù)通信雙方的IP地址就可以反查處對(duì)應(yīng)的MAC地址。
沒有人能夠全面掌握互聯(lián)網(wǎng)中的傳輸狀況在到達(dá)通信目標(biāo)前的中轉(zhuǎn)過程中,那些計(jì)算機(jī)和路由器等網(wǎng)絡(luò)設(shè)備只能獲悉很粗略的傳輸路線。這種機(jī)制稱為路由選擇,有點(diǎn)像快遞公司的送貨過程。
確??煽啃缘腡CP協(xié)議按層次分,TCP位于傳輸層,提供可靠的字節(jié)流服務(wù)。
所謂的字節(jié)流服務(wù),是指為了方便傳輸,將大塊數(shù)據(jù)分割成以報(bào)文段為單位的數(shù)據(jù)包進(jìn)行管理。
而可靠的傳輸服務(wù)是指,能夠把數(shù)據(jù)準(zhǔn)確可靠地傳給對(duì)方。
總之,TCP協(xié)議為了更容易傳送大數(shù)據(jù)才把數(shù)據(jù)分割,而且TCP協(xié)議能夠確認(rèn)數(shù)據(jù)最終是否送達(dá)到對(duì)方
確保數(shù)據(jù)能到達(dá)目標(biāo)為了準(zhǔn)確無誤地將數(shù)據(jù)送達(dá)目標(biāo)處,TCP協(xié)議采用了三次握手策略。
用TCP協(xié)議把數(shù)據(jù)包發(fā)送出去后,TCP不會(huì)對(duì)傳送后的情況置之不理,它一定會(huì)向?qū)Ψ酱_認(rèn)是否成功送達(dá)。
握手過程中使用了TCP的標(biāo)識(shí)————SYN(synchronize)和ACK(acknowledgement)。
發(fā)送端首先發(fā)送一個(gè)帶有SYN標(biāo)志的數(shù)據(jù)包給對(duì)方。接收端收到后,回傳一個(gè)帶有SYN/ACK標(biāo)志的數(shù)據(jù)包以示傳達(dá)確認(rèn)信息。最后,發(fā)送端再回傳一個(gè)帶有ACK標(biāo)志的數(shù)據(jù)包,代表“握手結(jié)束”。
除了上述三次握手,TCP協(xié)議還有其他各種手段來保證通信的可靠性。
負(fù)責(zé)域名解析的DNS服務(wù)之間的解析服務(wù)DNS服務(wù)是和HTTP協(xié)議一樣位于應(yīng)用層的協(xié)議,它提供域名到IP地址之間的解析服務(wù)。
計(jì)算機(jī)既可以被賦予IP地址,也可以被賦予主機(jī)名和域名。比如www.hackr.jp
DNS協(xié)議提供通過域名查找IP地址,或逆向從IP地址反查域名的服務(wù)。
URI和URL與URI(統(tǒng)一資源標(biāo)識(shí)符)相比,我們更熟悉URL(統(tǒng)一資源定位符)。
URL正是使用Web瀏覽器等訪問Web頁面時(shí)需要輸入的網(wǎng)頁地址。比如,http://hackr.jp就是URL。
統(tǒng)一資源標(biāo)識(shí)符URI是Uniform Resource Identifier的縮寫,RFC2396分別對(duì)這三個(gè)單詞進(jìn)行了如下定義。
Uniform:規(guī)定統(tǒng)一的格式可方便處理多種不同類型的資源,而不用根據(jù)上下文環(huán)境來識(shí)別資源指定的訪問方式。另外,加入新增的協(xié)議方案(如:http:或ftp:)也更容易
Resource:資源帝定義“可標(biāo)識(shí)的任何東西”。不僅是文檔文件,圖像或服務(wù)(例如當(dāng)?shù)靥鞖忸A(yù)報(bào))等能夠區(qū)別于其他類型的,全部都可以作為資源。
Identifier:標(biāo)識(shí)可標(biāo)識(shí)的對(duì)象。也稱為標(biāo)識(shí)符
綜上,URI就是由某個(gè)協(xié)議方案表示的資源的定位標(biāo)識(shí)符。協(xié)議方案是指訪問資源所使用的協(xié)議類型名稱。
URI用字符串標(biāo)識(shí)某一互聯(lián)網(wǎng)資源,而URL表示資源的地點(diǎn)(在互聯(lián)網(wǎng)中所處的位置)??梢奤RL是URI的子集
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/82863.html
摘要:正式作為標(biāo)準(zhǔn)被公布是在年的月,版本被命名為。網(wǎng)絡(luò)基礎(chǔ)通常使用的網(wǎng)絡(luò)包括互聯(lián)網(wǎng)是在協(xié)議族的基礎(chǔ)上運(yùn)作的。協(xié)議族計(jì)算機(jī)與網(wǎng)絡(luò)設(shè)備要相互通信,雙方就必須基于相同的方法,我們把這些規(guī)則稱之為協(xié)議。 使用HTTP協(xié)議訪問Web 在瀏覽器地址欄內(nèi)輸入U(xiǎn)RL之后,信息會(huì)被發(fā)送往某處,然后從某處獲得回復(fù),內(nèi)容就會(huì)顯示在Web頁面上。像這種通過發(fā)送請(qǐng)求獲取服務(wù)器資源的Web瀏覽器,都可稱為客戶端。(c...
摘要:文本已收錄至我的倉庫,歡迎回顧上一篇大型網(wǎng)站系統(tǒng)與中間件讀書筆記一這周周末讀了第四章,現(xiàn)在過來做做筆記,希望能幫助到大家。沒錯(cuò),我們通過肯定是可以完成兩個(gè)系統(tǒng)之間的通信的問題的。 前言 只有光頭才能變強(qiáng)。文本已收錄至我的GitHub倉庫,歡迎Star:https://github.com/ZhongFuCheng3y/3y 回顧上一篇: 《大型網(wǎng)站系統(tǒng)與Java中間件》讀書筆記(一)...
摘要:原文地址一個(gè)非常適合入門學(xué)習(xí)的博客項(xiàng)目前端掘金一個(gè)非常適合入門學(xué)習(xí)的項(xiàng)目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個(gè)由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:原文地址一個(gè)非常適合入門學(xué)習(xí)的博客項(xiàng)目前端掘金一個(gè)非常適合入門學(xué)習(xí)的項(xiàng)目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個(gè)由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:協(xié)議用于客戶端和服務(wù)端之間的通信協(xié)議和協(xié)議族內(nèi)的其他眾多協(xié)議相同,用于客戶端和服務(wù)端之間的通信。協(xié)議自身不對(duì)請(qǐng)求和響應(yīng)之間的通信狀態(tài)進(jìn)行保存。 HTTP協(xié)議用于客戶端和服務(wù)端之間的通信 HTTP協(xié)議和TCP/IP協(xié)議族內(nèi)的其他眾多協(xié)議相同,用于客戶端和服務(wù)端之間的通信。 請(qǐng)求訪問文本或圖像等資源的一端稱為客戶端,而提供資源響應(yīng)的一端稱為服務(wù)端。 在兩臺(tái)計(jì)算機(jī)之間使用HTTP協(xié)議通信時(shí)...
閱讀 2898·2021-09-28 09:36
閱讀 3663·2021-09-27 13:59
閱讀 2504·2021-08-31 09:44
閱讀 2289·2019-08-30 15:54
閱讀 2363·2019-08-30 15:44
閱讀 1201·2019-08-30 13:45
閱讀 1234·2019-08-29 18:38
閱讀 1226·2019-08-29 18:37