TCP、UDP 和 HTTP 的区别
2023-12-26 11:15:39
TCP/IP
协议栈主要分为四层
:
应?层、传输层、?络层、数据链路层
,
每层都有相应的协
议
-
IP :?络层协议;(类似于?速公路)
-
TCP 和 UDP :传输层协议;(类似于卡?)
-
HTTP:应?层协议;(类似于货物)。HTTP(超?本传输协议)是利? TCP 在两台电脑 ( 通常是 Web 服务器和客户端 ) 之间传输信息的协议。客户端使? Web 浏览器发起 HTTP 请求给 Web 服务器, Web 服务器发送被请求的信息给客户端。其实重要的在 TCP 和 UDP,那它们有什么区别呢?TCP (传输控制协议, Transmission Control Protocol ): ( 类似打电话 )?向连接、传输可靠(保证数据正确性)、有序(保证数据顺序)、传输?量数据(流模式)、速度慢、对系统资源的要求多,程序结构较复杂,每?条 TCP 连接只能是点到点的, TCP ?部开销 20 字节。UDP( ?户数据报协议, User Data Protocol) :(类似发短信)?向?连接 、传输不可靠(可能丢包)、?序、传输少量数据(数据报模式)、速度快,对系统资源的要求少,程序结构较简单 , UDP ?持?对?,?对多,多对?和多对多的交互通信, UDP 的?部开销?,只有 8 个字节。TCP 建?连接需要三次握?:
-
第?次握?:客户端发送 syn 包 (seq=x) 到服务器,并进? SYN_SEND 状态,等待服务器确认;
-
第?次握?:服务器收到 syn 包,必须确认客户的 SYN ( ack=x+1 ),同时??也发送?个 SYN 包( seq=y ),即 SYN+ACK 包,此时服务器进? SYN_RECV 状态;
-
第三次握?:客户端收到服务器的 SYN + ACK 包,向服务器发送确认包ACK(ack=y+1) ,此包发送完毕,客户端和服务器进? ESTABLISHED 状态,完成三次握?
握?过程中传送的包?不包含数据,三次握?完毕后,客户端与服务器才正式开始传送数据。理想状态下, TCP 连接?旦建?,在通信双?中的任何??主动关闭连接之前,TCP 连接都将被?直保持下去。结论:HTTP 协议是建?在请求 / 响应模型上的。?先由客户建??条与服务器的 TCP 链接,并发送?个请求到服务器,请求中包含请求?法、 URI 、协议版本以及相关的 MIME 样式的消息。服务器响应?个状态?,包含消息的协议版本、?个成功和失败码以及相关的MIME 式样的消息虽然 HTTP 本?是?个协议,但其最终还是基于 TCP 的 -
文章来源:https://blog.csdn.net/qq_32054169/article/details/135214852
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!