面试题系列:TCP UDP HTTP 的关系和区别

TCP UDP HTTP 三者的关系:

TCP/IP是个协议组,可分为四个层次:网络接口层、网络层、传输层和应用层。

在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。

在传输层中有TCP协议与UDP协议。

在应用层有HTTP、FTP、TELNET、SMTP、DNS等协议。

TCP 传送控制协议(Transmission Control Protocol):

TCP是传输层的一个协议,基于IP协议,用来传输类似HTTP的信息。如果把IP协议类比为一个“公路”的话,那TCP协议可以看成是在公路上行驶的“卡车”。TCP协议是面向连接的协议,通过三次握手机制,尽量保证连接的可靠性。

三次握手机制个人理解:

A要给B传数据,A就发一个请求,我要给你传东西了,这是第一次握手,

然后B就是回复一下A,说可以传了,来吧 这是第二次握手,

最后A把数据传给了B,这就是完成了三次握手。

比较安全,不过相对来说比较墨迹

UDP 用户数据报协议 (User Datagram Protocol) :

UDP也是传输层的一个协议。但是与TCP不同的是,UDP不是面向连接的,并不保证传输的可靠性,没有TCP的建立连接的三次握手机制,对于传输效率上面有了提升。

个人理解:

这个就比较简单粗暴了,A要给B传数据,然后就直接传了。

HTTP 超文本传输协议(HyperText Transfer Protocal):

HTTP是在应用层的一个协议,本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传输协议。
  HTTP协议基于请求\响应模型的,并且是基于TCP协议的。

HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。

个人理解:

应用层的协议,支持服务器和web浏览器进行交互,响应结束后请求对象和响应请求对象立刻被销毁。

HTTP请求 request

​   请求行 请求头 请求体

HTTP响应 response

响应行​ 响应头 ​ 响应体

面试题系列:TCP UDP HTTP 的关系和区别_第1张图片
喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
如果你对java技术很感兴趣也可以加入我的java学习群(374308445)来交流学习,里面都是同行,群验证【CSDN2】有资源共享。

你可能感兴趣的:(前端,面试)