跳至主要內容
为什么用WebSocket协议而不是HTTP

为什么用WebSocket协议而不是HTTP

业务需求

业务背景是一个类似于B站的视频弹幕系统,现在需要实现一个用户发送弹幕和获取弹幕(推送弹幕)功能。

场景是这样的,用户进入我们的系统,在视频列表点进自己感兴趣的视频,然后看到了视频上方的弹幕,自己也可以发送一条弹幕,这条弹幕也会推送到所有在线看到视频的用户。

为什么不用HTTP协议

如果我们采用传统的HTTP协议,效果如何?

HTTP协议是短连接,并且是单向的,也就是说,客户端需要不停地轮询服务端:"你那有没有资源?",如果有,会进行一个拉取资源的操作,而服务端并不会主动向客户端推送资源。


Echo Hou...大约 2 分钟计算机网络WebSocket项目原创
TCP/IP四层模型

TCP/IP四层模型

TCP/IP四层模型是计算机网络实际应用的模型。
从上到下分别是应用层、传输层、网络层、网络接口层。

应用层

应用层是用户直接接触到的最上层,比如手机上的软件都是在应用层实现的。

应用层只需要专注为用户提供服务,比如HTTP超文本传输协议、SMTP简单邮件传输协议、FTP文件传输协议、DNS域名解析服务、Telnet远程登陆协议等。

以HTTP协议举例

这些协议在应用层专注为用户提供协议,比如我们打开一个网页,就是HTTP的GET请求,通常会在浏览器的搜索框携带一些参数,HTTP本身是不会对url的长度进行限制,但是浏览器的本身会进行限制,并且GET请求的参数只允许有ASCII码。我们看到的网页,比如HTML就是一个常见的超文本,标签里包含了一些超链接、视频、图片,经浏览器解析后,我们看见的页面就是既包含文本,又包含视频等。


Echo Hou...大约 3 分钟计算机网络分层模型