美文网首页来到JavaEE
webSocket, http,socket的区别

webSocket, http,socket的区别

作者: 拉布拉熊 | 来源:发表于2018-05-22 15:10 被阅读92次

    1.什么是web socket?

    WebSocket是基于TCP协议实现的HTML5中的协议,支持页面使用Web Socket协议与远程主机进行全双工的通信,和HTTP协议是并存的两种协议。

    在WebSocket中,只需要服务器和浏览器通过HTTP协议进行一个握手的动作,然后单独建立一条TCP的通信通道进行数据的传送。 

    WebSocket连接的过程是:

    首先,客户端发起http请求,经过3次握手后,建立起TCP连接;http请求里存放WebSocket支持的版本号等信息,如:Upgrade、Connection、WebSocket-Version等;

    然后,服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据;

    最后,客户端收到连接成功的消息后,开始借助于TCP传输信道进行全双工通信。

    2.WebSocket与Socket的关系

    当两台主机通信时,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖于链路层等更低层次。

    WebSocket就像HTTP一样,则是一个典型的应用层协议。 

    Socket是传输控制层接口,WebSocket是应用层协议。

    3.WebSocket与HTTP的关系 

    (1)相同点:

    1. 都是一样基于TCP的,都是可靠性传输协议。

    2. 都是应用层协议。

    (2)不同点:

    1. WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息。HTTP是单向的。

    2. WebSocket是需要浏览器和服务器握手进行建立连接的。而http是浏览器发起向服务器的连接,服务器预先并不知道这个连接。

    (3)联系

    WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。

    参考链接:https://blog.csdn.net/SL_ideas/article/details/73648378

    相关文章

      网友评论

        本文标题:webSocket, http,socket的区别

        本文链接:https://www.haomeiwen.com/subject/fhbhjftx.html