ac域名网站,做ar网站,曲阜公司网站建设价格便宜,推广软文模板通讯形式 单工通讯-数据只能单向传送一方来发送数据#xff0c;另一方来接收数据 半双工通讯-数据能双向传送但不能同时双向传送 全双工通讯-数据能够同时双向传送和接受
注#xff1a;http的通讯方式是分版本
http1.0#xff1a;单工。因为是短连接#xff0c;客户端…通讯形式 单工通讯-数据只能单向传送一方来发送数据另一方来接收数据 半双工通讯-数据能双向传送但不能同时双向传送 全双工通讯-数据能够同时双向传送和接受
注http的通讯方式是分版本
http1.0单工。因为是短连接客户端发起请求之后服务端处理完请求并收到客户端的响应后即断开连接。
http1.1半双工。默认开启长连接keep-alive开启一个连接可发送多个请求。
http2.0全双工允许服务端主动向客户端发送数据。
长连接和短连接
短连接-凡是在一次完整的消息交互发请求-收响应之后立刻断开连接有一方发送FIN消息的情况都称为短连接
长连接-长连接的一个明显特征是会有心跳消息也有没有心跳的情况且一般心跳间隔都在30S或者1MIN左右用wireshark抓包可以看到有规律的心跳消息交互可能会存在毫秒级别的误差。 1.websocket协议长短连接
websocket是一个长连接-只需要建立一次连接就可以一直保持
2.http协议长短连接-分版本
HTTP/1.0 中默认使用的是短连接。也就是说浏览器和服务器每进行一次 HTTP 操作就建立一次连接任务结束就中断连接。
HTTP1.1 默认保持长连接HTTP persistent connection也翻译为持久连接用以保持连接特性。数据传输完成了保持 TCP 连接不断开不发 RST 包、不四次握手等待在同域名下继续用这个通道传输数据
3.tcp协议长短连接
tcp长连接-在TCP层握手成功后不立即断开连接并在此连接的基础上进行多次消息包括心跳交互直至连接的任意一方客户端OR服务端主动断开连接此过程称为一次完整的长连接。
tcp短连接-客户端收到服务端的响应后立刻发送FIN消息主动释放连接。也有服务端主动断连的情况凡是在一次消息交互发请求-收响应之后立刻断开连接的情况。
协议关系表-websocket与http都是基于tcp可靠性传输协议都是应用层协议 协议介绍-细节注意
1.websocket协议 WebSocket 是一种网络通信协议。RFC6455定义了它的通信标准。 WebSocket是HTML5下一种新的协议websocket协议本质上是一个基于tcp的协议 WebSocket在建立握手时数据是通过HTTP传输的。但是建立之后在真正传输时候是不需要HTTP协议的 websocket约定了一个通信的规范通过一个握手的机制客户端和服务器之间能建立一个类似tcp的连接从而方便它们之间的通信 在websocket出现之前web交互一般是基于http协议的短连接或者长连接 websocket是一种全新的协议不属于http无状态协议协议名为ws 说它是TCP传输主要体现在建立长连接后浏览器是可以给服务器发送数据服务器也可以给浏览器发送请求的。当然它的数据格式并不是自己定义的是在要传输的数据外层有ws协议规定的外层包的。
2.http协议 http是一种无状态无连接单向的应用层协议它采用了请求/响应模型通信请求只能由客户端发起服务端对请求做出应答处理。这样的弊端显然是很大的只要服务端状态连续变化客户端就必须实时响应都是通过javascript与ajax进行轮询这样显然是非常麻烦的同时轮询的效率低非常的浪费资源(http一直打开一直重复的连接)。、 而http是浏览器发起向服务器的连接服务器预先并不知道这个连接
3.tcp协议 TCP(传输控制协议)是一种面向连接的协议它提供了可靠的数据传输服务。TCP在传输数据之前会建立一条逻辑连接并在传输完成后断开连接。TCP还提供了数据流控制、拥塞控制和差错控制等功能。 TCP是全双工通信协议。这意味着在通信过程中双方都能同时发送和接收数据。 协议区别对比图
区别点tcphttpwebsocket长短连接长短连接分版本长连接模型层传输层应用层应用层通讯方式全双工通讯分版本全双工通讯 总结
经过这一趟流程下来相信你也对 Websocket协议-http协议-tcp协议区别和相同点 有了初步的深刻印象但在实际开发中我 们遇到的情况肯定是不一样的所以我们要理解它的原理万变不离其宗。加油打工人 什么不足的地方请大家指出谢谢 -- 風过无痕