網(wǎng)絡(luò)應(yīng)用--網(wǎng)絡(luò)工作原理學(xué)習(xí)筆記(二)

1讼油、計算機網(wǎng)絡(luò)應(yīng)用體系結(jié)構(gòu)

有三種類型:

  • 客戶/服務(wù)器(C/S)結(jié)構(gòu):最主要的特征是通信只在客戶端和服務(wù)器之間進(jìn)行晓折,客戶與客戶之間不進(jìn)行直接通信惑朦。
  • P2P(Peer to Peer)結(jié)構(gòu):每個對等端都同時具備C/S應(yīng)用的客戶與服務(wù)器的特征,是一個服務(wù)器與客戶的結(jié)合體漓概,對等端(既能接收請求漾月,又能發(fā)送請求)之間直接通信
  • 混合結(jié)構(gòu):既有中心服務(wù)器的存在,又有對等端(客戶)間的直接通信

2胃珍、網(wǎng)絡(luò)應(yīng)用通信基本原理

C/S通信基本原理:服務(wù)器端運行的是服務(wù)器進(jìn)程梁肿,被動地等待客戶請求服務(wù);客戶端運行的是客戶進(jìn)程觅彰,主動發(fā)起通信吩蔑,請求服務(wù)器提供服務(wù)。
應(yīng)用進(jìn)程間遵循應(yīng)用層協(xié)議來交換應(yīng)用層報文填抬。

3烛芬、域名系統(tǒng)(DNS)

域名:采用特定的字符符號以特定的結(jié)構(gòu)來表示計算機的名稱,即層次樹狀結(jié)構(gòu)的命名方法飒责;

3.1 層次化域名空間

層次樹狀結(jié)構(gòu)的命名方法:
樹形結(jié)構(gòu):

  • 便于計算機查找蛀骇。比如 www.baidu.com 會先查找頂級域名com域,再查找baidu域读拆,最后找www域
  • 便于分布式管理擅憔,整個域名非常多,所有數(shù)據(jù)如果存在一臺服務(wù)器上檐晕,非常龐大暑诸,也難以查找,所以把整個域名體系分開辟灰,在不同的服務(wù)器上進(jìn)行存儲和查找个榕;

3.2 域名服務(wù)器

  • 域名解析:將域名映射為IP地址的過程。在瀏覽器中輸入域名回車的時候芥喇,瀏覽器會提交一個域名解析的請求發(fā)送給域名服務(wù)器西采,讓域名服務(wù)器查找這個域名對應(yīng)的IP地址是多少。
  • 域名服務(wù)器:為了實現(xiàn)域名解析继控,需要建立分布式數(shù)據(jù)庫械馆,存儲網(wǎng)絡(luò)中域名與IP地址的映射關(guān)系數(shù)據(jù)胖眷,這些數(shù)據(jù)庫存儲在域名服務(wù)器上,域名服務(wù)器根據(jù)用戶的請求提供域名解析服務(wù)霹崎。
  • 域名服務(wù)器分類:
    • 根域名服務(wù)器:主要管理根域
    • 頂級域名服務(wù)器:主要管頂級域
      三種頂級域名:1珊搀、國家頂級域名nTLD 2、通用頂級域名gTLD 3尾菇、基礎(chǔ)設(shè)施頂級域名ARPA
    • 權(quán)威域名服務(wù)器:管理更下層次的域名
    • 本地域名服務(wù)器:為用戶提供服務(wù)境析,服務(wù)窗口,可以向其他域名服務(wù)器發(fā)送請求
      題:
  • 目前存在13個DNS根域名服務(wù)器
  • a.root-server.net是一臺DNS根域名服務(wù)器的域名派诬;(a-m)
  • 根域名服務(wù)器都是由位于同一個地理位置的服務(wù)器集群組成(錯) 大多數(shù)根域服務(wù)器都是由獨立的多臺物理服務(wù)器構(gòu)成的服務(wù)器集群劳淆,而有的根域名服務(wù)器則是由分布在不同地理位置的多臺鏡像服務(wù)器組成的
  • DNS根域服務(wù)器對于DNS系統(tǒng)的整體運行具有極為重要的作用。

