Nodejs相关:疑问, REST 的模式是否开始过时呢?
Node.js 相关:疑问,REST 的模式是否开始过时呢?
在微博上看到关于 REST(Representational State Transfer)的讨论。回想起来,REST 是在 2000 年提出的。如今,互联网环境已经发生了巨大的变化。一方面,我们不仅通过浏览器访问数据,还有多种设备(如智能手机、智能手表等)从数据库同步数据。另一方面,网络性能和延迟问题也日益突出,特别是在发起 HTTP 请求和传输数据的过程中。
此外,现代应用对实时性的需求越来越高,服务器端推送技术(如 WebSocket)逐渐成为一种解决方案。因此,有人提出 REST 是否已经开始过时了?
REST 的基本概念
首先,我们需要了解 REST 的基本概念。REST 是一种设计风格,用于构建网络服务。它基于 HTTP 协议,并利用标准的 HTTP 方法(如 GET、POST、PUT 和 DELETE)来操作资源。
// 示例代码:使用 Express 实现一个简单的 REST API
const express = require('express');
const app = express();
app.use(express.json());
let items = [];
// 获取所有项目
app.get('/items', (req, res) => {
res.json(items);
});
// 创建新项目
app.post('/items', (req, res) => {
const newItem = req.body;
items.push(newItem);
res.status(201).json(newItem);
});
// 更新项目
app.put('/items/:id', (req, res) => {
const id = req.params.id;
const updatedItem = req.body;
items[id] = updatedItem;
res.json(updatedItem);
});
// 删除项目
app.delete('/items/:id', (req, res) => {
const id = req.params.id;
items.splice(id, 1);
res.status(204).send();
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
REST 是否过时?
尽管 REST 仍然是构建 Web 服务的一种非常流行的方式,但随着技术的发展,确实出现了一些替代方案。例如:
- WebSocket:允许全双工通信,适用于实时性高的应用场景。
- GraphQL:提供更灵活的数据查询方式,减少了过度获取或不足获取数据的问题。
然而,这并不意味着 REST 将完全被淘汰。对于许多应用场景,REST 依然是一个简单而强大的解决方案。选择哪种架构模式取决于具体的需求和场景。
总之,虽然 REST 面临一些挑战,但它依然是一种强大且广泛使用的架构模式。在某些情况下,结合其他技术(如 WebSocket 或 GraphQL)可能会带来更好的效果。
REST 就是个 routing 的模式,正当年。
HTTP 在,REST 就在。
socket? meteor?
实时就就更需要 restful 了吧,
实际上restful 就是一种路由 而已,你觉得过时,那么现在那种比较先进?
哈哈,有http,rest就不会过时,http会过时吗?
WebSockets 实际跑到就是http那层…spdy …也是http 的马甲…最后都能映射到URI模型…
SPDY 是马甲,地下也是http协议,这个是网络层的优化,WebSockets 是解决web实时性的,这个只是http的补充而已
我的看法是,REST还没开始过时,REST是一套风格,我觉得更应该是一种思想,就是站在资源的角度来审视整个系统,这套思想暂时还不会过时,本人拙见
实际上…我想表达的就算是实时应用,也有资源的概念,借用了http来强调这个资源的概念(跟楼下的意思一样),有资源的概念就有restful 存在的意义…至于你觉得过时的话,那现在有什么替代方案?