如果可能的话,我想在答案中有一个具体的例子。为什么CORS基于目标服务器?为什么我必须使用JSONP?
为了说明起见,我们在这里有三个玩家。
- 我的服务器(myserver.com)
- 客户端服务器(myclient.com)
- 客户端用户(通过myclient.com访问数据)
我正在做一个Web服务给我的客户,允许他们以JSON格式检索他们的数据。为了让自己的网站工作,他们必须使用标准的XOR解决方法 - 无论是提出请求的服务器端或靠我在这里设置
Access-Control-Allow-Origin: http://myclient.com
所以问题的两个部分。首先,为什么我在myserver.com上设置了原始策略?为什么我的服务器关心它服务的内容是谁?它不应该是myclient.com吗?这里的具体例子会很棒。第二部分,我明白JSONP可以解决这个问题,但是我担心使用它,因为我不了解第一部分的安全含义。如果我可以设置Access-Control-Allow-Origin: *
,JSONP有什么意义?
我可以得到一个downvote解释吗? – mrtsherman
尽管它似乎很容易规避XOR限制。如果我只能从myclient.com发出服务器端请求并仍然获取内容,为什么首先要使用它们? – mrtsherman
@mrtsherman:是的,然后它会运行在服务器的“沙盒”中,而不是浏览器。为了得到更好的解释,我可以推荐研究浏览器域沙箱以及为什么它首先存在。 – Evert