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

TCP、UDP、HTTP、Socket的区别

2016-08-21 22:07 232 查看
关于网络通信我们不得不提一下OSI模型,它有7层结构,从上往下依次为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。



TCP/IP协议是因特网整个TCP/IP协议族,简化了OSI模型,分成了四层:应用层、传输层、网络层、网络接口层。

网路层:IP协议

传输层:TCP、UDP协议

应用层:Http、Https。

TCP: 是一种面向连接的、可靠的、基于字节流的传输层通信协议。为了保证可靠性在建立连接时采用三次握手的方式,而断开连接需要四次握手。

三次握手:主动端先发送SYN报文,被动放回应SYN+ACK报文,然后主动端再回应ACK。



连接模式图



断开连接图

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 udp tcp 网络 应用