① http是什麼協議
HTTP全稱是HyperText Transfer Protocal,即超文本傳輸協議,從1990年開始就在WWW上廣泛應用,是現今在WWW上應用最多的協議,HTTP是應用層協議,當你上網瀏覽網頁的時候,瀏覽器和web伺服器之間就會通過HTTP在Internet上進行數據的發送和接收。HTTP是一個基於請求/響應模式的、無狀態的協議。即我們通常所說的Request/Response。
HTTP特點:
支持客戶端/伺服器模式
簡單快速:客戶向伺服器請求服務時,只需傳送請求方法和路徑。由於HTTP協議簡單,使得HTTP伺服器的程序規模小,因而通信速度很快
靈活:HTTP允許傳輸任意類型的數據對象,正在傳輸的類型由Content-Type加以標記
無連接:無連接的含義是限制每次鏈接只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開鏈接,採用這種方式可以節省時間
無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的信息,則它必須重傳,這樣可能會導致每次連接傳送的數據量增大。另一方面,在伺服器不需要先前信息時它的應答就比較快
② http協議是基於tcp還是udp
http是一個簡單的請求-響應協議,它通常運行在TCP之上。
TCP旨在適應支持多網路應用的分層協議層次結構, 連接到不同但互連的計算機通信網路的主計算機中的成對進程之間依靠TCP提供可靠的通信服務。
互聯網路與單個網路有很大的不同,因為互聯網路的不同部分可能有截然不同的拓撲結構、帶寬、延遲、數據包大小和其他參數。TCP的設計目標是能夠動態地適應互聯網路的這些特性,而且具備面對各種故障時的健壯性。
(2)http在網路層用了什麼協議擴展閱讀
TCP是網際網路中的傳輸層協議,使用三次握手協議建立連接。當主動方發出SYN連接請求後,等待對方回答SYN+ACK,並最終對對方的 SYN 執行 ACK 確認。這種建立連接的方法可以防止產生錯誤的連接,TCP使用的流量控制協議是可變大小的滑動窗口協議。
TCP三次握手的過程如下:
1、客戶端發送SYN(SEQ=x)報文給伺服器端,進入SYN_SEND狀態。
2、伺服器端收到SYN報文,回應一個SYN (SEQ=y)ACK(ACK=x+1)報文,進入SYN_RECV狀態。
3、客戶端收到伺服器端的SYN報文,回應一個ACK(ACK=y+1)報文,進入Established狀態。
三次握手完成,TCP客戶端和伺服器端成功地建立連接,可以開始傳輸數據了。