天天看點

HTTP協定與TCP協定的關系

文章目錄

    • HTTP協定與TCP協定的關系
      • 一、從本質上,二者沒可比性
      • 二、HTTP協定是建立在TCP協定基礎之上的

HTTP協定與TCP協定的關系

TCP協定是傳輸層協定,主要解決資料如何在網絡中傳輸

HTTP是應用層協定,主要解決如何包裝資料。

一、從本質上,二者沒可比性

​ 我們在傳輸資料時,可以隻使用(傳輸層)TCP/IP協定,但是那樣的話,如果沒有應用層,便無法識别資料内容,如果想要使傳輸的資料有意義,則必須使用到應用層協定,應用層協定有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協定。WEB使用HTTP協定作應用層協定,以封裝HTTP 文本資訊,然後使用TCP/IP做傳輸層協定将它發到網絡上。

二、HTTP協定是建立在TCP協定基礎之上的

​ 當浏覽器需要從伺服器擷取網頁資料的時候,會發出一次Http請求。HTTP會通過TCP建立起一個到伺服器的連接配接通道,當本次請求需要的資料完畢後,HTTP會立即将TCP連接配接斷開,這個過程是很短的,是以HTTP連接配接是一種短連接配接,是一種無狀态的連接配接。

​ 所謂的無狀态,是指浏覽器每次向伺服器發起請求的時候,不是通過一個連接配接,而是每次都建立一個新的連接配接。如果是一個連接配接的話,伺服器程序中就能保持住這個連接配接并且在記憶體中記住一些資訊狀态。而每次請求結束後,連接配接就關閉,相關的内容就釋放了,是以記不住任何狀态,稱為無狀态連接配接。而我們直接通過Socket程式設計使用TCP協定的時候,因為我們自己可以通過代碼區控制什麼時候打開連接配接什麼時候關閉連接配接,隻要我們不通過代碼把連接配接關閉,這個連接配接就會在用戶端和服務端的程序中一直存在,相關狀态資料會一直儲存着。

繼續閱讀