HTTP和Websocket的异同

HTTP和WebSocket是两种不同的协议。WebSocket在建立握手时,数据是通过HTTP传输的,但是建立之后传输数据通信是不需要HTTP协议的。

  • 相同点
  1. 都是一样基于TCP连接,都是可靠性传输协议。

  2. 都是应用层协议。

  • 不同点
  1. HTTP是单向的,客户端发送请求,服务器发送响应,请求以HTTP或HTTPS的形式发送。WebSocket是双向的,在客户端-服务器通信的场景中使用的全双工协议,与HTTP不同,它以ws://或wss://开头。

  2. HTTP协议是无状态的,每个HTTP或HTTPS请求每次都会新建与服务器的连接,并且在获得响应后,连接将自行终止。Websocket是一个有状态协议,这意味着客户端和服务器之间的连接将保持活动状态,直到被任何一方(客户端或服务器)终止。在通过客户端和服务器中的任何一方关闭连接之后,连接将从两端终止。

  3. HTTP协议传输的数据通常是文本或二进制数据。WebSocket可以传输任意格式的数据,包括文本、二进制、JSON等。

  • 应用

HTTP协议常用于一次性、不会高频更新的数据传输。

Websocket协议常用于高频更新的数据传输。

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