首页 > 其他分享 >http1.0、http1.1和http2.0的区别

http1.0、http1.1和http2.0的区别

时间:2022-12-23 23:56:42浏览次数:34  
标签:http1.0 http1.1 请求 服务器 客户端 连接 http2.0

今天面试被问到http1.0、1.1、2.0的区别,我是一点都不知道,只知道https和htpp的区别,没办法,只能学一下然后记录一下

http1.0

说到常用的http,我们知道浏览器与服务器只保存短暂的连接,每次请求都需要跟服务器建立一个TCP连接,服务器完成请求后立即断开连接,服务器不跟踪也不记录过去的请求。

http1.1

对于http1.0很明显有性能方面的问题,比如解析html文件的时候,发现有其他的资源文件的时候,就会重新去创建连接。这样子一个html文件包含多次请求和响应,每次请求都会创建连接和关闭连接。
http1.1中有长连接可以解决这个问题。http1.1支持在一个TCP连接上传送多个http请求和响应,减少了建立和关闭连接的消耗和延迟,建立一次连接,然后多次请求都可以从这个连接完成。
并且Http1.1还允许客户端不用等待上一次请求结果返回,然后就直接进行下一次请求,但是服务端需要根据接受到请求的顺序依次返回响应结果,以保证客户端能够区分出每次请求的响应内容,这样也能够减少花在请求上的时间。
在http1.0的基础上,增加了更多的请求头和响应头来完善功能:

  • 引入了更多的缓存控制策略
  • 引入range,允许值请求资源的一部分
  • 引入host,实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟站点 (更加安全)
  • 添加了其他的请求方法:put、delete、options

http2.0

http2.0与之前的版本比起来,性能有了很大的提升,添加了一些新特性:

  • 多路复用
  • 二分制分帧
  • 首部压缩
  • 服务器推送

多路复用

在一个连接中,客户端和浏览器都能同时发送多个请求或者响应,而且可以不用按照顺序一一对应,这样就避免了阻塞。

二分制分帧

帧是通信中最小的单位,http2.0采用二进制格式传输数据,而不是1.0的文本格式,解析起来更加高效

首部压缩

http2.0在客户端和服务器端都使用首部表来跟踪和存储之前发送的键值对,对于相同的数据,不再通过每次请求和响应发送。首部表在连接期间一直存在,由客户端和服务器端一起更新维护。比如两个请求,请求一发送了所有的头部字段,请求二只需要发送差异数据,这样减少冗余数据,节约开销。

服务器推送

http2.0允许服务器主动推送数据给客户端。比如在一个页面请求中,可以直接带上页面的需要的其他资源,避免客户端再次创建连接发送请求到服务器获取。这种方式非常适合静态资源

总结

  • http1.0是短暂的连接,响应结束连接就断开
  • http1.1是长连接,如果TCP连接默认不关闭,就可以一直请求数据
    虽然可以多次请求数据,但是服务器响应数据的顺序是依次的,只有处理了前一个请求才会去处理下一个请求。
    新增了put、delete、options方法,新增了一些响应头和请求头
  • http2.0采用二进制而不是文本格式,完全多路复用,不用在乎顺序问题,首部压缩、服务器推送

标签:http1.0,http1.1,请求,服务器,客户端,连接,http2.0
From: https://www.cnblogs.com/taosifan/p/17001847.html

相关文章

  • ajax的statusText在http1.1和http2中的不同
    问题在服务端支持协议从http1.1升级到http2的时候,项目中正常的请求流程出现了错误,经排查是ajax封装代码使用xmlHttpRequest的statusText属性判断是否正常返回,进而导致错误......
  • 案例体验HTTP2.0多路复用
    大家好,我是[小鑫同学]。一位长期从事前端开发的编程爱好者,我信奉编程最重要的是分享。请跟随小鑫同学的步伐,一起带你畅游不一样的前端世界~HTTP协议经历了20多年的演进在......
  • HTTP1、HTTP1.1、http2、http3的区别
    1.改进持久连接HTTP/1.0每进行一次HTTP通信,都需要经历建立TCP连接、传输HTTP数据和断开TCP连接三个阶段(如下图)。在当时,由于通信的文件比较小,而且每个页面的引用也不......
  • HTTP1.0/HTTP1.1/HTTP2.0区别
    转载链接:https://vue3js.cn/interview/http/1.0_1.1_2.0.html#%E4%B8%80%E3%80%81http1-0一、HTTP1.0HTTP协议的第二个版本,第一个在通讯中指定版本号的HTTP协议版......
  • http1.0、http1.1和http2.0的区别
    1、影响http传输的两个因素带宽和延迟(延迟包括:浏览器阻塞、DNS查询和建立连接)。2、HTTP1.0和HTTP1.1的区别1)长链接:HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上......