TCP、UDP、HTTP、Socket的区别

关于网络通信我们不得不提一下OSI模型,它有7层结构,从上往下依次为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
通信模型
TCP/IP协议是因特网整个TCP/IP协议族,简化了OSI模型,分成了四层:应用层、传输层、网络层、网络接口层。
网路层:IP协议
传输层:TCP、UDP协议
应用层:Http、Https。

TCP: 是一种面向连接的、可靠的、基于字节流的传输层通信协议。为了保证可靠性在建立连接时采用三次握手的方式,而断开连接需要四次握手。
三次握手:主动端先发送SYN报文,被动放回应SYN+ACK报文,然后主动端再回应ACK。

TCP连接
连接模式图

TCP断开连接
断开连接图

UDP:一种无连接的传输层协议。

HTTP:超文本传输协议,是基于请求/响应式的。
①一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 ②服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接,使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。但为了获得适当的传输速度,在HTTP/1.1中 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。因此减少重复进行TCP三次握手的开销,提高效率。

Socket:应用层与TCP/IP层通信的中间软件抽象层,是一组接口。 只是一种连接模式,他可以建立TCP连接,也可以建立UDP连接。在设计模式中,Socket相当于外观模式,复杂的TCP/IP通信被隐藏在Socket后面,使用Socket去组织数据。
Socket在通信模型中占的位置

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值