3.3 域名解析過程

  • 遞歸查詢:代替查詢主機或其他域名服務(wù)器默赂,進(jìn)行進(jìn)一步的域名查詢憔儿,并將最終解析結(jié)果發(fā)送給查詢主機或服務(wù)器。一層一層查詢放可,再一層一層返回。a向b提問朝刊,b不知道耀里,b問c,c不知道拾氓,c問d冯挎,d知道,將結(jié)果返回c再返回b再返回a咙鞍。
  • 迭代查詢:只是將下一步要查詢的服務(wù)器告知查詢主機或服務(wù)器房官,不會幫主機進(jìn)行查詢。续滋。a向b提問翰守,b不知道,b告訴a疲酌,c可能知道蜡峰,a再去問c,c告訴a朗恳,d可能知道湿颅,a問d,d知道粥诫,將結(jié)果返回a油航。
遞歸查詢.jpg
迭代查詢.jpg

遞歸查詢問題:每天會有大量的查詢請求,如果每次都需要本地域名發(fā)給根域服務(wù)器怀浆,根域服務(wù)器的負(fù)載將會非常大谊囚,再由根域服務(wù)器向頂級域名服務(wù)器進(jìn)行查詢怕享,還要等待結(jié)果返回,工作量會非常大秒啦,會非常慢熬粗。
現(xiàn)實中往往是兩種方式結(jié)合起來查詢。

4余境、萬維網(wǎng)應(yīng)用

4.1驻呐、萬維網(wǎng)應(yīng)用結(jié)構(gòu)

瀏覽器通過超文本傳輸協(xié)議(HTTP)向服務(wù)器發(fā)起請求。

點擊一個鏈接芳来,客戶機通過該鏈接向域名服務(wù)器發(fā)送請求含末,通過解析域名得到web服務(wù)器的IP地址,客戶機根據(jù)該IP地址向服務(wù)器發(fā)起一個TCP連接(TCP保證傳輸?shù)目煽啃裕┘瓷啵⑦B接之后在應(yīng)用層的基礎(chǔ)上使用HTTP協(xié)議佣盒,發(fā)出HTTP報文(攜帶URL),服務(wù)器根據(jù)報文和URL來找到相應(yīng)的網(wǎng)頁資源顽聂,該資源(HTML等)會作為HTTP報文的響應(yīng)返回給瀏覽器肥惭,瀏覽器收到HTML等等資源后再進(jìn)行解釋解讀,再以特定的格式顯示在瀏覽器中紊搪。

web服務(wù)器--瀏覽器.jpg

4.2蜜葱、HTTP

概念:超文本傳輸協(xié)議,定義瀏覽器如何向web瀏覽器發(fā)送請求以及web服務(wù)器如何向瀏覽器進(jìn)行相應(yīng)
版本:http/1.0 http/1.1 http/2 http/3

兩種連接:

  • 非持久連接:
    • 串行方式請求每個對象耀石,且每次都要新建立TCP連接牵囤,比如請求一個html,過程是這樣的:建立TCP連接滞伟,請求web頁面揭鳞,釋放斷開TCP,瀏覽器開始解析頁面梆奈,發(fā)現(xiàn)有三張圖片野崇;建立TCP連接,請求第一張圖片亩钟,釋放斷開TCP舞骆;建立TCP連接,請求第二張圖片径荔,釋放斷開TCP督禽;建立TCP連接,請求第三張圖片总处,釋放斷開TCP狈惫。
    • 并行方式請求每個對象,每個請求建立一個TCP連接。比如請求一個html胧谈,過程是這樣的:首先建立一個TCP連接忆肾,獲取到html頁面,釋放斷開TCP菱肖,瀏覽器開始解析頁面客冈,發(fā)現(xiàn)有三張圖片;并行建立3個TCP連接稳强,同時請求三個圖片資源场仲,然后釋放連接。
