为什么没有更多的oEmbed提供商在其端点上启用跨域资源共享?

Han*_* Ho 9 javascript frontend cross-domain oembed cors

似乎大多数(如果不是全部)oEmbed提供者端点没有启用CORS.这意味着我必须使用JSONP(对于那些支持它的人)或通过服务器代理只是为了使用oEmbed.

有一个公司政策反对使用来自第三方提供商的JSONP,但我仍然希望以纯粹的客户端方式利用oEmbed(对于我们信任的某些提供商).我理解oEmbed消费者的安全隐患以及为什么他们可能不希望将第三方标记直接放入他们的页面,但为什么提供商会限制这一点呢?如果我构建了一个服务器代理并且没有过滤结果,我可能很容易出现XSS漏洞.

Ser*_*nos 1

只是猜测:

这可能与预检请求有关。CORS 规范规定,客户端在许多情况下应该发送额外的OPTION请求(基本上,对于非常基本的GET或之外的任何内容POST)。这意味着,在服务器端,仅通过提供CORS就会使传入请求加倍,并且可能额外的负载是不可接受的。