HTTP(1):Http協議簡介

協議是指通信雙方必須遵守的規則。HTTP(Hypertext Transfer Protocol,超文本傳輸協議)是一種詳細規定了瀏覽器和web服務器之間互相通信的規則,通過因特網傳送數據的傳輸協議。HTTP協議保證了瀏覽器可以更高效的運行,使網絡傳輸效率更高,他不僅保證了計算機正確的快速傳輸超文本文檔,還確定傳輸文檔中的哪一部分內容首先顯示(如文本先於圖形)等。

 

HTTP由於其靈活、簡單、快捷的特點,應用非常廣泛。瀏覽網頁是HTTP的主要應用,但是這並不代表HTTP就只能應用與網頁的瀏覽,HTTP是一種協議,只要通信雙方都遵守這個協議,HTTP就有用武之地,比如常用的QQ、迅雷這些軟件、都使用了HTTP協議。

 

1.HTTP協議的工作流程

在網絡七層模型中,HTTP處於應用層,也就是傳輸層之上。事實上,HTTP是基於TCP協議的,而我們常說的HTTPS協議也是在應用層,只是HTTPSTLSSSL協議層之上的協議。兩者的區別如下:

 

HTTP(應用層)

TCP(傳輸層)

IP(網絡層)

數據鏈路層

 

HTTPS(應用層)

TLSSSL(應用層)

TCP(傳輸層)

IP(網絡層)

數據鏈路層

 

HTTPS對於HTTP來說,多了一層關於加密的。

 

另外一個就是使用端口的區別:

HTTP默認的端口號是80號,HTTPS的默認端口號是443

 

HTTP的本質上是基於TCP協議的,而TCP是一個端到端的面向連接的協議。所謂端到端,可以理解爲進程和進程間的用些,所以,在HTTP開始傳輸前,也需要進行TCP的三次握手連接,連接完成之後,HTTP才能進行傳輸。

 

 

HTTP1.1中,通過connection頭設置,默認在HTTP傳輸完成之後不斷開TCP連接,在此之前的版本HTTP則默認是斷開連接,也就是同一個客戶端的這次請求和上次請求是沒有對應關係的。

 

一次的HTTP操作稱爲一個事務,其工作過程可以分爲以下4步:

 

(1)首先客戶機與服務器需要建立連接,只要點擊某個超級鏈接,HTTP的工作即開始。

(2)建立連接後,客戶端發送一個請求給服務器,請求的方式的格式爲:統一資源標識符(URL)、協議版本號、MIME信息(包括請求修飾符、客戶機信息和可能的內容)。

換句話來說,請求格式:URL+協議版本號+MIME信息

(3)服務器接到請求後,給予相應的響應信息,其格式爲一個狀態行,包括信息的協議版本號,一個成功或者錯誤的代碼,後邊是MIME信息(包括服務器信息、實體信息和可能的內容)。

(4)客戶端接收服務器所返回的信息通過瀏覽器顯示在用戶顯示屏上,然後客戶機與服務器斷開連接。

 

如果以上過程中某一步出現錯誤,那麼產生錯誤的信息將返回到客戶端,由顯示屏輸出,對於用戶來說,這些過程是由HTTP自己完成的,用戶只要鼠標操作,等待信息顯示就可以了。

 

HTTP協議永遠都是客戶端發起請求,服務器回送響應,這樣就會使得無法實現客戶端未發起的請求,而服務器將消息推送給客戶端。

 

 

 

 

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