Google app engine 如何通过GWT发送跨站点PUT请求?

Google app engine 如何通过GWT发送跨站点PUT请求?,google-app-engine,rest,gwt,jsonp,Google App Engine,Rest,Gwt,Jsonp,我正在使用GAE/GWT创建一个web应用程序。前端GUI是一个web客户端,服务器是一个RESTFUL服务器,两者都在不同的域中运行 我使用带填充的json与服务器通信,但发现无法发送PUT/POST/DELETE请求 我的应用程序将主要用于查询数据(查询:85%的案例,修改数据:15%)。所有请求都将经过身份验证 我正在考虑下列选择 1) 对于查询,请使用JsonpRequestBuilder;对于修改,请在web客户端服务器端创建一个代理,并通过该代理点击REST服务。使用GWT RPC与

我正在使用GAE/GWT创建一个web应用程序。前端GUI是一个web客户端,服务器是一个RESTFUL服务器,两者都在不同的域中运行

我使用带填充的json与服务器通信,但发现无法发送PUT/POST/DELETE请求

我的应用程序将主要用于查询数据(查询:85%的案例,修改数据:15%)。所有请求都将经过身份验证

我正在考虑下列选择

1) 对于查询,请使用JsonpRequestBuilder;对于修改,请在web客户端服务器端创建一个代理,并通过该代理点击REST服务。使用GWT RPC与此代理通信

2) 在我的REST服务(包括修改数据的服务)中将每个请求作为GET请求,并直接从web客户端使用jsonp

我更喜欢选项1),但选项2)似乎要做的工作更少

1)应该是我的首选吗

如果我的所有请求都将通过身份验证,那么我的请求是否有任何问题

有没有其他简单的方法来解决这个问题

问候,


Sathya

最简单的解决方案是使用它,允许您从两个不同的来源发送请求。但是它并没有被广泛传播(检查),所以如果你必须支持IE8-9,它对你来说是不够的


在您的情况下,我将尝试实现双重解决方案(例如CORS+服务器代理)。如果浏览器支持CORS,则直接将请求发送到目标服务器,如果不支持,则通过代理发送请求。

很抱歉问一下,让客户端在不同的域上运行有什么好处?据我所知,您的客户端服务器将不起任何作用

如果您不是REST后端的“所有者”,那么该后端可能应该为第三方应用程序开发一个授权系统,如


然后,您的应用程序可以通过安全连接进行后端到后端的通信。你可以在你的后端使用它。

@Parvathy仅仅因为它不在URL中并不能保证它的安全性-任何关注流量的东西都可以像URL一样轻松地读取正文。谢谢Ronen。实际上,我拥有服务器和客户端。也许我应该在同一个域中运行它。。。