Web状态码|青训营笔记

176 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第3天

在前端项目调试或者搭建时,经常会遇到各种各样的异常状态码,但很多时候只通过报错信息是很难去定位和解决这些异常。因此,本博客梳理和总结了几种常见的错误状态码及其出现的原因,希望能有所帮助,也欢迎批评指正。

客户端错误

对于客户端存在的错误,异常状态码一般为4xx的格式。

状态码异常原因
400表示一个错误请求,一般是在服务器不理解客户端请求时产生。
401表示用户未授权,一般适用于需要登陆的网站,请求身份验证时发生。
403表示禁止客户端访问,一般是由于服务器拒绝请求时产生,可能是由某些浏览器的设置或是安全软件的防火墙导致。
404最常见的异常类型,服务器找不到请求页面,一般是服务器上不存在该网页才会返回此代码。例如,该网页请求一个txt文件,您的网站上没有,。
405一般是禁用了请求中使用的方法造成的。
406无法使用请求中的内容特性响应请求的网页。
407需要授权代理,如果服务器返回此响应,还表示请求者应当使用代理。
408一般当服务器对客户端的请求超时会出现该种异常。
409服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT请求时可能会返回此代码,以及两个请求的差异列表。
410请求到资源的已经被永久删除。一般情况下和404的异常类似,但是资源以前存在而现在不存在的情况下,有时会用来替代404代码。如果资源是移动而不是删除,需要使用301状态码来指定资源的新位置。

服务器错误

对于服务器存在的错误,异常状态码一般为5xx的格式。

状态码异常原因
500一般是服务器内部的错误,需要检查后端服务器中可能出现的中断情况。
501服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502服务器作为网关或代理,从上游服务器收到无效响应。
503服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505服务器不支持请求中所用的 HTTP 协议版本。