RainyJiang22 / One-Question-Daily

每日一道题目,包括但不限于计算机基础,java基础,web,前端,Android等, 欢迎大家进行维护
3 stars 0 forks source link

2021-3-31 Http1.0和Http1.1以及2.0的区别? #3

Open RainyJiang22 opened 3 years ago

RainyJiang22 commented 3 years ago

可以从几个方面看看 1.缓存处理 2.带宽优化以及网络连接的使用 3.错误通知的管理 4.Host头处理 5.长连接 6.关于SPDY

LeeJackWho commented 3 years ago

HTTP1.0与HTTP 1.1的主要区别 1、长连接 2、节约带宽 3、HOST域 HTTP1.1与HTTP 2.0的主要区别 1、多路复用 2、二进制分帧 3、首部压缩 4、服务器推送

RainyJiang22 commented 3 years ago

想来扩展一下吧,首先对于Http1.0和Http1.1的区别

  1. 对于缓存处理,在Http1.0中使用header里的Expires做缓存判断,但是Http1.1有了更多的缓存策略,Entity Tag,if-Match等
  2. 对于节约带宽嘛,举个例子,在Http1.0中客户端只需要对象的一部分,但是服务器那边却把整个对象传进来了,还不支持断电续传,http1.1就比较优雅了,加入了range头域,可以请求一部分,这样以来不就起到了节约的作用了嘛
  3. 对于Host头处理嘛,在1.0中通常都是认为一台服务器只能绑定一个ip地址,这时候我们请求的url并没有传递主机名,随着后面虚拟技术的发展,一台物理服务器就可以存在多个虚拟主机,它们都是共享一个ip地址。但是在Http1.1中它的请求消息和响应消息都应该支持Host头域,如果没有会报400(Bad Request)
  4. 值得一提的是,http1.1已经可以支持长连接了,弥补了1.0每次都要创建连接的缺点,且在一个tcp上可以传递多个http请求和响应
lucky-star-2020 commented 3 years ago

对这块不是很了解,记录一下之前学习看到的知识: 1、 HTTP1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,结束就中断。 HTTP1.1起,默认使用长连接,用以保持连接特性. 2、 HTTP2.0性能增强的核心:二进制分帧 HTTP2.0的优势: 单链接多资源的优势: 1.可以减少服务链接压力,内存占用少了,连接吞吐量大了。 2.由于TCP连接减少而使网络拥塞状况得以改观 3.慢启动时间减少,拥塞和丢包恢复速度更快

并行双向字节流的请求和响应 1.并行交错地发送请求,请求之间互不影响 2.并行交错地发送响应,响应之间互不干扰 3.只使用一个连接即可并行发送多个请求和响应 4.消除不必要的延迟,减少页面加载的时间