使いどころ
アップロード上限のテスト、帯域やタイムアウトの検証、ダウンロード処理の動作確認など、「ちょうどこの容量のファイルが欲しい」という場面のためのダミーファイルです。実際に開ける画像に、形式ごとの「無視される領域」を足してちょうどの容量にしています。ビューアやブラウザで普通に表示できます。
50 MB という容量の目安
一般的なアップロード上限としては大きい部類で、分割アップロードを検討し始めるサイズです。
サーバー側のリクエストボディ上限(nginx の client_max_body_size など)に当たりやすい領域。413 が返るかどうかを確かめられます。
GitHub は 50MB を超えるファイルをプッシュすると警告を出し、100MB を超えると拒否します。50MB はその警告がちょうど始まる容量です。
| 10Mbps(モバイル回線の目安) | 約 41.9 秒 |
|---|---|
| 100Mbps(一般的な光回線) | 約 4.2 秒 |
| 1Gbps(上限まで出た場合) | 1 秒未満 |
回線を専有できたと仮定した理論値(バイト×8÷速度)です。実測ではないので、実際はこれより遅くなります。
JPG という形式の特徴
非可逆圧縮で、写真をいちばん小さくできます。透過は扱えません。保存を繰り返すたびに少しずつ劣化していきます。
どうやって「ちょうど」にしているか
SOI(FFD8)の直後に COM セグメント(コメント)を差し込んで容量を合わせています。COM は描画に影響しません。
同じ 50 MB を別の形式で試すなら: PDF / PNG / GIF / WEBP / MP4 / WEBM / ZIP。
容量は 1KB = 1024バイトで計算しています。50 MB = ちょうど 52,428,800 バイトです。上のハッシュは事前計算した固定値で、 ダウンロードした実ファイルと一致します(ハッシュ検証のテストにも使えます)。