Http status code学习
对于越来越流行的前后端分开的开发,后端负责api开发设计,前端只需关注数据展示和前端的逻辑即可。这样前后端就需要对某些信息达成共识,比如http的方法和http status code.
Http的方法
CRUD(get, post, put, patch, delete)
HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别
1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
常见状态码:
- 200 OK - 客户端请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 302 - 临时跳转
- 400 Bad Request - 客户端请求有语法错误,不能被服务器所理解
- 401 Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
- 404 - 请求资源不存在,可能是输入了错误的URL
- 500 - 服务器内部发生了不可预期的错误
- 503 Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
常用 Http status code:
1** :一般指的是一个请求的中间过程
100 请求未结束,继续请求 continue
101 switching protocol,协议转换,一般在使用web socket时候会用到
2**: 一般指请求处理成功
200 请求成功, get返回成功
201 资源创建, post创建成功
202 accept,请求正在处理,还未完成
203 修改成功, put成功
204:no content, delete 成功
3**: 一般指重定向
301,302 只支持get请求、307,308支持post,301,308永久重定向允许缓存,使用浏览器本地缓存
305(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
4**: 一般指客户端请求错误
400 Bad Request, 请求发送失败
401 未被授权的访问,auth不对404 访问的资源不存在,路由错误
405 访问资源不允许,比如resource只支持get但是用post访问
408 request timeout
409资源冲突
413 payload too large,服务器拒绝处理
415 不支持媒体类型或是不支持的编码
5**: 一般指服务器端错误
500 服务器内部错误
502 bad gateway
503服务不可用 ( 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。)
浙公网安备 33010602011771号