HTTP協議介紹
HTTP協議介紹
Http(Hypertext Transfer Protocol)超文本傳輸協議。
Http是應用層協議,當你上網瀏覽網頁的時候,瀏覽器和服務器之間就會通過Http在Internet上進行數據的發送和接收。
Http是一個基於請求/響應模式的,無狀態的協議(request/response based, stateless protocol)。
因為協議本身是無狀態的,所以有時候我們需要記錄狀態,比如登錄之后就處於登錄狀態,就需要借助其他技術手段。
瀏覽器與服務器通信的過程
HTTP 1.0的協議通信過程:

Http是構建在TCP基礎之上的,而TCP要求建立連接,所以Http也要求先建立連接。
Http1.0中,當連接建立后,瀏覽器發送一個請求,服務器回應一個消息,之后,連接就被關閉。
當瀏覽器下次請求的時候,需要重新建立連接,很顯然這種需要不斷建立連接的通信方式開銷比較大。
持續連接(Persistent Connections)
在Http1.1版本中,給出了一個持續連接的機制,並將其作為Http1.1中建立連接的缺省行為。
通過這種連接,瀏覽器可以在建立一個連接之后,發送請求並得到回應,然后繼續發送請求並再次得到回應。
這樣比較節省時間,因為連接的建立是需要時間的。
而且,客戶端還可以發送流水線請求,也就是說,客戶端可以連續發送多個請求,而不用等待每一個相應的到來。
瀏覽器與服務器通信的過程 HTTP1.1

客戶端建立連接之后,可以發送多次請求,服務器端依次響應多次請求。
因為HTTP是基於TCP的,TCP是帶連接的、可靠的,所以可以保證請求的順序不變。
當客戶端不會再向服務器端發送新的請求的時候,關閉連接。

參考資料
北京聖思園Java Web培訓視頻。
