HTTP協議概述
根據TCP/IP網絡模型,HTTP超文本傳輸協議屬于應用層的協議,用于傳輸文件,如HTML文檔。HTTP被設計用于Web瀏覽器與Web服務器之間的通信,當然亦可以用于其他用途 。HTTP最經典的應用模型無疑就是CS模型(客戶端-服務器模型):當客戶端打開一個連接發送一個請求給服務端,然后等待服務器的響應,直到收到服務器的響應為止。
HTTP是一個無狀態協議,意思是說,服務器不會保留兩次請求之間的任何數據。雖說HTTP協議不會在請求間保持著連接,但是它們的會話是有狀態,HTTP可以通過 cookies的使用記錄ssessions。利用HTTP報頭的擴展性,Cookies可以加到工作流中。這樣可以在每一個HTTP請求之間共享同樣上下文、同樣的狀態。
在根據TCP/IP網絡模型中,HTTP協議所在應用層的下一層是TCP/IP層,HTTP數據將會被封裝到TCP協議的數據部分進行傳輸,由此一來,HTTP就可以借著的TCP提供可靠的傳輸,即不會像UDP協議那樣在失敗時沒有任何反饋信息,你都不知道成功沒有,HTTP通過TCP提供可靠的傳輸,無論成功與否,你都能收到反饋信息,這樣你就知道下一步應該怎么做了。
因為HTTP是使用了傳輸層的TCP協議來提供可靠傳輸。那么在客戶端與服務端交換HTTP請求/響應前,就要建立起TCP連接。TCP連接需要經歷“三次握手”。HTTP/1.0為每一個HTTP請求/響應對打開一個TCP連接。當有很多請求發送時,這種做法比共享一個TCP連接要低效。因此,HTTP/1.1 引進流水線(據說非常難實現)和持久連接(即保持連接),下面的TCP連接可以通過連接頭信息達到部分控制。而HTTP/2則更進一步,它通過單一連接完成多路信息的傳遞。
謝謝閱讀。
HTTP TCP/IP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。