Web 使用HTTP協(xié)議作為規(guī)范,完成客戶端到服務器端等一系列運作流程。
通常使用的網(wǎng)絡(包括互聯(lián)網(wǎng))是在TCP/IP協(xié)議族的基礎上運作的。而HTTP屬于它內部的一個子集。
-
TCP/IP協(xié)議族
計算機與網(wǎng)絡設備要相互通信,雙方就必須基于相同的方法。比如如何探測到通信目標、由哪一邊先發(fā)起通信、使用哪一種語言進行通訊、怎樣結束通信等規(guī)則都需要事先確定。不同的硬件、操作系統(tǒng)之間的通信,有所的這一切都需要一種規(guī)則。這種規(guī)則就是協(xié)議(protocol)。

協(xié)議中存在各種各樣的內容。從電纜的規(guī)格到IP地址的選定方法、尋找異地用戶方法、雙方簡歷通信的順序等等。把與互聯(lián)網(wǎng)相關聯(lián)的協(xié)議集合起來總稱為TCP/IP。
-
TCP/IP的分層管理
TCP/IP協(xié)議族中最重要的一點就是分層。TCP/IP協(xié)議族按層次分為以下4層:應用層、傳輸層、網(wǎng)絡層、數(shù)據(jù)鏈路層。
TCP/IP 層次化后,設計變得相對簡單,可以只考慮分派給自己層次上的任務,某個地方需要改變設計,只需要把變動的層替換掉即可。TCP/IP協(xié)議族各層的作用:
應用層
應用層決定了向用戶提供應用服務時通信的活動。
TCP/IP協(xié)議族內預存了各類通用的應用服務。
FTP(英文:File Transfer Protocol,文件傳輸協(xié)議)
DNS(英文:Domain Name System,域名系統(tǒng))
HTTP (英文:HyperText Transfer Protocol,超文本傳輸協(xié)議)傳輸層
傳輸層對上應用層,提供了處于網(wǎng)絡連接中的兩臺計算機之間的數(shù)據(jù)傳輸。
在傳輸層中有兩個性質不同的協(xié)議:
TCP(英文:Transmission Control Protocol,傳輸控制協(xié)議)
UDP(英文:User Datagram Protocol,用戶數(shù)據(jù)報協(xié)議)。網(wǎng)絡層
網(wǎng)絡層用來處理在網(wǎng)絡上流動的數(shù)據(jù)包。數(shù)據(jù)包就是網(wǎng)絡傳輸?shù)淖钚?shù)據(jù)單位。該層規(guī)定了通過怎樣的路徑(所謂的傳輸路線)到達對方計算機,并把數(shù)據(jù)包傳送給對方。
與對方計算機之間通過多臺計算機或網(wǎng)絡設備進行傳輸時,網(wǎng)絡層所起的作用就是在眾多的選項內選擇一條傳輸路線
IP(英文:Internet Protocol,網(wǎng)際協(xié)議) ,TCP/IP協(xié)議族中的IP指的就是網(wǎng)際協(xié)議。不要和"IP地址"搞混。鏈路層:(數(shù)據(jù)鏈路層或網(wǎng)絡接口層)
用來處理連接網(wǎng)絡的硬件部分。包括控制操作系統(tǒng)、硬件的設備驅動、NIC(Network Interface Card,網(wǎng)絡適配器,即網(wǎng)卡),及光纖等物理可見部分(還包括連接器等一切傳輸媒介)。硬件上的范疇均在鏈路層的作用范圍之內。
- TCP/IP通信傳輸流

利用TCP/IP協(xié)議族進行網(wǎng)絡通信時,會通過分層順序與對方進行通信。發(fā)送端從應用層往下走,接受端則從鏈路層往應用層走。
- 應用層:客戶端發(fā)出(HTTP協(xié)議)一個想看某個Web頁面的HTTP請求。
- 傳輸層:為了方便傳輸,把從應用層收到的數(shù)據(jù)(HTTP請求報文)進行分割,并在各個報文上打上標記序號及端口號后轉發(fā)給網(wǎng)絡層
- 網(wǎng)絡層:增加通信目的地的MAC地址后轉發(fā)給鏈路層
-
鏈路層:接收端的服務器在鏈路層收到數(shù)據(jù)后,按序往上層發(fā)送,一直到應用層。
當傳輸?shù)綉脤?,才能算真正接受到由客戶端發(fā)送過來的HTTP請求。
發(fā)送端在層與層之間傳輸數(shù)據(jù)時,每經過一層必定會被打上一個該層所屬的部首信息。反之,接收端在層與層傳輸數(shù)據(jù)時,每經過一層會把對應的首部消去。這種把數(shù)據(jù)信息包裝起來的做法稱為封裝(encapsulate)。