Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

レスポンス本文の検査

最終更新 Markdown で表示Agent セットアップ

有効な機能がレスポンス内容を必要としない場合、Cloudflare はデータが到着次第クライアントへ送れます。一部の機能は、エッジでレスポンス内容を検査したり変更したりします。

検査により、レスポンスの一部がエッジで保持されることがあります。その結果、最初のバイトまでの時間(TTFB)が伸びたり、段階的な配信が遅れたりすることがあります。保持されるデータ量は、機能とレスポンスによって異なります。

レスポンス本文を検査する機能

Cloudflare の機能は、主に Content-Typetext/html のレスポンスを検査します。本文を変更する機能もあれば、読み取るだけの機能もあります。

次の機能は、有効かつ適用対象のときに HTML レスポンス本文を変更できます。

機能 本文の変更
AI Labyrinth 許可されていない AI クローラー向けに不可視リンクを追加します
Always Online アーカイブ済みページにバナーを追加します
Automatic HTTPS Rewrites 対象の HTTP リンクを HTTPS に書き換えます
Cloudflare challenge features チャレンジスクリプトを挿入するか、チャレンジ用コンテンツを返します
Cloudflare FontsAutomatic Platform Optimization Google Fonts の参照を書き換えます
Email Address Obfuscation ページ内のメールアドレスを難読化します
Markdown for Agents 対象リクエストの HTML を Markdown に変換します
Replace insecure JavaScript libraries サポート対象の脆弱なライブラリ URL を書き換えます
Rocket Loader スクリプトの読み込み動作を変更します
Web Analytics Real User Monitoring ビーコンを挿入します

セキュリティ機能と AI 機能は、変更せずに HTML を読むこともあります。Prefetch URLs は、text/plain として配信される URL マニフェストを読みます。

この一覧には、レスポンス内容を検査する明示的なルールは含めていません。トラブルシューティング時は、各ルールを個別に確認してください。

ストリーミングに関する注意

レスポンス本文の検査は、プログレッシブ HTML とプレーンテキストのストリームに影響することが多いです。明示的な検査ルールで選ばれた他のレスポンスにも影響することがあります。クライアントは、オリジンが送ったタイミングより遅く、またはより大きなまとまりでデータを受け取ることがあります。

オリジンでは正確な Content-Type を設定してください。ストリーミング API のレスポンスを、そのメディアタイプが必要でない限り text/htmltext/plain として配信しないでください。

Cache-Control: no-transform レスポンスディレクティブは、対応機能による本文変更を防ぎます。読み取り専用の検査は防げません。このディレクティブのその他の効果は、Cache-Control ディレクティブ を参照してください。

検査の問題を切り分ける

Cloudflare 経由にしたあと、レスポンスのストリーミングが止まった場合は次を確認します。

  1. Cloudflare を介さず、オリジンがデータを段階的に送っていることを確認します。
  2. オリジンレスポンスの Content-TypeCache-Control ヘッダーを確認します。
  3. レスポンス経路に適用される機能とルールを確認します。
  4. パス固有の Configuration Rule を作成し、Response Body BufferingNone にします。
  5. Cloudflare 経由でもう一度レスポンスをテストします。

None 設定では、検査なしで本文をストリーミングします。一致するレスポンスでは、セキュリティ、最適化、分析の機能が動作しなくなることがあります。マッチング式はできるだけ狭くしてください。

設定値と API 構成は、Response Body Buffering を参照してください。

役に立ちましたか?