Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 1.51 KB

HTTP1.0和HTTP1.1以及HTTP2.0的区别.md

File metadata and controls

25 lines (13 loc) · 1.51 KB

HTTP1.0、HTTP1.1 和 HTTP2.0 的区别

区别一 (多路复用)

在 http1.x 中,为了性能考虑,通常会引入雪碧图、将小图内联、使用多个域名等方式,这一切是因为浏览器限制了同一个域名下的请求数量,由于页面需要请求很多资源,对头阻塞会导致在达到最大的请求量时,剩余的请求资源得等到其他资源请求完成之后才能发起请求。

而在 http2.0 中,因为引入了多路复用,做到同一个连接并发处理多个请求,而且并发请求的数量比 HTTP1.1 大了好几个数量级。

区别二

http1.0 需要使用 keep-alive 参数告知服务器建立一个长连接,但是 http1.1 默认支持长连接

区别三 (二进制格式编码)

http1.x 都是通过文本的形式传输数据,在 http2.0 中引入了新的编码机制,所有的传输数据都会被分割,并采用二进制格式编码

区别四 (服务器 Push)

在 http2.0 中,服务端可以在客户某个请求后,主动推送其他资源。比如某些资源客户端一定是会请求的,这时候可以采用服务端的push技术,提前给客户端推送必要的资源,这样减少延迟时间。

区别五 (Header 压缩)

http1.x 中,以文本的形式传输 header,在 header 携带 cookie 情况下,可能每次都需要重复传输几百到几千的字节

在 http2.0 中,使用了 HPACK 压缩格式对传输的 header 进行编码,减少了 header 的大小。在网络中传输会更快。