WebSocket
WebSocket(ws)也可以称之为一种协议,提供给我们基于TCP之上的,能够让服务器和客户端互相发送信息的这么一种协议。
why not http
最开始我其实没有搞清楚http和ws的区别,也没有搞懂tcp,但是我发现了一件事,http的请求都是单次的,随之伴随着一个回复。
全双工和半双工
ws是全双工的,所以它能够自由地让服务器和客户端沟通。
而http是半双工的,它很难说做到主动推送消息到客户端,只能根据客户端的请求进行返回。
再后来,我开始理解tcp,其实tcp已经可以做到保持连接,并且两方互相发送消息,那问题出在哪里了,就是应用层上。
所以如果想要客户端和服务器互发消息,ws是不二之选
简单介绍下ws
首先它是基于tcp的,有连接才有socket,才能够做到互发消息,udp是做不到这件事的。
其次它也是用上了http的,现在的浏览器会默认将请求看做是http请求,所以我们要使用ws的时候就要携带特殊的包头,而当发送过去的时候,会进行一次协议升级