「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > クロスオリジンリクエストで不透明なレスポンスを使用する場合の制限と考慮事項は何ですか?

クロスオリジンリクエストで不透明なレスポンスを使用する場合の制限と考慮事項は何ですか?

2024 年 11 月 4 日に公開
ブラウズ:547

What Are the Limitations and Considerations for Using Opaque Responses in Cross-Origin Requests?

不透明な応答の使用に関する制限と考慮事項

Fetch API によって導入された不透明な応答は、CORS が発生した場合のクロスオリジン リクエストの結果を表します。無効になっています。これらはある程度の分離を提供しますが、注意すべき制限と潜在的な問題がいくつかあります。

ヘッダーと本文へのアクセスの制限

不透明な応答の主な制限は次のとおりです。応答のヘッダーまたは本文にアクセスできない。ヘッダーや本文関連のメソッド (json()、text()) などのプロパティは使用できません。これは、リモート オリジンのプライバシーを保護するために不可欠です。

リソースの使用法と制限

制限にもかかわらず、不透明な応答は、次の場合に Web ページ上のリソースとして利用できます。ブラウザでは、非 CORS クロスオリジン リソースが許可されます。これらのリソースには、

キャッシュ ストレージ API との対話

キャッシュ ストレージ API で不透明な応答を使用する場合、潜在的な落とし穴が発生します。実際のリクエストのステータスに関係なく、不透明な応答のステータス プロパティは 0 です。 add() メソッドと addAll() メソッドは 2XX 以外のステータス コードを持つ応答を拒否するため、不透明な応答はキャッシュに追加されません。これを回避するには、不透明な応答を使用して fetch() に続いて put() を明示的に実行します。

navigator.storage API と Opaque Responses

セキュリティ上の理由から、ブラウザーはパッドを使用します。クロスドメインの情報漏洩を防ぐための不透明な応答。このパディングにより、不透明な応答の報告されるストレージ サイズが大幅に増加します。 Google Chrome では、不透明な応答ごとに、少なくとも約 7 メガバイトのストレージ使用量が発生します。慎重に管理しないと、クォータ超過の例外が発生する可能性があります。

使用上の考慮事項

不透明な応答を使用する場合は、次の点に注意してください:

  • 不透明な応答は分離を提供しますが、ヘッダーと本文へのアクセスを制限します。
  • 非 CORS クロスオリジン リソースを許可する Web ページ上のリソースとして使用できます。
  • 特別な処理は次のとおりです。キャッシュ追加の失敗を避けるために、キャッシュ ストレージ API で使用するために必要です。
  • navigator.storage API の不透明な応答に対するストレージ サイズの誇張レポートに注意してください。
リリースステートメント この記事は次の場所に転載されています: 1729584676 権利侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3