1. 程式人生 > >第一章 瞭解Web及網路基礎

第一章 瞭解Web及網路基礎

Web 使用一種名為 HTTP(HyperText Transfer Protocol,超文字傳輸協

議  1 )的協議作為規範,完成從客戶端到伺服器端等一系列運作流

程。而協議是指規則的約定。可以說,Web 是建立在 HTTP 協議上通

信的。

Tcp/Ip協議族

通常使用的網路是在tcp/ip協議族的基礎上運作的,而http屬於它內部的一個子集。

計算機與網路裝置要相互通訊,雙方就必須基於相同的方法。比如,如何探測到通訊目標、由哪一邊先發起通訊、使用哪種語言進行通訊、怎樣結束通訊等規則都需要事先確定。不同的硬體、作業系統之間的通訊,所有的這一切都需要一種規則。而我們就把這種規則稱為協議(protocol)。

TCP/IP 協議族按層次分別分為以下 4 層:應用層、傳輸層、網路層和資料鏈路層。

應用層:決定了向用戶提供應用服務時通訊的活動。

傳輸層:對上層應用層,提供處於網路連線中的兩臺計算機之間的資料傳輸。

網路層:用來處理在網路上流動的資料包。資料包是網路傳輸的最小資料單位。該層規定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,並把資料包傳送給對方。

鏈路層:用來處理連線網路的硬體部分。包括控制作業系統、硬體的裝置驅

動、NIC(Network Interface Card,網路介面卡,即網絡卡),及光纖等物理可見部分(還包括聯結器等一切傳輸媒介)。硬體上的範疇均在鏈路層的作用範圍之內。

Tcp/Ip通訊傳輸流

IP 協議的作用是把各種資料包傳送給對方。而要保證確實傳送到對方那裡,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC地址(Media Access Control Address)。

IP 地址指明瞭節點被分配到的地址,MAC 地址是指網絡卡所屬的固定地址。IP 地址可以和 MAC 地址進行配對。IP 地址可變換,但 MAC地址基本上不會更改。

IP 間的通訊依賴 MAC 地址。在網路上,通訊的雙方在同一區域網(LAN)內的情況是很少的,通常是經過多臺計算機和網路裝置中轉才能連線到對方。而在進行中轉時,會利用下一站中轉裝置的 MAC地址來搜尋下一個中轉目標。這時,會採用 ARP 協議(Address Resolution Protocol)。ARP 是一種用以解析地址的協議,根據通訊方的 IP 地址就可以反查出對應的 MAC 地址。

確保可靠性的 TCP 協議

按層次分,TCP 位於傳輸層,提供可靠的位元組流服務。

所謂的位元組流服務(Byte Stream Service)是指,為了方便傳輸,將大塊資料分割成以報文段(segment)為單位的資料包進行管理。而可靠的傳輸服務是指,能夠把資料準確可靠地傳給對方。一言以蔽之,TCP 協議為了更容易傳送大資料才把資料分割,而且 TCP 協議能夠

確認資料最終是否送達到對方。

為了準確無誤地將資料送達目標處,TCP 協議採用了三次握手(three-way handshaking)策略。用 TCP 協議把資料包送出去後,TCP不會對傳送後的情況置之不理,它一定會向對方確認是否成功送達。

 

握手過程中使用了 TCP 的標誌(flag) —— SYN(synchronize) 和

ACK(acknowledgement)。

傳送端首先發送一個帶 SYN 標誌的資料包給對方。接收端收到後,

回傳一個帶有 SYN/ACK 標誌的資料包以示傳達確認資訊。最後,發

送端再回傳一個帶 ACK 標誌的資料包,代表“握手”結束。

若在握手過程中某個階段莫名中斷,TCP 協議會再次以相同的順序發

送相同的資料包。

負責域名解析的 DNS 服務

DNS(Domain Name System)服務是和 HTTP 協議一樣位於應用層的

協議。它提供域名到 IP 地址之間的解析服務。

使用者通常使用主機名或域名來訪問對方的計算機,而不是直接通過 IP

地址訪問。因為與 IP 地址的一組純數字相比,用字母配合數字的表

示形式來指定計算機名更符合人類的記憶習慣。

但要讓計算機去理解名稱,相對而言就變得困難了。因為計算機更擅

長處理一長串數字。

為了解決上述的問題,DNS 服務應運而生。DNS 協議提供通過域名

查詢 IP 地址,或逆向從 IP 地址反查域名的服務。

各種協議與 HTTP 協議的關係

URI 和 URL

URI:統一資源識別符號

URL:統一資源定位符

URI 格式

表示指定的 URI,要使用涵蓋全部必要資訊的絕對 URI、絕對 URL 以

及相對 URL。相對 URL,是指從瀏覽器中基本 URI 處指定的 URL,

形如 /image/logo.gif。