Engineering from Scratch

エンジニア目指してます

2022/05/30

書籍

Real World HTTP ミニ版

www.oreilly.co.jp

メモ

チャンク

概要

全体を一括で送信するのではなく,小分けにして送信する。時間のかかるデータ転送を少しずつ前倒しで行うことができる。

メリット1

サーバーの負荷軽減

具体例

ライブ動画を配信するときに,動画の先頭から順番に返すことができる。

サーバー側のメリット

転送に必要なブロックだけをメモリにロードしてTCPソケットにデータを流し込むことができ,1GBの動画ファイルを送信する場合でも,メモリを1GB消費することはない。

クライアント側のメリット

サーバー側が最後のデータの準備ができた頃には,それまでのデータが既に転送済みなので,リードタイムを短くできる。

メリット2

クライアント側の通信の最適化に繋がる

具体例

本文を動的生成するページで,表示に時間がかかる場合は,ヘッダー部分だけをチャンクに分けて先に返すことができる。HTMLファイルよりも先にCSSなどの表示に必要なファイルのダウンロードを行える。