HTTP、TCP/IP协议、Socket、WebSocket协议之间的区别
2017-08-23 00:00
429 查看
TCP/IP协议分层
TCP/IP是传输层协议,主要解决数据如何在网络中传输;
HTTP是应用层协议,主要解决如何包装数据。
Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
WebSocket和HTTP一样是一种应用层协议,都是基于TCP传输的,WebSocket本身和Socket并没有多大关系,更不能等同。
http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;
socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。所以当一个socket连接中没有数据的传输,那么为了维持连接需要发送心跳消息~~具体心跳消息格式是开发者自己定义的。
TCP/IP是传输层协议,主要解决数据如何在网络中传输;
HTTP是应用层协议,主要解决如何包装数据。
Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
WebSocket和HTTP一样是一种应用层协议,都是基于TCP传输的,WebSocket本身和Socket并没有多大关系,更不能等同。
http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉;
socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉;但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。所以当一个socket连接中没有数据的传输,那么为了维持连接需要发送心跳消息~~具体心跳消息格式是开发者自己定义的。
相关文章推荐
- [Android进阶]之深入了解通信协议:http、TCP/IP协议与socket之间的区别
- Socket 网络通信协议 http、TCP/IP协议与socket之间的区别
- [Android进阶]之深入了解通信协议:http、TCP/IP协议与socket之间的区别
- Socket 网络通信协议 http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- Http、TCP/IP协议与Socket之间的区别
- Http、TCP/IP协议与Socket之间的区别
- http、TCP/IP协议与socket之间的区别
- Http、TCP/IP协议与Socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- HTTP、TCP/IP协议与Socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http、TCP/IP协议与socket之间的区别
- http 协议 与tcp/ip协议、Socket的区别