什么是不透明响应,它的用途是什么?

发布于 2022-07-28 23:00:38

我尝试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'})

好的,它现在可以工作了......但我无法阅读它。=\

那么,不透明响应的目的是什么?

关注者
0
被浏览
14
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    考虑服务工作者充当不可知缓存的情况。您唯一的目标是提供与您从网络获得的资源相同的资源,但速度更快。当然,您不能确保所有资源都属于您的来源(例如,考虑从
    CDN 提供的库)。由于 service worker
    有可能改变网络响应,你需要保证你对响应的内容不感兴趣,也不关心响应的头部,甚至不关心结果。您只对作为黑盒的响应感兴趣,以便可能缓存它并更快地提供它。

    这就是{ mode: 'no-cors' }为之而生的。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看