WebSocket 知識

WebSocket protocol 是HTML5一種新的協議。它實現了瀏覽器與服務器全雙工通信(full-duplex)。一開始的握手需要藉助HTTP請求完成。

優    點:服務器可以主動傳送數據給客戶端

功    能:實現了瀏覽器與服務器全雙工通信

在 WebSocket API,瀏覽器和服務器只需要做一個握手的動作,然後,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。在此WebSocket 協議中,爲我們實現即時服務帶來了兩大好處:
1. Header
互相溝通的Header是很小的-大概只有 2 Bytes
2. Server Push
服務器的推送,服務器不再被動的接收到瀏覽器的request之後才返回數據,而是在有新數據時就主動推送給瀏覽器。

在實現websocket連線過程中,需要通過瀏覽器發出websocket連線請求,然後服務器發出迴應,這個過程通常稱爲“握手” (handshaking)。
PS1:握手協議在後期的版本中,會標明版本編號,下面的例子屬於早期的協定之一,對於新版的 chrome 和 Firefox 皆不適用。
PS2:後期的版本大多屬於功能上的擴充,例如使用第7版的握手協議同樣也適用於第8版的握手協議。

例子:
瀏覽器請求
GET /webfin/websocket/ HTTP/1.1
  Host: localhost
  Upgrade: websocket
 Connection: Upgrade
  Sec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg==
  Origin: http://服務器地址
  Sec-WebSocket-Version: 13
服務器迴應
HTTP/1.1 101 Switching Protocols
  Upgrade: websocket
  Connection: Upgrade
  Sec-WebSocket-Accept: K7DJLdLooIwIG/MOpvWFB3y3FE8=




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章