为可能需要很长时间才能完成的REST服务返回状态102似乎有时是个好主意。 一个更好的主意通常是返回一个带有请求状态的URL的接受的202,该请求在准备就绪时将具有最终答案。
我从https://evertpot.com/http/102-processing注意到状态代码102不在HTTP / 1.1规范(rfc2616)中。 为什么将其删除?
鉴于这就是为什么很多人仍在使用和推荐它的原因?是因为大多数服务都必须支持HTTP / 1.0才能实现向后兼容性,所以仍然有可能实现它?
答案 0 :(得分:3)
根据RFC 1945(HTTP / 1.0),section 9.1:
9.1信息性1xx
此类状态码表示临时响应, 仅由状态行和可选标题组成,并且为 由空行终止。 HTTP / 1.0未定义任何1xx状态 代码,并且它们不是对HTTP / 1.0请求的有效响应。 但是,它们可能对 超出了本规范的范围。
(强调我的。)
所以不是HTTP / 1.1删除了102;而是增加了100和101。
10.1信息性1xx
此类状态码表示临时响应, 仅由状态行和可选标题组成,并且为 由空行终止。没有为此所需的标题 状态码类别。 由于HTTP / 1.0未定义任何1xx状态 代码,服务器不得向HTTP / 1.0客户端发送1xx响应 除了在实验条件下。
那么102是哪里人呢?
来自RFC 2518(WEBDAV):
HTTP / 1.1的10个状态代码扩展
以下状态代码被添加到HTTP / 1.1中定义的状态代码 [RFC2068]。
10.1 102处理
[...]
答案 1 :(得分:3)
正如 @melpomene 所述,HTTP状态代码102从未成为官方HTTP规范的一部分。它属于WebDAV工作组生成的“ HTTP扩展”文档。
它首次出现在1999年2月发布的“ HTTP Extensions for Web Distributed Authoring and Versioning – WebDAV” RFC 2518中。
该文档已被2007年6月发布的“ HTTP Extensions for Distributed Authoring – WebDAV” RFC 4918取代。已删除:
注意:在本规范中,HTTP状态代码102(正在处理)已被删除;其IANA注册应继续参考RFC 2518。
由于缺乏实现,因此删除了HTTP状态代码102([RFC2518],第10.1节)和Status-URI响应标头(第9.7节)的定义。
答案 2 :(得分:0)
它没有被“删除”。它是已注册的HTTP状态代码的一部分,请参见https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml。请注意,没有一个RFC定义“所有”状态代码。另外请注意,状态代码通常适用于所有版本的HTTP。