[解決済み】不透明な応答とは何ですか、そしてそれはどのような目的ですか?
2022-04-13 22:37:11
質問
を試してみました。
fetch
古いサイトのURLを入力すると、エラーが発生しました。
Fetch API cannot load http://xyz.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://abc' is therefore not allowed access.
If an opaque response serves your needs, set the request's mode to 'no-cors'
to fetch the resource with CORS disabled.
メッセージを理解し、不透明なレスポンスを返すリクエストをやってみた。
fetch("http://xyz", {'mode': 'no-cors'})
よし、これで動いた...だが、読めない。
では、不透明な応答は何のためにあるのでしょうか?
どのように解決するのか?
サービスワーカーが不可知論的なキャッシュとして機能するケースを考えてみましょう。あなたの唯一の目標は、ネットワークから取得するのと同じリソースを、より速く提供することです。もちろん、すべてのリソースがオリジンの一部であることを保証することはできません(たとえば、CDNから提供されるライブラリーを考えてみてください)。サービスワーカーにはネットワークの応答を変更する可能性があるので、応答の内容やヘッダ、結果にさえも関心がないことを保証する必要があります。ブラックボックスとしてのレスポンスにしか興味がなく、それをキャッシュしてより速く提供する可能性があります。
これは
{ mode: 'no-cors' }
は、そのために作られました。
関連
-
[解決済み】「プリフライトが無効です(リダイレクト)」または「プリフライト要求に対してリダイレクトは許可されていません」を解決する方法
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] Access-Control-Expose-Headersはなぜ必要なのですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] REST APIからデータを取得しようとしたときに、要求されたリソースに'Access-Control-Allow-Origin'ヘッダーが存在しない。
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] アクセス制御-許可-起源のワイルドカードサブドメイン、ポート、プロトコル
-
[解決済み】「アクセス制御-許可-オリジン」がない - Node / Apacheのポートの問題
-
[解決済み】不透明な応答とは何ですか、そしてそれはどのような目的ですか?
-
[解決済み] Dev Tools NetworkでPre-flightリクエストをフィルタリング(非表示)する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン