rest - REST 只能使用 HTTP 来实现还是也可以使用其他东西?

标签 rest http

我知道 REST 是一种架构风格,而 REST API 是 HTTP 请求。 那么 REST 只能使用 HTTP 来实现还是也可以使用其他的?

如果是,请提供示例。

最佳答案

REST是你提到的一种建筑风格。因此,理论上,任何符合其约束的架构都会实现 REST。

在实践中,从头开始实现这样一个系统确实很复杂,因为它涉及很多部分,需要符合很多要求。因此,我无法为您说出任何可以被视为符合 REST 的替代方案。

此外,如果您使用 URI,则不受 HTTP 的限制,因为 URI 支持多种协议(protocol)。所有这些都应该受到资源标识符为 URI 的任何客户端的支持。

还值得一提的是,大多数所谓的“REST API”符合 Fielding 先生提出的要求。我并不是说他们挑剔,我的意思是他们几乎完全忽视了这一点。例如,任何使用 OpenAPI/Swagger 或仅使用全局 application/json 媒体类型的内容都不符合要求。 (Here are some more easy to spot conflicts with REST)

我的意思是,我也无法为您提供基于 HTTP 的符合 REST 的“API”的好示例。 (除了旧的 browser-server-html 东西)。

关于rest - REST 只能使用 HTTP 来实现还是也可以使用其他东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55887562/

相关文章:

javascript - HTTP 请求直到 header 有附件

rest - 我应该将我的 SPA 中的 id token 发送到我的休息后端吗?

java - RESTful Web 服务中的字节数组与 Base 64 字符串

http - 如何使用 Noir Web 框架进行 HTTP 302 重定向

javascript - 如何识别来自 JS 脚本的 http 请求和 HTML<FORM>submit 事件之间的区别

java - okhttp 不允许设置 content-type

c# - 使用其他参数 WCF 将图像作为流上传

java - 如何将 Web 表单与 JAX-RS 结合使用

rest - Go REST Api 中的角色和权限

http - 在 Elm 中指定 Http header