TCP(Transmission Control Protocol,传输控制协议)与UDP(User Data Protocol,用户数据协议)是互联网传输数据较为常用的协议,我们熟知的HTTP就是基于TCP的。
二者区别:
1. 连接类型:TCP是面向连接的协议,要传输数据必须先进行连接,就是常说的“三次握手”,握手成功建立连接之后才能进行数据的传输交互,如同微信视频聊天需要对方接受才能彼此看到。UDP是非面向连接的协议,发送数据时不管对方状态直接发送,无需建立连接,如同微信发送一个消息或者语音信息,对面在不在线无所谓。
2. 传输开销: 由于二者特性的差异,TCP在传输数据过程中,接收方接收数据包时也会向发送方反馈数据包,因为会造成额外通信开销。UDP接收方则不会进行反馈,因此不会有这方面的额外开销。
3. 速度:TCP相较于UDP较慢,这也主要是因为TCP有一个连接的过程而UDP没有。
常见基于TCP的应用:HTTP、WebSocker、重要数据文件传输等
常见基于UDP的应用:QQ等部分实时通信软件、视频/音频下载传输等。
TCP | UDP | |
是否连接 | 面向连接 | 非面向连接 |
传输可靠性 | 可靠 | 不可靠 |
应用场合 | 传输大量的数据,对可靠性要求较高的场合 | 传送少量数据、对可靠性要求不高的场景 |
速度 | 慢 | 快 |
表格来源与内容参考:https://www.cnblogs.com/gaopeng527/p/5255827.html