应用层协议——WebSocket学习

WebSocket是一种在客户端和服务器之间实现双向通信的协议,不同于HTTP的单向请求-响应模式。它通过HTTP握手协议升级连接,之后利用TCP建立持久化的全双工通道。WebSocket连接过程包括客户端发起HTTP请求,服务器回应并建立TCP通道,之后双方即可自由交换数据。此技术简化了实时通信的复杂性,常用于在线聊天、游戏和实时数据更新等场景。
摘要由CSDN通过智能技术生成

学习查阅资料记录:

1、websocket和http的区别:

  • WebSocket是双向通信协议,模拟Socket协议,可以双向发送或接受信息,而HTTP是单向的;
  • WebSocket是需要浏览器和服务器握手进行建立连接的,而http是浏览器发起向服务器的连接。

2、协议规范定义了ws://以及wss://模式来分别表示WebSocket和安全WebSocket连接,这就跟http:// 以及https:// 的区别是差不多的。

3、一个WebSocket连接是在客户端与服务器之间HTTP协议初始握手阶段将其升级到Web Socket协议来建立的,其底层仍是TCP/IP连接,

即:在WebSocket中,只需要服务器和浏览器通过HTTP协议进行一个握手的动作,然后单独建立一条TCP的通信通道进行数据的传送。

4、Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口。

5、在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。”当两台主机通信时,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接。TCP连接则更依靠于底层的IP协议,IP协议的连接则依赖于链路层等更低层次。

6、Socket是传输控制层接口,WebSocket是应用层协议

7、在WebSocket中,只需要服务器和浏览器通过HTTP协议进行一个握手的动作,然后单独建立一条TCP通信通道进行数据的传送

8、WebSocket连接的过程是:

  • 首先,客户端发起http请求,经过3次握手后,建立起TCP连接;http请求里存放WebSocket支持的版本号等信息,如:Upgrade、Connection、WebSocket-Version等;
  • 然后,服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据;
  • 最后,客户端收到连接成功的消息后,开始借助于TCP传输信道进行全双工通信。

参考&&致谢:

1、websocket和http的区别 —— https://www.php.cn/faq/465597.html

2、HTML5 WebSocket —— https://www.runoob.com/html/html5-websocket.html

3、WebSocket —— https://developer.mozilla.org/zh-CN/docs/Web/API/WebSocket

4、 https://blog.csdn.net/wwd0501/article/details/54582912?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.control

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xw-何妨吟啸且徐行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值