Web应用程序的服务器结构

时间:2016-11-24 14:04:31

标签: web-services rest http webserver application-server

我有一个web应用程序w1(SPA): Web服务器WS位于物理服务器X中 应用程序服务器AS位于其他物理服务器Y中。

用户调用webserver启动w1应用程序(http://WS/w1) 非浏览器具有视图,但不包含数据。 要检索数据w1应用程序通过ajax http GET调用调用AS(例如http://AS/car/df785er/plate来检索汽车的盘子)

总结,在MVC设计中,从WS检索View,从AS中检索模型。

这种结构是否正确?或者正确的结构是WS和AS是否在同一台物理机器上?

1 个答案:

答案 0 :(得分:1)

您的应用程序的结构是正确的......但出于安全原因,浏览器默认会阻止对模型AS发出的ajax请求。

有几种可能的解决方案。我使用过的是:

  1. 在AS服务器上启用CORS。 这将允许浏览器调用AS 如果你只发出GET请求,那真的很容易。您只需在响应中添加一个http标头(Access-Control-Allow-Origin :)即可 有关CORS的详细信息: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
  2. 在WS上使用反向代理来调用AS:例如。所有对/ api / on WS的请求都将被反向代理到http://AS/
  3. 要应用哪种解决方案取决于安全性考虑因素,您正在提出的请求类型(例如,CORS仅允许GET,HEAD和POST)等等。