http2 和 http1.1 keep-alive 有什么区别?

昨天面试官问的一道题。google出的答案并不能满意。求大神解答一下。

阅读 8.6k
1 个回答

我猜问的是 keep-alive 和 http2 的 tcp 复用之间的区别。

clipboard.png
图片来自 https://cascadingmedia.com/insites/2015/03/http-2.html

keep-alive :

  1. 请求 a.html
  2. 响应 a.html
  3. 请求 b.css
  4. 响应 b.css

必须等到服务端响应了前一次请求,才能发起第二次请求 -> 阻塞。 按顺序发送请求,按顺序接收请求,这样接收端才不会乱掉。

而 http2 的多路复用可以同时发送多个请求,不一定要按照顺序,也不用等上一个请求响应。这些请求都有唯一标识,所以可以无序。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