非持久連接.jpg
  • 持久連接:建立一個連接后退疫,請求對象渠缕,請求完對象后不馬上斷開連接,再請求第二個對象褒繁,第三個對象亦鳞,請求完成后再斷開連接。
    • 非流水方式持久連接:建立一個連接棒坏,請求獲取html文件燕差,獲取文件之后請求第一個圖片,獲取第一個圖片后再獲取第二個圖片坝冕,獲取后再獲取第三個圖片徒探,獲取成功后斷開連接;
    • 流水方式持久連接:建立一個鏈接徽诲,請求獲取html文件,同時請求三個圖片吵血,獲取到三個圖片之后谎替,斷開連接。
持久連接.jpg

HTTP報文:

  • 請求報文:從客戶端向服務(wù)器發(fā)送請求報文蹋辅。
    • GET:請求讀取由URL所標(biāo)識的信息
    • HEAD:請求讀取由URL所標(biāo)識的信息的首部钱贯,無需在響應(yīng)報文中返回對象
    • POST:給服務(wù)器添加信息
    • OPTIONS:請求一些選項的信息
    • PUT:在指明的URL下存儲一個文檔
  • 響應(yīng)報文:從服務(wù)器到客戶的回答。
    • 1xx 信息成功 通告信息侦另,可能還需進(jìn)一步交互
    • 2xx 成功 成功完成客戶請求的操作秩命,并進(jìn)行相應(yīng)
    • 3xx 重定向 表示資源已移走,需要向新url發(fā)起請求
    • 4xx 客戶端錯誤 由于客戶端錯誤褒傅,無法成功響應(yīng)
    • 5xx 服務(wù)端錯誤 由于服務(wù)器端錯誤弃锐,無法成功響應(yīng)

4.3、Cookie

Cookie中文名稱為小型文本文件殿托,指某些網(wǎng)站為了辨別用戶身份霹菊、進(jìn)行會話跟蹤而存儲在用戶本地終端上的數(shù)據(jù)。
彌補了HTTP協(xié)議無狀態(tài)性的不足支竹,有利于進(jìn)行用戶跟蹤并提供針對性的服務(wù)旋廷,但也帶來一些安全問題鸠按。

第一次訪問某個網(wǎng)站,沒有攜帶cookie進(jìn)行訪問饶碘,網(wǎng)站沒有識別到cookie目尖,就會為該用戶創(chuàng)建一個id,然后把該id存進(jìn)數(shù)據(jù)庫里扎运,訪問記錄也會存進(jìn)數(shù)據(jù)庫瑟曲,然后把這個id通過普通http響應(yīng)報文進(jìn)行setCookie,把cookie設(shè)置到瀏覽器上绪囱;第二次進(jìn)該網(wǎng)頁的時候测蹲,就會攜帶cookie發(fā)起http請求,網(wǎng)站會根據(jù)cookie去數(shù)據(jù)庫里搜索上次訪問的頁面或數(shù)據(jù)鬼吵,返回給用戶扣甲,同時存下這次的瀏覽記錄;第三次訪問同理第二次齿椅。

5琉挖、Internet電子郵件

5.1、電子郵件系統(tǒng)主要包括郵件服務(wù)器涣脚、簡單郵件傳輸協(xié)議(SMTP)示辈、用戶代理和郵件讀取協(xié)議等

email.jpg

5.2、SMTP:SMTP是Internet電子郵件中核心應(yīng)用層協(xié)議遣蚀,實現(xiàn)郵件服務(wù)器之間或用戶代理到郵件服務(wù)器之間的郵件傳輸矾麻。

