不透明な応答の使用に関する制限と考慮事項
Fetch API によって導入された不透明な応答は、CORS が発生した場合のクロスオリジン リクエストの結果を表します。無効になっています。これらはある程度の分離を提供しますが、注意すべき制限と潜在的な問題がいくつかあります。
ヘッダーと本文へのアクセスの制限
不透明な応答の主な制限は次のとおりです。応答のヘッダーまたは本文にアクセスできない。ヘッダーや本文関連のメソッド (json()、text()) などのプロパティは使用できません。これは、リモート オリジンのプライバシーを保護するために不可欠です。
リソースの使用法と制限
制限にもかかわらず、不透明な応答は、次の場合に Web ページ上のリソースとして利用できます。ブラウザでは、非 CORS クロスオリジン リソースが許可されます。これらのリソースには、
キャッシュ ストレージ API との対話
キャッシュ ストレージ API で不透明な応答を使用する場合、潜在的な落とし穴が発生します。実際のリクエストのステータスに関係なく、不透明な応答のステータス プロパティは 0 です。 add() メソッドと addAll() メソッドは 2XX 以外のステータス コードを持つ応答を拒否するため、不透明な応答はキャッシュに追加されません。これを回避するには、不透明な応答を使用して fetch() に続いて put() を明示的に実行します。
navigator.storage API と Opaque Responses
セキュリティ上の理由から、ブラウザーはパッドを使用します。クロスドメインの情報漏洩を防ぐための不透明な応答。このパディングにより、不透明な応答の報告されるストレージ サイズが大幅に増加します。 Google Chrome では、不透明な応答ごとに、少なくとも約 7 メガバイトのストレージ使用量が発生します。慎重に管理しないと、クォータ超過の例外が発生する可能性があります。
使用上の考慮事項
不透明な応答を使用する場合は、次の点に注意してください:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3