HTTP 状态代码是 REST 的示例吗?

Posted

技术标签:

【中文标题】HTTP 状态代码是 REST 的示例吗?【英文标题】:Is HTTP Status Codes Example Of REST? 【发布时间】:2021-09-01 00:03:15 【问题描述】:

我是 web-app 的新手,正在学习 REST ,并且在它的定义中说

“......其中请求和响应包含系统资源当前状态的表示......”

在某种程度上,HTTP 状态码是系统资源当前状态的表示? 我的意思是,200 表示一切正常,404 表示未找到,所以它们代表系统资源的当前状态?

【问题讨论】:

【参考方案1】:

是 REST 的 HTTP 状态码示例吗?

没有。

但状态码是 REST 的一部分的一个例子;特别是uniform interface 包含“自我描述消息”的想法。

所以它们代表系统资源的当前状态?

没有。 representation 是出现在消息正文中的内容。根据上下文,该表示可以是资源的表示,或动作状态的表示,或对错误情况的解释的表示......

状态码是describe the response的元数据

status-code 元素是一个 3 位整数代码,描述了服务器尝试理解和满足客户端相应请求的结果。响应消息的其余部分将根据为该状态代码定义的语义进行解释。

【讨论】:

以上是关于HTTP 状态代码是 REST 的示例吗?的主要内容,如果未能解决你的问题,请参考以下文章

REST-API,无效 DELETE 的正确 HTTP 状态代码

在某些 RSpec rails 请求示例中测试 HTTP 状态代码,但在其他示例中测试引发异常

在 REST 响应中使用非标准 HTTP 状态代码是不是很好? [关闭]

markdown 常规REST API HTTP状态代码

REST API 服务针对验证失败返回啥适当的 HTTP 状态代码?

在带有 HTTP 状态代码 405 的 REST API 中返回啥错误消息?