GoogleとStack Overflowのおかげで、通常のHTTPパイプライン化とHTTP多重化(SPDYなど)の違いを理解したと思うので、3つの通常のHTTPリクエストに基づくパイプライン化と多重化の違いを示すために、次の図を作成しました。
私の2つの質問は次のとおりです。
間違いではありませんが、省略している重要な側面があります。 HTTPでは、他の要求を続行する前に応答全体を配信する必要があります。 SPDYを使用すると、「ヘッドオブライン」の要件を最終的に破り、応答が利用可能になったときに応答を配信できるという意味で、図に示した内容は正しいです。ただし、リクエストが完全に完了するのを待つ必要もありません。
両方とも数KBのサイズの2つの要求を想像してください。各要求には複数のパケットがあり、それらを[r1p1, r1p2]
および[r2p1, r2p2]
と呼びます。 HTTPでは、pNが正確な順序で到着する必要があります。一方、SPDYを使用すると、次のことが可能になります:[r2p1, r1p1, r1p2, r2p2]
。
また、SPDYを使用すると、要求の優先度を使用して、後で要求が優先される必要があるサーバーを示唆できます(他のダースの優れた機能の中でも特に)。