http/https、TCP/IP、UDP的选择

TCP是简单直接的长连接,可靠的信息传输,数据包的大小没有限制。要实现一个稳定的TCP网络连接,需要处理断线检测、慢速客户端响应阻塞数据包,对开放连接的各种dos攻击,阻塞和非阻塞IO模型等等。最糟糕的特性是它对阻塞的控制,TCP假定丢包是网络带宽不够造成的,这种情况时TCP就会减少发包速度。

可靠的UDP也是有延迟的,但是由于它是在UDP的基础之上建立的通信协议,所以可以通过多种方式来减少延迟,不像TCP,所有的东西都要依赖于TCP协议本身而无法被更改。

我们到底是使用TCP还是UDP取决于我们能否隐藏延迟,对延迟有敏感要求且TCP没有相应解决方案的时候就选择UDP吧。

选择标准:

由客户端间歇性的发起无状态的查询且偶尔发生延迟可以容忍,那么使用HTTP/HTTPS。

客户端和服务器都可以独立发包,偶尔延迟可以容忍,使用TCP长连接。

客户端和服务器都可以独立发包,无法忍受延迟,使用UDP。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容