XMLHttpRequest
需要CORS才能在跨域情况下工作。同样的,网页字体、WebGL纹理和其他一些东西也是这样。总的来说,所有新的API似乎都有这个限制。
为什么?
这很容易被绕过:只需要一个简单的服务器代理即可。换句话说,服务器端代码不被禁止进行跨域请求;为什么客户端代码会被禁止呢?这对任何人提供了什么安全保障吗?
而且这太不一致了:我不能使用XMLHttpRequest
,但我可以使用<script src>
或<link rel>
或<img src>
或<iframe>
。限制XHR等到底有什么意义呢?
GET
请求比服务器端代码更糟糕吗?我认为我明白为什么了,但为了让这个回答完整,重要的是要回答“为什么我不能通过服务器端代理来解决所有这些问题”的问题。 - DomenicAccess-Control-Allow-Origin
应该改变目标站点的cookies还是源站点的cookies被使用。除此之外,所有http都应该像从服务器或本地代码中一样工作。 - Rabbi