一直记不住http常用的status code,最近思考可以这样想。http无非就是客户端和服务端之间请求连接交互嘛。结果要么成功,要么失败。
- 请求过程中,临时状态可以提示信息 -- Informational 1xx,成功了 -- Successful 2xx
- 失败了,或者客户端错误 -- Client Error 4xx,或者服务端错误 -- Server Error 5xx
- 最后剩余一个,重定向 -- Redirection 3xx
生活和日常开发常常遇见的一些status code:
- 200 OK
一切正常
- 202 Accepted
请求正在被处理,还没搞完,稍安勿躁哈
- 203 Non-authoritative Information
请求头来自本地或者第三方,未得到服务器授权
- 204 No Content
工作中遇见一个前端多条件组合查询,我后端没查到数据,返回这个
-
301 Moved Permanently
请求的url地址被永久改变了,response会返回新的url地址(HEAD请求方法除外)
-
302 Found
-
401 Unauthorized
未授权,用户没有权限访问请求的资源。客户端的请求头里必须带有“授权凭证”,如果凭证无效,依然401。 response 头里必须带有WWW-Authenticate。认证权限相关。
-
403 Forbidden
-
404 Not Found
url不对
-
405 Method Not Allowed
请求中的方法和url的资源不匹配,如Spring “GetMapping” 和 “RequestBody”混用,应改为 “GetMapping”加“RequestParam”
-
500 Internal Server Error
代码逻辑错误,有异常抛出
-
501 Not Implemented
客户端请求方法不对(非get,post, put, delete,patch, head,options, trace, connect等),服务端无法识别,不支持其请求的任何资源
- 502 Bad Gateway
-
503 Service Unavailable
服务临时过载,如双十一狂欢节,服务器扛不住,过段时间能提供正常服务;或者开发提交部署发布新功能,或者运维硬件扩容等导致服务暂时不能提供。
引用