Swoole的TCP/IP HTTP WebSocket关系
1.网络分层层级
2.ws的由来
我们知道HTTP是为了规范HTML页面的发布、接收而提出的。
为了规范HTML5,WebSocket协议提出了。
3.长轮训短轮询
短轮询的方式是:页面定时向服务器发送请求,看有没有更新的数据。 而长轮询的方式是,页面向服务器发起一个请求,服务器一直保持 TCP连接打开,知道有数据可发送。发送完 数据后,页面关闭该连接,随即又发起一个新的服务器请求,在这一过程中循环。 短轮询和长轮询的区别是:短轮询中服务器对请求立即响应,而长轮询中服务器等待新的数据到来才响应,因 此实现了服务器向页面推送实时,并减少了页面的请求次数。
4.HTTP与WS
相同点 1)都是一样基于 TCP 的,都是可靠性传输协议。 2)都是应用层协议。 不同点 1)WebSocket 是双向通信协议,模拟 Socket 协议,可以双向发送或接受信息。HTTP 是半双工的。 2)WebSocket 是需要握手进行建立连接的(需要借助HTTP)。
5.Socket和TCP/IP
Socket 是应用层与 TCP/IP 协议族通信的中间软件抽象层,它是一组接口,提供一套调用 TCP/IP 或UDP协议的 API。
在设计模式中,Socket 其实就是一个门面模式,它把复杂的 TCP/IP 协议族隐藏在 Socket 接口后面,对用户来说,一组简单的接口就是全部,让 Socket 去组织数据,以符合指定的协议。2
6.WebSocket 与 Socket 的关系
WebSocket是一个应用层的协议,而Socket是介于应用层和传输层的一个接口。