【HTTP協議】網絡基礎和簡單的HTTP協議(1)

1.使用HTTP協議訪問WEB

web使用一種名爲HTTP(HyperText Tranfer Protocol,超文本傳輸協議)的協議作爲規範,完成從客戶端到服務器端的一系列運作流程,而協議就是規則的約定。

2.網絡基礎TCP/IP

通常我們使用的網絡(包括互聯網)是在TCP/IP協議族的基礎上運作的,而HTTP屬於他們的子集。

  1. TCP/IP協議族

計算機和網絡設備之間進行相互通信,雙方就必須基於相同的方法。比如中國人之間就使用漢語進行說話,如何探測到通信目標,從哪一邊先發起通信等等,所有這一切都需要規則,我們把這種規則稱爲協議。

2.圖就是TCP/IP協議族

3. TCP/IP的分層管理

分層是協議中非常重要的點,按照層次分分爲四層:應用層,傳輸層,網絡層,數據鏈路層。

TCP/IP協議族各層的作用如下:

  • 應用層

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

TCP/IP協議族中就預存了各類通用的應用服務,比如FTP(文件傳輸協議)和DNS(域名系統)。HTTP協議也處於這一層。

  • 傳輸層

傳輸層相對於應用層,提供處於網絡連接中的兩臺計算機之間數據的傳輸。在傳輸層有兩種協議:TCP(傳輸控制協議)和UDP(用戶數據包協議)

  • 網絡層

網絡層用來處理在網絡上流動的數據包。數據包是網絡傳輸的最小數據單位,在這一層規定傳輸路線

  • 數據鏈路層

這一層屬於硬件部分,在這裏不多介紹。

4.TCP/IP通信傳輸流

從圖上可以看出,利用TCP/IP協議族進行網絡通信時,會通過分層進行通信。發送端往下走,接受端往上走。

HTTP舉例來說明:首先客戶端發送一個請求,然後爲了方便,在傳輸層會把應用層收到的數據(HTTP請求報文)進行分割,並且在各個報文上打上標記序號和端口號打上端口號,發給網絡層。

在網絡層,增加作爲通信目的地的MAC地址後轉發給鏈路層。

然後接收端是一個相反的過程。如圖:

 在這裏需要注意的是,在每次進行傳輸數據的時候會打上該層所屬的首部信息。反之,接收端層與層之間把對應的首部消去。就是所謂的封裝和解包。

5.和HTTP關係密切的協議:IP/TCP和DNS

  • 負責傳輸的IP協議

IP協議的作用就是把各種數據包傳送給對方.而且要保證傳輸到那裏,則需要滿足各類條件,其中最重要的條件是IP地址和MAC地址.

ip地址指明瞭節點被分配到的地址,MAC地址是網卡所屬的固定地址.IP地址和MAC地址進行配對.

  • 使用ARP協議

ARP是一種解析地址的協議,可以根據通信方的IP地址就可以反查出對應的MAC地址.

  • 確保可靠性的TCP協議

按照層次分,TCP位於傳輸層,提供可靠的字節流服務.

所謂的字節流服務就是將大數據分割成報文段爲單位的數據包進行管理,而可靠性就是下面的三次握手策略.

三次握手過程:

首先發送端發送一個帶SYN標誌的數據包給對方,接收端收到後,回傳一個SYN/ACK標誌的數據包表示收到信息,最後發送端回傳一個帶ACK標誌的數據包,表示結束.

 如果在握手過程中某個階段莫名打斷,TCP協議再次以相同順序發送相同的數據包.

6.負責域名解析DNS服務

DNS協議通過域名進行IP查找,或者逆向從IP地址反查域名的服務.

 7.各種協議與HTTP協議的關係

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章