WebSocket 接口測試淺談
什麼是 WebSocket
WebSocket 是一種基於在單個 TCP 連接上進行全雙工通信的協議,解決了 HTTP 協議不適用於實時通信的缺點,相較於 HTTP 協議,WebSocket 協議實現了持久化網絡通信,可以實現客戶端和服務端的長連接,能夠進行雙向實時通信,協議名爲 "ws"。
WebSocket 使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據。在 WebSocket API 中,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,並進行雙向數據傳輸。
在 WebSocket API 中,瀏覽器和服務器只需要做一個握手的動作,然後,瀏覽器和服務器之間就形成了一條快速通道。兩者之間就直接可以數據互相傳送。
HTTP 與 WebSocket
WebSocket 的特點
-
建立在 TCP 協議之上,服務器端的實現比較容易。
-
與 HTTP 協議有着良好的兼容性。默認端口也是 80 和 443,並且握手階段採用 HTTP 協議,因此握手時不容易屏蔽,能通過各種 HTTP 代理服務器。
-
數據格式比較輕量,性能開銷小,通信高效。
-
可以發送文本,也可以發送二進制數據。
-
沒有同源限制,客戶端可以與任意服務器通信。
-
協議標識符是 ws(如果加密,則爲 wss),服務器網址就是 URL。
ws://example.com:80/some/path
Socket 是什麼?
網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱爲一個 Socket(套接字),因此建立網絡通信連接至少要一對端口號。
Socket 本質: 是對 TCP/IP 協議棧的封裝,它提供了一個針對 TCP 或者 UDP 編程的接口,並不是另一種協議。通過 Socket,你可以使用 TCP/IP 協議。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/gh4wcsQpu7gl-SJlsGVUcg