为什么从HTTP / 1.1中删除了HTTP状态代码102

时间:2018-11-10 11:07:10

标签: http

为可能需要很长时间才能完成的REST服务返回状态102似乎有时是个好主意。 一个更好的主意通常是返回一个带有请求状态的URL的接受的202,该请求在准备就绪时将具有最终答案。

我从https://evertpot.com/http/102-processing注意到状态代码102不在HTTP / 1.1规范(rfc2616)中。 为什么将其删除?

鉴于这就是为什么很多人仍在使用和推荐它的原因?是因为大多数服务都必须支持HTTP / 1.0才能实现向后兼容性,所以仍然有可能实现它?

3 个答案:

答案 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。

even says so in RFC 2616

  

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。

原因是lack of implementation

  

由于缺乏实现,因此删除了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。