第一章 了解Web及網路基礎
發送請求獲取服務器資源的Web瀏覽器等,都可以稱為客戶端,Web使用HTTP(超文本傳輸協議)協議作為規范,完成從客戶端到服務器端等一系列運作流程,所以,我們可以說Web時建立在HTTP協議上通信的,
現在已經提出了3項WWW構建技術,分別是:把SGML作為頁面的文本標記語言的HTML(超文本標記語言),作為檔案傳遞協議的HTTP,指定檔案所在地址的URL(統一資源定位符),
通常使用的網路是在TCP/IP協議族的基礎上運作的,而HTTP屬于它內部的一個子集,計算機與網路設備要相互通信,雙方就必須基于相同的方法,比如,如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確定,不同的硬體、作業系統之間的通信,所有的這一切都需要一種規則,我們把這種規則就稱為協議,TCP/IP是互聯網相關的各類協議族的總稱,
1.TCP/IP的分層管理
TCP/IP協議族按層次分別為以下四層:應用層、傳輸層、網路層、資料鏈路層,
(1)應用層
應用層決定了向用戶提供應用服務時通信的活動,TCP/IP協議族內預存了各類通用的應用服務,比如FTP,DNS,HTTP,
(2)傳輸層
傳輸層對上層應用層,提供處于網路連接中兩臺計算機之間的資料傳輸,包括TCP,UDP,
(3)網路層
網路層用來處理在網路上流動的資料包,規定了通過怎樣的傳輸線路到達對方計算機,并把資料包傳送給對方,與對方計算機之間通過多臺計算機或網路設備進行傳輸時,網路層所起的作用就是在眾多的選項內選擇一條路線,
(4)鏈路層
用來處理連接網路的硬體部分,
2.TCP/IP通信傳輸流

利用TCP/IP協議族進行網路通信時,會通過分層順序與對方進行通信,發送端從應用層往下走,接收端則往應用層上走,
以HTTP來說明作為發送端的客戶端在應用層(HTTP協議)發出一個想看某Web頁面的HTTP請求;接著,為了傳輸方便,在傳輸層(TCP協議)把從應用層處收到的資料(HTTP請求報文)進行分割,并在各個報文上打上標記序號及埠號后轉發給網路層;在網路層(IP協議),增加作為通信目的地的MAC地址后轉發給鏈路層,這樣一來,發往網路的通信請求就準備齊全了;接收端的服務器在鏈路層接收到資料,按照順序往上發送,一直到應用層,當傳輸到應用層,才算真正接收到由客戶端發送過來的HTTP請求,這樣的一個程序用圖表示為:

發送端在層與層之間傳輸資料時,每經過一層必定會被打上一個該層所屬的首部資訊,反之,接收端在層與層傳輸資料時,每經過一層時會把對應的首部消去,這種把資料資訊包裝起來的做法叫做封裝,
3.與HTTP關系密切的協議
(1)負責傳輸的IP協議
IP協議的作用是把各個資料包傳送給對方,而要保證確實傳送到對方那里,則需要滿足各類條件,其中兩個重要的條件就是IP地址和MAC地址,IP地址指明了節點被分配到的地址,MAC地址是指網卡所屬的固定地址,IP地址可以和MAC地址配對,
IP間的通信依賴MAC地址,在網路上,通信的雙方在同意局域網的情況是很少的,通常是經過多臺計算機和網路設備中轉才能連接到對方,在中轉程序中利用下一站中轉設備的MAC地址來搜索下一個中轉目標,這時就需要用到ARP協議,它可以進行地址的決議,也就是通過通信方的IP地址就可以反查出對應的MAC地址,

(2)確保可靠的TCP協議
TCP協議為了更容易傳送大資料才把資料分割,而且TCP協議能夠確認資料最終是否送達到對方,為了準確無誤的將資料送達目標處,TCP協議采用了三次握手的策略,如圖所示:

(3)負責域名決議的DNS服務
用戶通常使用主機名或域名來訪問對方的計算機,而不是直接通過IP地址進行訪問,而DNS服務就提供了域名到IP地址之間的決議服務,

(4)各協議與HTTP協議的關系
那么IP協議、TCP協議、DNS服務在使用HTTP協議的通信程序中各自發揮的作用如下圖:

4.URI和URL
URI是由某個協議方案表示的資源的定位識別符號(協議方案是指訪問資源所使用的協議型別的名稱),URL是使用Web瀏覽器等訪問Web頁面時需要輸入的網頁地址,
URI用字串標識某一互聯網資源,而URL表示的是資源的地點(互聯網上所處的位置),所以說URL是URI 的子集,
URI的格式:

(1)使用http: 或https: 等協議方案名獲取范文資源時要制定協議型別,
(2)登錄資訊(認證):制定用戶名和密碼作為從服務器端獲取資源時必要的登錄資訊,為可選項,
(3)服務器地址:使用絕對URI必須指定待訪問的服務器地址,
(4)服務器埠號:為可選項,若用戶省略則自動使用默認埠號,
(5)帶層次的檔案路徑:指定服務器上的檔案路徑來定位特指的資源,
(6)查詢字串:為可選項,針對已指定的檔案路徑內的資源,可以使用查詢字串傳入任意引數,
(7)片段識別符號:為可選項,標記出已獲取資源中的子資源,
參考文獻:圖解HTTP(圖靈程式設計叢書)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24565.html
標籤:其他
