HTTP 协议是应用层 基于tcp链接(三次握手、四次断开)的,简单的对象访问协议
TCP 协议 是对应传输层
IP 协议 是对应网络层
TCP/IP 是传输层协议,主要解决数据如何在网络中传输,http是应用层协议,主要解决如何包装数据
socket是对tcp/ip协议的封装,是一个调用接口
http连接接就是所谓的短链接,客户端发送一次请求,服务器端响应后就会断开连接
http只能从客户端单项的向服务器发送请求,服务器不能主动向客户端发送请求,并且每次发送完数据后就会断开连接,发送其他数据需要重新进行连接
websocket 可以从同时双向发送数据(即客户端可以向服务器发送数据,服务器也可以主动向客户端发送数据),可以建立持久化的连接,并且每次开启,只需要通过http建立一次连接,就可以不断传输数据
TCP三次握手:
第一次握手,客户端发送syn数据到服务器,进入syn_send状态,等待服务器确认
第二次握手,服务器端接收到syn包,并确认syn包,同时自己发送一个syn包,此时服务器进入,syn_receiv状态
第三次握手,客户端收到服务器发送的syn包,向服务器发送确认包,此包发送完毕,客户端和服务器进入establish(连接)状态,完成三次握手