对Socket通信、TCP/IP和Http的理解

来源:互联网 发布:node sass 环境变量 编辑:程序博客网 时间:2024/05/21 17:09

网络重下往上可分为,物理层丶数据链路层丶网络层丶传输层丶会话层丶变现层和应用层。

IP协议对应于网络层,TCP协议对应于传输层,Hrttp协议对应于应用层。他们之间的关系,传输层TCP协议是基于网络层的IP协议,而应用层的HTTP协议是基于TCP协议的,Socket本身就不是一个协议,他只是一个接口。

http是基于tcp的超文本传输协议,

http与socket之间的区别

TCP/IP是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。

Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,才能使用TCP/IP协议。

http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响应后连接即会断掉

socket连接:socket连接就是所谓的长连接,理论上客户端和服务器端一旦建立起连接将不会主动断掉..但是由于各种环境因素可能会是连接断开,比如说:服务器端或客户端主机down了,网络故障,或者两者之间长时间没有数据传输,网络防火墙可能会断开该连接以释放网络资源。