## **bigpipe**
目前大部分模型都是,服務器把邏輯處理完之后,一次性把整個響應輸出。這里存在一個阻塞的過程,邏輯處理一般都涉及IO操作的都比較慢,而現代瀏覽器都支持邊接收數據邊渲染,所以其實服務器可以接收到請求時就把頁面框架flush出來,如果頁面包含多個較獨立部分,也可以每處理完一部分就馬上輸出,這樣可以縮短白屏。從用戶感受上可能會更好,頁面上一直有所反應,而不是一直白屏,完全不知道你在干嘛。
各種各樣的優化,都在填HTTP/1.x留下的坑,HTTP/2帶著填坑的使命,從根本上去解決這些問題。HTTP/1.x是一個文本協議,這注定它是非常冗余的協議,HTTP/2改變了這一點,在HTTP/1.x的語義上,將文本數據封裝在幀里,并采用二進制編碼。
下圖中binary framing就是二進制分幀層,這里會將HTTP/1.x的header翻譯成headers類型的幀,將body翻譯成data類型的幀。

HTTP/2的性能怎樣,akamai的這個demo(https://http2.akamai.com/demo)估計會讓你很興奮。
下面詳細介紹下HTTP/2。