HTTP 100
和200
状态代码有什么区别?
他们是一样的吗?
有人告诉我,200
是HTTP请求成功时的标准代码,没有任何错误。
是吗?
这个100
代码怎么样?我在这个状态代码上找到了不同的解释。有人可以用一些现实世界的例子来解释吗?
因为现在我不知道差异,两者似乎对我来说都是一样的。
答案 0 :(得分:1)
来自:http://www.rfc-editor.org/rfc/rfc7231.txt
6.2.1。 100继续
100(继续)状态代码表示a的初始部分 请求已收到并且尚未被拒绝 服务器。服务器打算在发送后发送最终响应 请求已被完全接收并采取行动。
当请求包含包含a的Expect标头字段时 100-继续期望,100响应表示服务器 希望接收请求有效载荷主体,如中所述 第5.1.1节。客户端应该继续发送请求和 放弃100回应。
如果请求不包含包含的Expect标头字段 100-继续期望,客户可以简单地丢弃此临时 响应。
(编辑,谢谢Julian注意到:)
答案 1 :(得分:0)
让我给你举个例子:
您正在使用 PUT request
将大型对象发送到服务器,您可能会包括这样的 Expect header
:
PUT /media/file.mp4 HTTP/1.1
Host: api.example.org
Content-Length: 1073741824
Expect: 100-continue
这告诉服务器,如果服务器将要接受请求,则应使用 100继续状态代码进行响应:
HTTP/1.1 100 Continue
当客户端收到此消息时,它告诉客户端服务器将接受请求,并且可能开始发送请求正文。
最大的优点是,如果请求存在问题,服务器可以在客户端开始发送请求正文之前立即响应错误。
简单用例是服务器可能首先需要使用 401未经授权进行身份验证,或者它可能预先知道 Content-Type 客户端要发送到服务器的内容不是服务器要接受的内容。
主要引用自: