在HTTP1.0版本,存在一個問題:創建的一次鏈接,只有包含一個請求響應(也就是對應一個資源)。瀏覽器
若是有多個請求,那麼效率就會很低。markdown
在HTTP 1.1 中 connection: keep-alive 是默認開啓的svn
一次鏈接,能夠有多個請求響應(對應多個資源)。flex
下一次的請求不須要等待上一個響應來以後再發送。url
但響應的順序是不變的,FIFO(先進先出)spa
依舊存在的問題:3d
因爲 HTTP 1.X 是基於文本的,由於是文本,就致使了它必須是個總體,在傳輸是不可切割的,只能總體去傳。code
但 HTTP 2.0 是基於二進制流的。有兩個很是重要的概念,分別是幀(frame)和流(stream)orm
將 HTTP 消息分解爲獨立的幀,交錯發送,而後在另外一端從新組裝。ip
簡單的來講: 在同一個TCP鏈接中,同一時刻能夠發送多個請求和響應,且不用按照順序一一對應。
以前是同一個鏈接只能用一次, 若是開啓了keep-alive,雖然能夠用屢次,可是同一時刻只能有一個HTTP請求。