我目前正在为是否创建跨域请求代理的想法而苦苦挣扎。
我有一个与 API 交互的 jQuery 应用程序,在初始页面加载时至少向该服务器发出 4 个请求。两台服务器都完全在我的控制之下,但它们位于不同的子域上。出于这个原因,我一直在朝着使用 JSONP 绕过跨域请求策略的方法前进。
但是,我确实特别错过了一项功能:获取请求的 HTTP 状态代码。JSONP + jQuery 的工作方式,请求是否有效。如果没有,我为请求指定超时,如果达到超时,我假设失败(否则无法知道)。我真的很希望能够响应来自 API 服务器的 404 与 500 错误。
这使我认为本地代理可能会更好地工作 - 但它会占用服务器端资源(保存 jQuery 应用程序 + Sinatra 应用程序的服务器)而不是客户端资源(浏览器)。当每个页面加载是对 API 服务器的 4 个以上请求时,这当然可以加起来,即使它不会阻止应用程序加载。
我知道这不是一个真正的“问题”——所以如果不合适,请随时标记/关闭它。但是,我真的很想就这个问题发表一些意见。我通过在 Ruby 中开发本地代理来引入一些复杂性。