当前位置:   article > 正文

websocket 设计_websocket接口设计

websocket接口设计

之前没有做web开发,认为web上进行数据传输只依赖http. 后来同事用到websocket, 才知道web上也能用socket. 那为什么出现了websocket?
大家都知道,http是无状态的。一个请求对应一个响应。请求必须由client端发起,如果server端主动向client发送数据怎么办呢?
1. client轮询向serve发送请求,比如每一秒就发送一次请求,查看server端是否有新数据。这样做的问题是什么?因为每发送一次请求,底层tcp需要进行三次握手,就会浪费带宽;同时,频繁的建立很多连接,对server端也会造成压力。针对http 1.0 的这种情况,http1.1进行了改进。有了长连接(persistent connection)的概念。
2. 建立长连接。http 1.1中已经支持长连接了,请参见rfc 2616. 长连接允许在一次连接建立成功后,传输多个数据。比如 在http1.0中需要建立两次或多次连接,http1.1可以将这些数据在一个connection中进行传输,这样就减少了每次都进行三次握手的开销。同时,因为connection是一直保持的,server也可以主动向client发送数据。但是数据一定要是按照http的标准的。http的标准是数据都要有一些header, 所以即使传输一个字节,也都得带着这些header,就会导致在传输过程中,浪费网络带宽。
因此,在这种情况下, websocket就诞生了。websocket主要解决了client和server进行双向通信的问题。那么它的设计时,是如何考虑的?
websocket是基于TCP的协议&#x

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/241806
推荐阅读
相关标签
  

闽ICP备14008679号