JavaScript およびページ リソースとしての不透明な応答の制限について理解する
Fetch API の一部として、不透明な応答はリクエストの結果を表しますCross-Origin Resource Sharing (CORS) が有効になっていない状態で、リモート オリジンに対して作成されます。不透明な応答は一定のセキュリティを提供しますが、制限や潜在的な問題も引き起こします。
ヘッダーと本文へのアクセス
不透明な応答の重要な制限の 1 つは、制限されたものです。ヘッダーと本文のコンテンツにアクセスできます。ヘッダーや本文インターフェイスなどのプロパティへのアクセスを提供する通常の応答とは異なり、不透明な応答は意図的なブラックボックス エンティティです。これは、開発者がコンテンツ タイプやステータス コードなどの情報を取得できないことを意味します。
ページ リソースとして使用
制限にもかかわらず、不透明な応答は特定の環境でページ リソースとして使用できます。条件。これらは、スクリプト タグ、スタイルシート、さまざまなメディア要素、オブジェクトなどの要素に対して有効なオプションです。ただし、フォントなどのリソースではサポートされていません。関連する仕様を参照することで、開発者は特定のリソース タイプに対する不透明な応答の適格性を判断できます。
キャッシュ ストレージ API と不透明な応答
キャッシュ ストレージ API を使用する場合、不透明な応答では微妙な注意が必要です。ステータス コードはリクエストの結果に関係なく常にデフォルトで 0 に設定されるため、不透明なレスポンスは API の add() メソッドおよび addAll() メソッドによって拒否される傾向があります。この拒否は、応答のステータス コードが 2XX の範囲外である場合に発生します。この問題を回避するには、開発者は不透明な応答を明示的にフェッチし、put() メソッドを使用して手動でキャッシュに入れることができます。ただし、サーバーエラーが原因で発生する可能性のある、不透明な応答のキャッシュに関連する潜在的なリスクに注意することが重要です。
ストレージ クォータと navigator.storage API
クロスドメイン情報漏洩を防ぐため、ブラウザは、ストレージ クォータ制限を計算し、navigator.storage API を介して使用状況を報告するときに、不透明な応答のサイズに大幅なパディングを追加します。 Google Chrome では、キャッシュされた不透明な応答ごとに、報告されるストレージ使用量に少なくとも約 7 メガバイトが影響します。この側面は、ストレージ クォータ制限を早期に超過することを避けるために、キャッシュする不透明な応答の数を決定するときに考慮することが不可欠です。
以上がJavaScript で不透明な応答をページ リソースとして使用する場合の主な制限と影響は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。