WebSocket 是什么原理?为什么可以实现持久连接

2025-03-29 15:39:09
推荐回答(1个)
回答1:

先回顾一下socket编程,socket一旦双方建立连接,就可以持续通讯.
再回到websocket,websocket无非就是在socket的基础上加上了一部分数据头,用于双方协商协议升级还有证书验证等等.
但是socket通讯的本质是不会变的.socket本来就支持持久连接
作为对比可以看一下同样是在socket上的http通讯过程:客户端请求--服务器回复--双方关闭连接.每次客户端的请求都伴随着重连和断开..只能一来一回(注:这不是socket决定的,而是http协议决定的)
websocket协议就是为了克服这个缺点,做到双方随意互相通讯.这样实时性会得到提高,不过对服务器的要求就更高了.
http是即连即用即断,websocket则是连上一直用.当有大量的用户去访问的时候,这两种应用就有区别了.