【发布时间】:2023-04-13 15:26:01
【问题描述】:
我最近一直在研究 node.js、REST API 和 WebSocket,以进一步了解后端和前端 Web 开发。尝试采用最佳实践时,我看到 REST API 一直在出现。现在我的问题我似乎不明白如何正确解决。
举例来说,我想让客户端/服务器解耦,为此我在后端实现了一个 REST API,这样我的前端就可以访问并获取要呈现的数据。具体(虚构)示例:假设我想建立一个租赁服务网站。现在我想为我的前端有一个端点来访问有关某些产品的信息,假设到目前为止已租用的自行车数量。我希望能够在我的前端显示这一点(通过 REST API 的帮助),但我不希望其他调用此 REST API 的人能够获取数据(因为间谍活动是一项严肃的业务而且我想让邪恶的人远离,是的,他们可以进行网络爬网,但是 bla bla)。所以本质上我希望localhost 机器能够访问(部分)REST API,但不能访问其他任何人。事情变得复杂了,因为我还希望人们能够在我的网站上创建用户,所以我希望有其他端点可以不受限制地访问,因为我在想,如果在某个时候我会怎样?希望有一个与服务集成的移动应用程序。那么将所有请求限制为localhost是不可行的。
您将如何构建像这样的安全服务器/客户端?或者在您看来,将 REST API 暴露给其他人(邪恶的人)不是什么大不了的事?
以上内容也适用于 WebSockets。我知道 REST API 都很好而且很简洁,但我认为未来在于近乎实时的连接,所以我同样对 WebSockets 感兴趣(当然,通过更高级别的模块,Socket.io、SockJS 等)。
【问题讨论】:
-
您的客户端是公开的还是受登录机制限制?
-
客户端部分是公开的(想想网络商店类型的网站),部分是通过身份验证的受限页面。但问题不在于这个。可能我不够清楚,请看my other comment
标签: node.js api rest websocket