温馨提示:阅读此文章前先了解网络七层模型。
TCP
面向连接的传输控制协议。三次握手成功连接后,客户端和服务器可以互相发送、接受消息。长连接。属于传输层协议。
- 优点
安全、传输数据无大小限制、准确可靠(确认机制,避免丢包)、先发先至。
- 缺点
效率低、连接耗时、不能做离线任务。
UDP
面向非连接的用户数据报协议。不需要建立连接,直接发送数据。
- 优点
可传输大文件,速度快,效率高。
- 缺点
不安全、容易丢包。
HTTP
基于TCP协议的超文本传输协议。请求时需要建立TCP连接,请求结束断开连接。永远都是客户端发起请求,服务端响应请求。
- 优点
应用级接口适用方便
- 缺点
1、传输慢,数据包大。2、传输安全性差。3、实时交互易堵塞,服务器压力大。4、无状态。5、无法主动响应。
Socket
对 TCP/IP 协议的封装,类似接口,本身不是协议。可看做应用层和传输层和应用层中间存在一层 Socket抽象层,而这一层存在的作用,便于应用层协议通过socket
接口从而调用tcp
udp
等传输层协议,从而达到网络通信。
WebSocket
基于 TCP 的协议,看做 HTTP 的优化。实现了服务器对客户端的主动通知。
- 优点
节约带宽、无浪费、实时性。
好文章要分享: