tcp连接和http连接的区别
http是基于tcp的,客户端往服务端发送一个http请求的第一部就是要建立和服务端的tcp连接,也就是三次握手
http基于tcp
tcp连接和socket连接的区别
socket是在tcp/udp传输层上做的接口层,也就是socket连接可以基于tcp也可以基于udp
基于tcp协议的socket连接,也需要三次握手,是可靠的
基于udp协议的socket连接不需要建立连接过程,直接发送过去,不可靠,即时通讯大都是后者
socket也基于tcp
http连接和socket连接的区别
http是短连接,socket(基于tcp协议的)是长连接
http连接服务端无法主动发消息,socket连接双方请求无先后限制
什么时候用http,什么时候用socket
http:双方不需要保持时刻在线,比如客户端获取信息,上传下载等
socket:大部分用于即时通讯,聊天室等
总结
实质上来说
- http是应用层协议,封装数据再使用tcp/ip协议进行传输
- socket是一个调用接口,通过socket来使用tcp/ip协议
建立连接的三次握手和解除连接的四次挥手

三次握手.png

四次挥手.png