WebSocket 介绍
今天想给大家介绍一下WebSocket技术,在说他之前就不得不先说一下我们当前的HTTP协议,WebSocket和我们现在的HTTP几乎是没有关系的,但是他们两个还是有一部分交集的
WebSocket是在HTML5下的一种新的协议,但是他和http一样都是基于tcp/ip的。所以他就有了一写http 协议的特性,这两个都是应用层的协议,并且因为他们都是基于TCP的所以他们都是可靠的协议,调用WebSocket的send函数在实现的时候和http一样最终都是通过了tcp的系统接口进行传输的。他们两个都是处于应用层的协议,但是为什么上图里边两个协议会存在一定的交集呢?是因为websocket在建立握手联机的时候,数据是通过http协议进行传输的,但是在建立链接之后,真正的数据传输阶段是不需要http协议参与的。
出现一个新的被大家所接受的协议是肯定和之前的协议相比是能解决一部分问题,存在他的优点的。大家都知道http的链接并不是一个持久化的,在http1.0的时候当发起一个http请求之后,服务端返回一个响应,那么这个请求就结束了,在1.1的时候默认了一个keep-alive 长链接的东西,也就是说在一个http链接中,可以发送多个请求接受多个响应,但是这里要注意的是在http里边一个响应是对应一个请求的,并且一个请求只能有一个响应,并且这个响应是被动的,也就是说虽然是长链接,但是必须在我的客户端发起请求你才能给我返回响应(听说在2.0的时候会有推送的功能,具体还不清楚