【问题标题】:Understanding the backend [closed]了解后端[关闭]
【发布时间】:2019-01-05 02:03:03
【问题描述】:

我了解网站可能有前端(客户端)和后端(服务器),并且服务器会调用“外部”REST API,例如 woocommerce 等。

为什么必须设置一个称为后端的整个结构才能使用 Node (Express) 等语言调用 REST API?为什么不能在前端使用fetch('https://woocommerce/products') 拨打电话?

编辑:感谢大家发布您的答案,这对我的理解有很大帮助!请随时继续并提供任何其他见解,特别是关于为什么您的回答会帮助我和其他可能遇到该问题的未来新手的示例。

【问题讨论】:

  • 基本的网络安全措施会阻止您询问的内容。
  • 在某些情况下,您可以在不编写任何后端代码的情况下进行操作,但通常您的后端正在执行以下操作:存储不是的数据在一些外部 API 中;使用您希望任意客户端访问的凭据;或提供额外的业务逻辑来简化您的客户端代码。

标签: javascript node.js reactjs backend fetch-api


【解决方案1】:

因此,在较新的浏览器中,如果服务器已设置cross-origin resource sharing,他们可以从客户端执行此操作。缺少这一点,在旧版浏览器中,由于same-origin policy,对第三方的请求将被阻止。

此外,在许多情况下,您希望客户端直接发出请求,因为您必须将您的 API 密钥公开给有权访问客户端代码的每个人。一些服务有办法解决这个问题(例如 Firebase),但大多数没有。

【讨论】:

    【解决方案2】:

    实际上不需要设置后端。有很多方法可以在不设置后端的情况下运行网站。您可以使用 Firebase 等 BAAS 服务

    但是,仅使用客户端的问题是用户可以看到客户端发出的每个请求。并访问发送的数据或请求中发送的敏感 API 密钥 - 这对安全性非常不利,最终可能会被滥用。

    【讨论】:

      猜你喜欢
      • 2021-01-13
      • 2023-03-06
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多