开发的时候,对于http返回的状态码,每次都去度娘百度一番,感觉有点浪费时间,这里做下小结
当我们从客户端向服务器发送请求时 ,服务器向我们返回状态码 ,状态码就是告诉我们服务器响应的状态 。通过它,我们就可以知道当前请求是成功了还是出现了什么问题
状态码是由 3 位数字和原因短语组成的(比如最常见的:200 OK)
其中第一位数字表示 响应类别,响应类别从1到5分为五种
状态码 | 相应类别 | 描述 |
---|---|---|
1XX | 信息性状态码(Informational) | 服务器正在处理请求 |
2XX | 成功状态码(Success) | 请求已正常处理完毕 |
3XX | 重定向状态码(Redirection) | 需要进行额外操作以完成请求 |
4XX | 客户端错误状态码(Client Error) | 客户端原因导致服务器无法处理请求 |
5XX | 服务器错误状态码(Server Error) | 服务器原因导致处理请求出错 |
状态码响应类别的的定义是必须遵守的,后面的两个数字服务器自己DIY也没什么问题 ,RFC2616(用来指定HTTP协议标准的文档)
常见的状态码解析:
200 OK
表示请求被服务器正常处理
302 Found
临时重定向,表示请求的资源临时搬到了其他位置 ,请求的资源暂时被配到到了新的URI ,资源是临时移动,资源在将来可能还会改变
400 Bad Request
表示请求报文存在语法错误或参数错误,服务器不理解
401 Unauthorized
表示发送的请求需要有HTTP认证信息或者是认证失败了
返回401的响应必须包含一个适用于被请求资源的WWW-Authenticate首部以质询用户信息 ,浏览器初次接受401时,会弹出认证窗口
403 Forbidden
表示对请求资源的访问被服务器拒绝了
服务器可以对此作出解释,也可以不解释
想说明的话可以在响应实体的主体部分描述原因
比如说你可能没有访问权限
404 Not Found
表示服务器找不到你请求的资源
500 Internal Server Error
服务器内部错误
502
错误网关
503
服务器暂时不可用,
由于超载或进行停机维护,通常,这只是一种暂时的状态。
504
网关超时