【问题标题】:Crossing sub domain ajax calls跨子域ajax调用
【发布时间】: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。

由于浏览器的同源策略安全功能,这些请求是不允许的。

我们正在寻找规避此问题的方法。

我们遇到的解决方案:

  1. 通过我们的代理传输请求。这会降低应用速度并需要更多资源。
  2. JSONP - 仅适用于 GET 请求。我们不希望使用 post/put/delete 功能使 GET 请求过载。
  3. 使用 iFrame 并将 document.domain 设置为相同的域。仅适用于 ourdomain.com 下的网站。
  4. EasyXDM 等框架。似乎是一个很好的解决方案。

谢谢!

【问题讨论】:

    标签: api rest jquery jsonp


    【解决方案1】:

    我不知道 EasyXDM,但我在不止一个应用程序中拥有您所说的相同架构。我们使用您建议的解决方案 (1)。在我看来,通过公共子域代理请求是最干净的解决方案。我不认为这是一个性能问题。无论如何,许多站点都使用nginx 之类的东西来执行某种反向代理(作为缓存)。您可以通过 http://[yourhost]/api 轻松地通过隧道传输您的 API,并通过其他路径传输其余的 HTML、CSS 和图像资源。

    【讨论】:

      猜你喜欢
      • 2011-02-03
      • 2010-10-13
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 2012-08-27
      相关资源
      最近更新 更多