了解HTTP和Socket之前先对网络7层协议有个了解:
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。
HTTP是基于应用层,socket是基于传输层(tcp/udp)
我们通常所用的socket协议是基于TCP协议
TCP是面向连接的协议,UDP是面向非连接的协议
TCP协议一般应用场景:能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据
UDP协议一般应用场景:适用于一次只传送少量数据、对可靠性要求不高的应用环境
TCP | UDP | |
是否连接 | 面向连接 | 面向非连接 |
传入可靠性 | 可靠地 | 不可靠的 |