SMTP使用傳輸層TCP實現(xiàn)可靠數(shù)據(jù)傳輸,端口號25芭梯。
SMTP是通過3個階段的應(yīng)用層交互完成郵件的傳輸险耀,分別是握手階段、郵件傳輸階段和關(guān)閉階段玖喘。
SMTP的基本交互方式是SMTP客戶端發(fā)送命令甩牺,命令后面可能攜帶參數(shù),SMTP服務(wù)器對命令進(jìn)行應(yīng)答累奈。

5.3贬派、電子郵件格式與MIME

  • 電子郵件包含首部、空白行澎媒、主體3部分
  • MIME(多用途互聯(lián)網(wǎng)郵件擴展):原來郵件只能傳輸ASCII碼文本內(nèi)容搞乏,后來使用MIME,可以傳輸別的信息戒努,中文查描、圖片等等。將非7位ASCII碼文本內(nèi)容轉(zhuǎn)換為7位ASCII碼文本內(nèi)容,然后再利用SMTP進(jìn)行傳輸冬三。在郵件首部增加MIME首部行匀油,說明主題內(nèi)容,原本的數(shù)據(jù)類型以及采用的編碼標(biāo)準(zhǔn)等勾笆。

5.4敌蚜、郵件讀取協(xié)議

  • 郵局協(xié)議:POP3 發(fā)指令給服務(wù)器,服務(wù)器把郵件下載到用戶電腦上窝爪,用戶進(jìn)行操作弛车,對郵件的操作是對本地的操作
  • 互聯(lián)網(wǎng)郵件訪問協(xié)議:IMAP 通過指令,操作郵箱蒲每,對郵件的操作是對服務(wù)器的操作
  • 通過瀏覽器訪問郵件使用HTTP協(xié)議 不依賴郵件客戶端軟件

6纷跛、FTP:文件傳輸協(xié)議

FTP-在互聯(lián)網(wǎng)的兩個主機間實現(xiàn)文件互傳的應(yīng)用層協(xié)議。
C/S模式邀杏,采用控制連接(21端口)傳輸控制命令贫奠,數(shù)據(jù)連接(20端口)傳輸文件內(nèi)容

ftp.jpg

7、P2P應(yīng)用 - 對等模式

優(yōu)勢:充分聚集利用了端系統(tǒng)(對等方主機)的計算能力以及網(wǎng)絡(luò)傳輸帶寬望蜡,對服務(wù)器的依賴很小唤崭。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市脖律,隨后出現(xiàn)的幾起案子谢肾,更是在濱河造成了極大的恐慌,老刑警劉巖小泉,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芦疏,死亡現(xiàn)場離奇詭異,居然都是意外死亡微姊,警方通過查閱死者的電腦和手機酸茴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柒桑,“玉大人弊决,你說我怎么就攤上這事噪舀】荆” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵与倡,是天一觀的道長界逛。 經(jīng)常有香客問我,道長纺座,這世上最難降的妖魔是什么息拜? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上少欺,老公的妹妹穿的比我還像新娘喳瓣。我一直安慰自己,他們只是感情好赞别,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布畏陕。 她就那樣靜靜地躺著,像睡著了一般仿滔。 火紅的嫁衣襯著肌膚如雪惠毁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天崎页,我揣著相機與錄音鞠绰,去河邊找鬼。 笑死飒焦,一個胖子當(dāng)著我的面吹牛蜈膨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播荒给,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丈挟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了志电?” 一聲冷哼從身側(cè)響起曙咽,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎挑辆,沒想到半個月后例朱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鱼蝉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年洒嗤,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魁亦。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡渔隶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洁奈,到底是詐尸還是另有隱情间唉,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布利术,位于F島的核電站呈野,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏印叁。R本人自食惡果不足惜被冒,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一军掂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昨悼,春花似錦蝗锥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至闲延,卻和暖如春痊剖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背垒玲。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工陆馁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人合愈。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓叮贩,卻偏偏與公主長得像,于是被迫代替她去往敵國和親佛析。 傳聞我的和親對象是個殘疾皇子益老,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

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