HowNtworksWork 第1章.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * DNS伺服器有 快取功能可迅速答覆 DNS伺服器有一種可以把曾經檢查過的名稱紀錄到快取記憶體的功能,如果符合查詢名稱的情報有在快取記憶體裡,就直接抓取這個情報。這樣一來,可以從這個位置往下搜尋層級構造,比從最開始的根網域去找更省事 * Socket library是 導往TCP/IP軟體的中間人 這裡也會用到Socket library,不過可不像呼叫解析器那樣,叫出1個程式(gethostbyname)就沒事了。因為傳送/接收資料時,必須依既定的順序呼叫出多個程式 各位可以把Socket library裡面的程式當作是一種中間人的角色,左手收到應用程式的要求、馬上從右手轉過去給TCP/IP軟體。這個中間人角色當然不會沒有意義,只不過省略掉這部分的冗長說明會比較容易了解,所以後面的資料傳送/接收相關說明當中就沒有這部分,把Socket library和TCP/IP軟體合併起來講 * * * 產生socket,管理連接狀態 TCP/IP軟體的資料傳送/接收動作就類似這樣,隨時掌握應用程式的目前狀態而採取行動。準備作業的主要目的是要確保足夠的記憶體區域,以儲存這方面的控制情報。這個準備作業俗稱為「產生socket」 * 把IP位址和通訊埠號碼 通報給TCP/IP軟體 應用軟體如欲委託TCP/IP軟體進行資料傳送/接收時,必須告訴TCP/IP軟體:我要跟「在哪裡」的「誰」進行通訊 * 伺服器端也要做等待的準備 在用戶端的通訊開始通知抵達之前,伺服器端也要做好準備:呼叫socket、bind、listen、accept這幾個程式 * 伺服器端比對IP位址後, 回傳連接許可 保持這個狀態,等來自用戶端的通訊開始的控制封包一到,便比對bind設定的IP位址,判斷是否應允許進行通訊,並回傳回應封包(圖1.13?)。連接動作到此即結束 * 開始進行訊息的傳送/接收 資料傳送的準備工作後,用戶端便呼叫write,丟出傳送資料和資料長度。於是,TCP/IP軟體就把這個資料送過去給伺服器(圖1.13?)。這裡所說的「資料」是Web瀏覽器所產生的HTTP要求訊息,TCP/IP軟體會原封不動地照著它本來的模樣送去給伺服器 write read * 通報訊息傳送/接收已結束 用戶端和伺服器之間的溝通互動就結束了。後面就剩下呼叫close,以傳送通知通訊結束的控制封包(圖1.13?) close 中斷 * * 第1章 瀏覽器產生訊息 ~瀏覽器內部的探險~ * 探險之旅的出發點 從輸入URL開始 所有的原點都要從在瀏覽器上輸入URL開始 Web伺服器 URL FTP 網域名稱 通訊協定 * * 瀏覽器的第一步是解讀URL * 檔案與目錄的差別 (a) / Web伺服器名稱= 路徑名稱=/ (b) Web伺服器名稱跟(a)一樣,不過路徑名稱卻是空無一物 * HTTP的基本想法 HTTP通訊協定是一種關於用戶端和伺服器兩者間交換訊息的內容、步驟的規定,其實基本想法非常單純 * * * 產生HTTP的要求訊息 解讀URL、知道Web伺服器和檔名之後,瀏覽器便根據這些來產生HTTP的要求訊息 實際的HTTP要求訊息對於寫法(即格式)都有規定,所以瀏覽器就是配合其格式而產生要求訊息 * * * * 傳送要求,就有回應跑回來 送出這個訊息之後,就會有回應訊息從Web伺服器那邊回傳過來 回應訊息的第1行是寫著表示該要求執行結果的狀態碼和response phrase,這兩個項目所表示的內容相同,但是用途不同。 狀態碼是數字格式,主要目的是讓程式知道執行結果(表1.2)。相對的,response phrase則是文字格式,目的是讓人知道執行結果 * * * * * 檢查目的地的 Web伺服器的IP位址 瀏覽器具有解讀URL、產生HTTP訊息的功能,但是卻不具備將這些訊息送上網路的功能。所以必須委託OS幫忙傳送訊息 IP位址 路由器 DNS * Socket library提供 搜尋IP位址的功能 Socket library是一種以BSD(Berkeley Software Distribution,UNIX的變化版本),所開發出來的C語言程式庫,許多目前運用在網際網路方面的功能都是使用Socket library所開發而成 解析動作(resolution) 解析器(resolver) DNS解析器(DNS resolver) * 利用解析器向 DNS伺服器進行查詢 使用Socket library呼叫解析器的方法,其實還真簡單。Socket library的實體是一種要有其他程式呼叫才開始動的程式,這裡要使用的解析器功能就寫在這裡面。 所以只要如圖1.7寫上解析器的程式名稱和Web伺服器名稱,就能呼叫解析器 * * 呼叫解析器時的動作 網路

文档评论(0)

taotao0a + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档