為什么有HTTP還要有websocket

http協議下,服務器不會主動向客戶端發(fā)起請求,只會響應。
在這種狀態(tài)下,如果要網頁主動刷新反饋,如頁游這種,會一直更新數據的情況,一種常見方案是定時向服務器發(fā)請求來刷新,用戶層面沒感知,但其實一直發(fā)請求實際是由帶寬占用的;
方案二,長輪詢,客戶端發(fā)起請求后超時時間設置的比較長(如1min),就發(fā)送一次請求后若服務器端不是立刻有新內容推送過來還能響應。
http本質還是一個半雙工協議,因此像游戲這種需要大量主動發(fā)送數據的場景還是不適用,而websocket協議就比較解決這個問題。
?
06:35
?opcde:用定義幀的數據類型
paload長度:定義該數據幀的長度,選用最開始7為做標志位,若是0-125則只看這7位(2^7=128),而126則使用擴展payload長度,到128剛好可以擴展三次,每個擴展長度16位。使用擴展位是,擴展位存放實際長度,126 7 8僅作標記用。
payload數據:實際要傳輸的數據
?
09:06
?websocket只在建立連接的時候借用了http,然后就與http沒有關系了
標簽: