说下HTTP/1.0,1.1,2.0的区别,TCP与UDP的区别,会么
2条回答 默认 最新
- 冰 焰 狼 2023-06-05 19:53关注
HTTP/1.0:默认使用短连接,每次请求都需要建立一个TCP连接。它可以设置Connection: keep-alive 这个字段,强制开启长连接。 HTTP/1.1:a.引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用。 b.分块传输编码,即服务端每产生一块数据,就发送一块,用”流模式”取代”缓存模式”。 c.管道机制,即在同一个TCP连接里面,客户端可以同时发送多个请求。 HTTP/2.0:a.二进制协议,1.1版本的头信息是文本(ASCII编码),数据体可以是文本或者二进制;2.0中,头信息和数据体都是二进制。 b.完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。 c.报头压缩,HTTP协议不带有状态,每次请求都必须附上所有信息。Http/2.0引入了头信息压缩机制,使用gzip或compress压缩后再发送。 d.服务端推送,允许服务器未经请求,主动向客户端发送资源。 —————————————————————————————————————— (1)首先,TCP和UDP是TCP/IP体系结构中的传输层中很主要的两个协议,UDP的全称是用户数据报协议,TCP的全称是传输控制协议 (2)区别有五个方面: ①有无连接: 使用UDP协议的通讯双方是随时可以进行数据传输的,无需建立连接,而TCP是面向连接服务的,在传输数据的时候需要三次握手进行连接。四次挥手释放连接 ②是否支持广播或多播 :UDP支持了广播、多播和单播的服务,而TCP只支持单播 ③报文是面向字节流或报文段: UDP是面向应用报文,UDP对应用层交下来的报文,既不会拆分,也不会合并。TCP是面向字节流的,应用程序与TCP交互是一次一个大小不等的数据块,发送方的TCP把应用进程交付下来的报文数据块,看成是无结构的字节流,它不 保证接收方收到的数据块和发送方发送的数据块具有对应大小关系。发送方TCP会将数据放入缓冲,等到可以发送的时候再发送, TCP会根据发送策略,发送给接受方 ④首部: UDP首部开销比较小,只有8字节,TCP最少首部为20字节,最大首部是60字节,主要因为他实现的功能比较多,实现可靠传输、拥塞控制、流量传输等等。 ⑤可靠性 :UDP向其上层提供无连接不可靠传输服务,数据可能会发生丢失,误码,但是传输效率高。所以主要适用于传输效率要求相对高,对准确性要求相对低和实时性要求高的场景,比如视频会议(因为我们可以接受图像稍微模糊一点,声音稍微不清晰一点)、网络语音电话、广播通信(广播、多播), TCP向其上层提供面向连接可靠传输服务,传送的数据无差错、不丢失、不重复、按序到达;主要适用于传输效率要求相对低,但对准确性要求相对高和要求可靠传输的应用,比如文件传输(当我们下载文件,希望得到的是完整的文件 ,而不仅仅是文件的一部分)、接受邮件、远程登录; (3)有序性: TCP传输数据有序,UDP不保证数据的有序性; (4)TCP有流量控制和拥塞控制,UDP没有; (5)TCP传输速度相对UDP较慢; (6)TCP不保存数据边界,UDP保留数据边界;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
- ¥15 setInterval 页面闪烁,怎么解决
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动
- ¥20 对于工程问题的非线性数学模型进行线性化
- ¥15 Mirare PLUS 进行密钥认证?(详解)
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
- ¥20 想用ollama做一个自己的AI数据库