websocket与TCP,HTTP的关系
WebSocket与http协议一样都是基于TCP的,所以他们都是可靠的协议,Web开发者调用的WebSocket的send函数在browser 的实现中最终都是通过TCP的系统接口进行传输的。WebSocket和Http协议一样都属于应用层的协议,那么他们之间有没有什么关系呢?答案是肯定 的,WebSocket在建立握手连接时,数据是通过http协议传输的,正如我们上一节所看到的“GET/chat HTTP/1.1”,这里面用到的只是http协议一些简单的字段。但是在建立连接之后,真正的数据传输阶段是不需要http协议参与的。
Note:
WebSocket 是基于 HTTP 1.1 的一个功能,它本身是依赖 HTTP 的(使用 101 状态码来切换协议)。
在OSI模型中,TCP是第四层传输层的协议,HTTP是第七层应用层的协议。
具体关系可以参考下图:
参考