HTTP最常用状态码
HTTP状态码简介
表示网页服务器“超文本传输协议”响应状态的3位数字代码
通俗来讲就是在实际开发中,当用户访问一个网页时,浏览器会向网页所在服务器发出请求。此网页所在的服务器会返回一个包含 HTTP 状态码的信息头用以响应浏览器的请求。
常用的HTTP状态码
1xx:以1开头的状态码表示服务器收到请求,需要请求者继续执行操作。
以100为例:
100 Continue继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息。
2xx:以2开头的状态码表示请求成功,并且服务端已做相应的处理。
最常见的有:200表示请求成功,一般用于GET与POST请求。
3xx:以3开头大部分跟重定向有关(重定向:给网络请求重新定个方向,让浏览器访问其他路径)
最常见的有:
301永久性重定向:假如某网站的网址已永久迁移,当用户不知情时很有可能访问原网址,此时服务端可以响应301和新网址路径,告诉用户我们已经搬家了,新家在某某地方。浏览器得知“新家地址”后请求新路径成功访问!因此重定向是两次请求,两次响应。
302临时性重定向:“临时搬家”,跟301的区别就是原资源路径很有可能会被重新使用,并不是永久抛弃。
303临时性重定向:“临时搬家”,并建议浏览器使用GET请求继续访问新路径。
304未修改:这个状态码跟重定向关系不大,主要是跟缓存相关。当客户端访问服务端的某个资源时,若服务端发现从上一次访问时间到此次访问时间的这段期间,该资源未发生过变化,则响应304告诉浏览器。意思是:你想要的这个东西没动过,如果你本地有缓存过的话,直接用你本地的就好了。
4xx:以4开头的状态码表示客户端出错
最常见的有:
400客户端请求语法出错:此时应该检查客户端请求的语法和格式。
401未授权:该状态码最常出现的场景为请求未携带身份认证信息,如登录的token。用户在未登录的情况下访问了个人中心或使用其他需要登录才有权限的功能时,服务端常响应此状态码。
403禁止访问:服务器理解请求客户端的请求,但是拒绝执行此请求。一般是指该资源不允许访问,比如法律禁止,敏感信息等。与401 Unauthorized不同,服务器知道客户端的身份
404找不到资源:服务器无法根据客户端的请求找到资源(网页)。当客户端接收到此状态码时,可以设置"Not Found"的个性页面;同时检查请求路径是否写错。
405请求方式被禁止:该状态码说明客户端请求的方式有误,如当前资源要求只能用get请求访问,却错误地使用了post请求,此时应修改为正确的请求方式。
413Request Entity Too Large: 请求体的数据过大。
5xx:以5开头的状态码表示服务端出错
最常见的有:
500服务器内部错误:有可能是服务端项目没有开启,或者是服务端内部出现了问题,导致无法正常运行。
说明
HTTP状态码指的是HTTP响应行的状态码,实际项目中也可以自定义响应体的状态码来细分,前端开发人员根据自定义状态码使用响应拦截器对业务进行拦截处理。以上是最常见的HTTP状态码,小型项目中完全够用了。