103 Early Hints

ブラウザーがプリロードを開始できるようにする事前のヘッダー。

使いどころ

ページの生成中に、CSS やフォント用の Link ヘッダーを送る場合。

知っておきたいこと

103 を使うと、サーバーは本来のレスポンスを生成している間に rel=preload や rel=preconnect 付きの Link ヘッダーを送れるため、ブラウザーはサーバーの処理時間中に CSS、フォント、スクリプトを取得できます。Chromium 系のブラウザーがこれに反応するのは HTTP/2 と HTTP/3 の場合だけで、しかもメインのナビゲーションに限られます。Firefox と Safari のサポートはさらに限定的です。古いクライアントや一部のプロキシは予期しない 1xx レスポンスを正しく扱えないので、導入前にテストしてください。

ヒントは、最終的にどのレスポンスになっても安全でなければなりません。ページが最終的にリダイレクトやエラーになれば、プリロードしたファイルは帯域幅の無駄になります。Cloudflare は、オリジンからの以前のレスポンスで見た Link ヘッダーをもとに、103 レスポンスを代わりに生成できます。結果は、最終ステータスの前に中間の 103 を表示する curl -v か、Early Hints によるリクエストがドキュメントの完了前に表示される DevTools で確認してください。

情報 (1xx)

1xx は情報レスポンスです。サーバーはリクエストを受け取っており、やり取りが続きます。ブラウザーや HTTP ライブラリが自動で処理します。

レスポンスでの表示

HTTP/1.1 103 Early Hints

確認方法

curl -s -o /dev/null -w "%{http_code}\n" https://example.com/

HTTP ステータスコードを開く