什么是HTTP???
- 超文本传输协议(HTTP)是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信,但它也可以用于其他目的。
- HTTP遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待它收到服务器端响应。
- HTTP是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态)。虽然通常基于TCP / IP层,但可以在任何可靠的传输层上使用; 也就是说,一个不会静默丢失消息的协议,如UDP。
缤纷世界,文字记录你的生活……
可靠,稳定
快快快
1.TCP基于连接UDP无连接;
2.TCP对系统资源需求较多,UDP相反;
3.TCP程序结构较为复杂,UDP则相对简单;
4.TCP采用流,UDP采用数据报 ;
5.TCP保证数据按序、正确、完整、不重复,UDP仅是尽最大努力交付,可能丢包;
6.TCP信道是全双工的可靠信道,UDP是不可靠信道;
7.TCP是点到点的,UDP是一对多、多对多、一对一、多对一可交互。
RUDP(RELIABLE UDP)是基于UDP之上而实现的可靠性UDP传输,在应用层中实现安全控制机制,主要采用请求回应机制,实现了UDP的可靠传输,即接收方检查是否丢失数据,然后向发送方请求丢失的数据,因此发送方必须保留已经发送过的数据一定时间来回应数据丢失。为了减小发送方数据保留量,在每收到n个包时通知发送方n之前的包已经收到可以清除了,另外超过设定的包超时时间后也会清除。
打个比方,我是发送方,现在有1、2、3、4、5发送给接收端,然后接收方接收到了1、2、4、5,告诉我1OK、2OK、3不OK,3在传输中丢掉了,然后接收方就喊我,喂,你他娘的在3没了,我听到了接收端的呼喊,然后我就又发送了一次3,然后接收端又捋了一遍一看12345都全了,数据接收完毕。
在这个过程中接收端每响应一个OK我就会删除掉对应的数据,或者发送后接收端超过保留时间我也会删除掉超时的数据。
在要求实时传输性中RUDP更像是一个性价比以及平衡性高的产品。
TCP属于是通过增大延迟和传输成本来保证质量的通信方式,UDP是通过牺牲质量来保证时延和成本的通信方式,所以在一些特定场景下RUDP更容易找到这样的平衡点,兼顾全局