HTTP規范的編輯們已經發布了2.0版本的首個草案,它直接復制于SPDY,并將作為后續改進的基礎。很多修改還有待完成,例如添加新特性、移除現有特性以及修改線上文檔等。供測試實現使用的草案預計明年年初發布。
HTTP 2.0由IETF的Hypertext Transfer Protocol Bis(httpbis)工作組開發,這將成為1999年1.1版本(RFC 2616)發布以來的首個新版本。
HTTP 2.0的目標包括:
- 異步連接多路復用
- 頭部壓縮
- 請求/響應管線化
保持與HTTP 1.1語義的向后兼容性也是該版本的一個關鍵目標。
SPDY是一種HTTP兼容協議,由Google發起,目前Chrome、Opera、Firefox以及Amazon Silk等瀏覽器均已提供支持。
HTTP實現的瓶頸之一是其并發要依賴于多重連接。HTTP管線化技術可以緩解這個問題,但也只能做到部分多路復用。此外,已經證實,由于存在中間干擾,現有的瀏覽器無法采用管線化技術。
SPDY在單個連接之上增加了一個幀層,用以多路復用多個并發流。幀層針對HTTP類的請求響應流進行了優化,因此現在運行在HTTP之上的應用,對應用開發者而言只要很小的修改甚至無需修改就可以運行在SPDY之上。
SPDY對當前的HTTP協議有4個改進:
- 多路復用請求
- 對請求劃分優先級
- 壓縮HTTP頭
- 服務器推送流(即Server Push技術)
SPDY試圖保留HTTP的現有語義,所以cookies、ETags等特性都是可用的。
SPDY中的很多架構方法(如多路復用),W3C HTTP-NG工作組曾經進行過早期的探索,但該工作組已于1998年暫停。改進HTTP這一問題已經討論了多年,不久前還成了InfoQ的愚人節玩笑。