websocket 建连过程:
1. 浏览器、服务器建立TCP连接,三次握手。这是通信的基础,传输控制层,若失败后续都不执行。
2. TCP连接成功后,浏览器通过HTTP协议向服务器传送WebSocket支持的版本号等信息。(开始前的HTTP握手)
3. 服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据。
4. 当收到了连接成功的消息后,通过TCP通道进行传输通信。
WebSocket与HTTP
相同点
1. 都是一样基于TCP的,都是可靠性传输协议。
2. 都是应用层协议。
不同点
1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。
2. WebSocket是需要按照采用http协议再次握手进行建立连接的。
websocket 与 socket
websocket目的是能为了让web服务的端口可以用作socket通信而搞的一种新协议。因为web服务基于http,所以它转变成socket之前需要在http层进行协商。这样自然要求websockt的服务器客户端必须拥有http协议栈能力。