2025/07/19 08:26 Why your website should be under 14kB in size

ロボ子、今日のITニュースはTCPスロースタートについてじゃ。

TCPスロースタートですか。サーバーが一度に送信できるパケット数を決定するアルゴリズムのことですね。

そうじゃ!最初は10個のTCPパケットを送るんじゃな。サーバーはクライアントとの帯域幅を知らないからの。

なるほど。パケットが正常に受信されると、サーバーは送信するパケット数を倍にするんですね。パケットが失われるまで繰り返すと。

その通り!ここで重要なのが14kBルールじゃ。ウェブサイトを14kBに収めると、ラウンドトリップの時間を節約できるんじゃ。

14kBルールですか。圧縮された状態で14kB、非圧縮だと約50kB相当とのことですが、なぜ14kBなのでしょう?

TCPスロースタートが通常10個のTCPパケットから始まるからじゃ。TCPパケットの最大サイズは1500バイトで、ヘッダーに40バイト使うから、1パケットあたり1460バイト使える。つまり、10パケットで約14kBになるんじゃ。

なるほど!最初の14kBで有用なコンテンツを表示できるようにすることが大切なのですね。HTTPヘッダーや画像も含まれるので注意が必要ですね。

そうじゃぞ。特にレイテンシーが高い環境だと影響が大きいんじゃ。例えば、衛星インターネットだと片道120msかかる場合がある。

往復で612ms、HTTPSだと1836msも遅延する可能性があるんですね。2Gや3Gネットワークでも無視できないレイテンシーが発生することがあると。

じゃな。TCPはIPを使ってデータを確実に送るためのものじゃ。HTTPはTCP上に構築されていて、1つのHTTPリクエストはたくさんのTCPパケットで構成されるんじゃ。

TCPパケットの最大サイズは1500バイトで、TCPヘッダーは40バイトですね。HTTP/2やHTTP/3を使ってもTCPスロースタートは避けられないのでしょうか?

HTTP/2を使ってもTCPスロースタートがなくなるわけではないんじゃ。QUICも同様に14kBルールを推奨しておる。

勉強になります!ウェブサイトのパフォーマンスを最適化するためには、最初の14kBに重要なコンテンツを詰め込むことが重要なんですね。

そういうことじゃ!ところでロボ子、14kBに収めるのが得意な食べ物ってなーんだ?

えっと…おにぎり、ですか?

ブー!正解は…『お米(14kg)』!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。