同源政策(SOP)如何运作?

时间:2011-10-05 19:58:24

标签: javascript same-origin-policy

我读过维基百科上同源政策的含义,但却无法理解它是如何运作的。我确实理解它可以阻止我的网站上的javascript与单独网站上的脚本交互,但这究竟意味着什么?

2 个答案:

答案 0 :(得分:1)

表示如果你加载

http://www.stackoverflow.com/

并且您的浏览器加载了javascript,然后javascript无法访问不是来自该页面的网址。有很多细节,例如,你无法访问

https://www.stackoverflow.com

但是ajax请求可以访问

http://www.stackoverflow.com/something/something

浏览器本身不允许触发请求。

编辑 - 这可能是helfpul:http://www.google.com/support/forum/p/Chrome/thread?tid=171316324d16747b&hl=en

答案 1 :(得分:1)

如果您的脚本(JS)尝试通过XMLHttpRequest对站点以外的站点执行某些HTTP请求,则请求将失败,返回状态代码将为0,错误消息为null。

这就是它最初的运作方式。

现在有一个跨源资源共享(CORS)规范,大多数现代浏览器都或多或少地支持它。它允许执行此类请求,但有严格的限制。