TCP-Socket-HTTP的关系
1、TCP连接
手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。
建立起一个TCP连接需要经过“三次握手”
释放一个TCP连接需要经过“四次握手”
2.HTTP连接
HTTP 协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,
HTTP协议是建立在TCP协议之上的一种应用。
由于HTTP在每次请求结束后都会主动释放连接, 因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。
HTTP 是应用层协议,TCP 是传输层协议(位于应用层之下)。
3.socket
TCP/IP协议族包括运输层,网络层,链路层.现在你知道TCP/IP与UDP的关系了吧.
Socket在哪里呢?
在上图中,我们没有看到Socket的影子,那么它到底在哪里呢?还是用图来说话/一目了然。
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,
它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议.
4.总结
socket是一组连接http协议(应用层)和tpc/ip协议(传输层)的接口
有人这样比喻
HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。