HTTP 100 和 200 状态代码有什么区别?

asp*_*tar 5 error-handling http

100HTTP和状态码有什么区别200

它们是一样的吗?

有人告诉我,这200是 HTTP 请求成功且没有任何错误时的标准代码。

是对的吗?

这段代码怎么样100?我找到了对此状态代码的不同解释。有人可以用一些现实世界的例子来解释一下吗?

因为现在我不知道有什么区别,而且对我来说两者似乎是一样的。

Jay*_*llo 6

让我给你举个例子:

\n

您\xe2\x80\x99使用 a 向服务器发送一个大对象PUT request,您可以包含Expect header如下内容:

\n
PUT /media/file.mp4  HTTP/1.1\nHost: api.example.org\nContent-Length: 1073741824\nExpect: 100-continue\n
Run Code Online (Sandbox Code Playgroud)\n

这告诉服务器,如果服务器能够接受请求,它应该以100 Continue 状态代码进行响应:

\n
HTTP/1.1 100 Continue\n
Run Code Online (Sandbox Code Playgroud)\n

当客户端收到此消息时,它告诉客户端服务器将接受该请求,并且可以开始发送请求正文。

\n

这样做的最大好处是,如果请求出现问题,服务器可以在客户端开始发送请求正文之前立即响应错误。

\n

一个简单的用例是,服务器可能首先需要使用401 Unauthorized进行身份验证,或者它可能提前知道Content-Type不是服务器想要接受的内容。

\n

主要引用自:

\n

https://evertpot.com/http/100-继续/

\n

https://www.rfc-editor.org/rfc/rfc7231#section-5.1.1

\n


Tom*_*ist 3

来自: http: //www.rfc-editor.org/rfc/rfc7231.txt

6.2.1. 100 继续

100(继续)状态代码表示请求的初始部分已被接收并且尚未被服务器拒绝。服务器打算在请求被完全接收并采取行动后发送最终响应。

当请求包含包含 100-Continue 期望的 Expect 标头字段时,100 响应表明服务器希望接收请求负载正文,如第 5.1.1 节中所述。客户端应该继续发送请求并丢弃 100 响应。

如果请求不包含包含 100-Continue 期望的 Expect 标头字段,则客户端可以简单地丢弃此临时响应。

(已编辑,谢谢朱利安的注意到:)