为什么HTML SCRIPT标签不受同源策略(Why is the HTML SCRIPT tag

2019-06-24 07:52发布

我问这个问题,因为我们将开发一个应该通过JavaScript共享跨源数据的应用程序。 一个可能的解决方案似乎JSONP,因为它使用SCRIPT标签从其他领域获取数据。 不过,我想避免,我们实现我们的脚本标签不受SOP和在某一点的浏览器禁止这个功能的前提真棒代码的情况。

任何人都可以阐明什么是脚本标签允许跨域请求的原因,一些光?

Answer 1:

我想这个草案题为“同源策略的原理”解释(尽管是短暂的)什么是在每个人的头上几乎:

原则上,用户代理可能会对待每一个URL作为一个独立的主体,并从所有其他网址隔离每个文档,除非该文件明确表示,它相信URL。 不幸的是,这样的设计是为开发商麻烦,因为Web应用程序通常包含许多资源的一致行动的。

作为近似,用户代理组的URL一起放入保护域称为起源。 特别是,两个URL是相同的原点的部分(即,表示相同的主要),如果它们具有相同的方案,主机和端口。

简而言之:这将是更难构建Web如果一切是受到SOP。



Answer 2:

究其原因是因为传统的。 它始建这样很多年前,如果现在改变了,太多的网站都将失败。 再加上安全的影响是众所周知的,因为它已经存在了这么久。



文章来源: Why is the HTML SCRIPT tag not subject to the same origin policy