我了解网站可能有一个前端(客户端)和一个后端(服务器),并且该服务器对woocommerce等“外部” REST API进行了调用。
为什么为了使用诸如Node(Express)之类的语言来调用REST API,必须建立一个称为后端的整体结构?为什么不能仅使用fetch('https://woocommerce/products')
在前端拨打电话?
编辑:感谢大家发布您的答案,这对我的理解很有帮助!请随时继续并提供任何其他见解,尤其是示例,说明您这样回答的原因会对我和其他可能遇到此问题的新手有所帮助。
答案 0 :(得分:2)
因此,从概念上讲,如果服务器已设置cross-origin resource sharing,则在较新的浏览器中,它们可以从客户端执行此操作。缺少此功能,在旧版浏览器中,由于same-origin policy,对第三方的请求将被阻止。
此外,在许多情况下,您不希望直接向客户端发出请求,因为这样一来,您就必须向有权访问客户端代码的所有人公开API密钥。某些服务可以解决此问题(例如Firebase),但大多数服务则没有。
答案 1 :(得分:1)
实际上不需要设置后端。您可以通过多种方法来运行网站而无需设置后端。您可以使用Firebase等BAAS服务
但是,仅使用客户端的问题是用户可以看到客户端发出的每个请求。并访问请求中发送的数据或敏感的API密钥-这确实对安全性不利,并且可能最终被滥用。