来自frontEnd的API调用与从后端到任何外部后端服务器的Api调用之间的区别代码

时间:2016-11-23 04:05:48

标签: angularjs node.js apache rest tomcat8

因为我在使用node-express运行的角度应用程序对apache服务器进行API调用时遇到了困难, 所以我无法使用POST调用调用apache服务器,尽管在大多数可用方式中设置CORS过滤器, 所以有人建议不要从AngularJs(Frontend)打电话,而是从NodeJs(Backend-server)调用它来为你的angulas(frontEnd)代码提供服务。

在这方面,请帮助我解决从frontEnd到任何服务器或同一frontEnd的后端(服务器)进行API调用之间究竟有什么区别? 哪些因素比另一个更优选? 是基于FrontEnd的API调用的代理还是CORS?

提前感谢所有人 Shohil Sethia

2 个答案:

答案 0 :(得分:1)

这就是为什么我通常在Node中构建一个小型服务器api来从外部第三方服务器获取数据。

  1. 当用户在前端发出请求时,请求将被发送到后端功能,并带有最终用户指定的可选参数。
  2. 根据提供的参数,在后端查询第三方API之前可能会运行不同的功能。
  3. 第三方API响应将返回到后端。
  4. 后端要么传递响应,要么在传递响应之前做更多的事情。
  5. 然后前端会根据收到的响应确定数据(即结果少于5个,因此不需要添加分页)。
  6. 如果以这种方式开发,您可以访问以下所有内容,这些都有益于您的应用程序/网站。

    1. 在服务器上保留所有必要的凭据。 (非常重要)
    2. 获取日志。
    3. 在服务器端和客户端验证是否有额外的安全层。
    4. 使用服务器在必要时过滤敏感结果,然后才能到达前端。
    5. 改变服务器与设备之间的繁重部分,以提高应用程序性能。

答案 1 :(得分:0)

CORS是由浏览器(chrome,firefox等)自愿执行的策略。允许或拒绝请求的决定取决于服务器响应中是否存在某个标头(Access-Control-Allow-Origin: *)。服务器端设置中没有等效策略,因此您可以全天制作跨域请求。

来自enable-cors.org:

  

[CORS]阻止JavaScript跨域边界发出请求