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服务不可用 ( 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

 

posted @ 2020-12-08 13:04  Gloria_Chen  阅读(93)  评论(0)    收藏  举报