【发布时间】:2012-02-08 17:21:39
【问题描述】:
我们希望构建一个使用我们的 REST API 并寻找规避同源策略安全功能的网络应用程序。
我们有一个 REST API,由 SERVER_1 的 api.ourdomain.com 提供服务。 我们有一个 Web 应用程序,它是来自 SERVER_2 的 dashboard.ourdomain.com 的服务器。
Web 应用使用 ajax 调用与 REST API 通信,其中包括 GET、POST、DELETE 和 PUT 请求。
在未来的某个时候,我们可能会考虑允许第 3 方网站从他们自己的网站和域访问 API。
由于浏览器的同源策略安全功能,这些请求是不允许的。
我们正在寻找规避此问题的方法。
我们遇到的解决方案:
- 通过我们的代理传输请求。这会降低应用速度并需要更多资源。
- JSONP - 仅适用于 GET 请求。我们不希望使用 post/put/delete 功能使 GET 请求过载。
- 使用 iFrame 并将 document.domain 设置为相同的域。仅适用于 ourdomain.com 下的网站。
- EasyXDM 等框架。似乎是一个很好的解决方案。
谢谢!
【问题讨论】: