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是发动机,提供了网络通信的能力。

猜你喜欢

转载自blog.csdn.net/jin870132/article/details/74357042