HTTP/2和HTTP/1.1的多路复用比较

首先

    • HTTP/2のストリーム機能は,本当にTCP1コネクション内で多重化しているのか見てみたい。

 

    • HTTP/1.1のHTTPパイプラインは,あまり使われていないという噂だが本当か試してみたい。

 

    HTTP/1.1よりもHTTP/2が本当に早いのか,試してみたい。

結果

    • HTTP/2のストリーム機能は,本当にTCP1コネクションで多重化していた。

 

    • HTTP/1.1のHTTPパイプラインは使われている。ただし,別のTCPコネクションも併用して効率化している(chromeで確認)

 

    HTTP/2はHTTP/1.1より速かった。

原料 or 物料

    • クライアント側はWindows11+Chrome112

 

    • HTMLファイル(index.html,下記jpgファイルを埋め込んだ)

 

    • 60kBぐらいのjpgファイル×5個(image[1-5].jpg)

 

    • nginxのコンテナ

 

    • オレオレ証明書(HTTP/2はTLS必須なので)

 

    nginxのconfファイル。所要時間が大きくなるようにlimit_rateを設定(帯域制限)
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        limit_rate 600k;
    }

HTTP/1.1 协议

    nginxのconfig
server{
    listen       443 ssl;
    listen  [::]:443 ssl;
    ...
    ssl_certificate /etc/nginx/ssl/***.crt;
    ssl_certificate_key /etc/nginx/ssl/***.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ...
}
image.png

HTTP/2

    nginxのconfig
server{
    listen       443 ssl http2;
    listen  [::]:443 ssl http2;
    ...
    ssl_certificate /etc/nginx/ssl/***.crt;
    ssl_certificate_key /etc/nginx/ssl/***.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ...
}
image.png
广告
将在 10 秒后关闭
bannerAds