这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天
http状态码在我们发送http请求时有着重要的作用,可以返回相应的状态码来让我们知道请求的结果。
概述
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。
| 状态 | 类别 | 含义 |
| 1XX | Informational(信息性状态码) | 接收的请求正在处理 |
| 2XX | Success(成功状态码) | 请求正常处理完毕 |
| 3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
| 4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
| 5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
1xx - 消息
这一类型的状态码,代表请求已被接受,需要继续处理。
100 (继续)
客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分。
101 (切换协议)
服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。
只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。
102 Processing
代表处理将被继续执行。
2XX - 成功
200 (OK/正常)
200 (SC_OK)的意思是一切正常。一般用于相应GET和POST请求。这个状态码对servlet是缺省的;如果没有调用setStatus方法的话,就会得到200。
201 (Created/已创建)
201 (SC_CREATED)表示服务器在请求的响应中建立了新文档;应在定位头信息中给出它的URL。
202 (Accepted/接受)
202 (SC_ACCEPTED)告诉客户端请求正在被执行,但还没有处理完。
203 (Non-Authoritative Information/非官方信息)
状态码203 (SC_NON_AUTHORITATIVE_INFORMATION)是表示文档被正常的返回,但是由于正在使用的是文档副本所以某些响应头信息可能不正确。这是 HTTP 1.1中新加入的。
3XX - 重定向
300:(多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301:(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302:(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303:(查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304:(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305:(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307:(临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
308:(永久转移)这个请求和以后的请求都应该被另一个URI地址重新发送。307、308和302、301有相同的表现,但是不允许HTTP方法改变。例如,请求表单到一个永久转移的资源将会继续顺利地执行。
4XX - 请求错误
400:(错误请求) 服务器不理解请求的语法。
401:(未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
402:该状态码是为了将来可能的需求而预留的。
403:(禁止) 服务器拒绝请求。
404:(未找到) 服务器找不到请求的网页。
405:(方法禁用) 禁用请求中指定的方法。
406:(不接受) 无法使用请求的内容特性响应请求的网页。
407:(需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408:(请求超时) 服务器等候请求时发生超时。
409:(冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
5XX - 服务器错误
500:(服务器内部错误) 服务器遇到错误,无法完成请求。
501:(尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502:(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503:(服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504:(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505:(HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。