您的位置:首页 > 理论基础 > 计算机网络

socket连接和HTTP连接的区别

2015-07-29 22:38 316 查看

 

简单说, 你浏览的网页(网址以HTTP:// 开头) 都是HTTP协议传输到你的浏览器的, 而HTTP是基于socket之上的, socket是一套完成TCP, UDP协议的接口.

HTTP协议: 简单对象访问协议, 对应于应用层, HTTP协议是基于TCP连接的.

TCP协议: 对应于传输层

IP协议: 对应于网络层

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

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

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

socket连接: socket连接就是所谓的长连接, 理论上客户端和服务器端一旦建立起连接将不会主动断掉, 但是由于各种环境因素可能会使连接断开, 比如说: 服务器端或者客户端主机down了, 网络故障, 或者两者之间长时间没有数据传输, 网络防火墙可能会断开该连接以释放网络资源, 所以当一个socket连接中没有数据传输, 那么为了维持连接需要发送心跳消息, 具体心跳消息是开发者自己定义的.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: