为什么HTML SCRIPT标记不受同一原始策略的约束

mor*_*itz 29 javascript standards cross-domain

我问这个问题因为我们将开发一个应用程序,它应该通过javascript共享交叉源数据.一种可能的解决方案似乎是JSONP,因为它使用SCRIPT标签从其他域中提取数据.但是,我想避免我们在假设SCRIPT标记不受sop限制的情况下实现我们的强大代码的情况,并且在某些时候浏览器禁止此功能.

任何人都可以了解SCRIPT标签允许跨域请求的原因是什么?

Jon*_*Jon 5

我想这份题为“同源政策原则”的草案(尽管很简短)解释了每个人的想法:

原则上,用户代理可以将每个URL视为一个单独的主体,并将每个文档与其他每个URL隔离开,除非文档明确表明它信任该URL。不幸的是,这种设计对开发人员来说是繁琐的,因为Web应用程序通常包含许多协同工作的资源。

近似地,用户代理将URL一起分组到称为源的保护域中。特别是,如果两个URL具有相同的方案,主机和端口,则它们是同一来源的一部分(即,代表相同的主体)。

简而言之:如果所有内容都受SOP约束,则构建Web将会更加困难。