HTTP 常见的状态码

xiaoxiao2021-03-01  10

说到 404 Not Found 估计大家都很熟悉,资源没有被找到,这是一个很常见的错误状态码。今天就聊一聊有 HTTP 的一些常见状态码。

HTTP 状态码分五类:

1xx 信息性状态类,接收的请求正在处理2xx 成功状态类,请求正常处理完毕3xx 重定向状态类,需要进行附加操作以完成请求4xx 客户端错误码状态类,服务器无法处理请求5xx 服务器错误状态类,服务器处理请求出错

200 OK

这个状态码是最常见的状态码没有之一,表示请求成功并且请求正常返回。

204 No Content

请求被处理了,但是响应里面没有实体内容。这个状态使用非常少,建议使用 200 代替。

301 Moved Permanently

永久性重定向,该状态码表示请求的资源已被分配了新的 URI,以后访问新的 URI 就可以了,一般用于游览器书签的更新。

302 Found

临时性重定向,表示请求的资源已被分配了新的 URI。一般用于 URI 参数不完整的时候临时跳转首页一类的地方(更大的可能是 400 或者 500)。

400 Bad Request

请求报文中存在语法错误。一般发送 GET 请求的时候,参数没有写对或者没有写全,都会返回这个错误状态。

403 Forbidden

访问被服务器拒绝,一般是用户认证没有通过,或者用户权限不够造成。

404 Not Found

请求的资源不存在,一般是 URI 拼写错误造成,或者拒绝处理而又不想给出原因,比如:爬虫。

500 Internal Server Error

请求在服务器端执行的时候发生了错误,一般参数处理出现异常又没有捕捉就会给出这个错误。

一个新手经常犯的错误就是,明明返回的是 200 却提示错误信息。这里要明确一点,HTTP 协议是应用层,状态码在报文头部里,而错误信息在报文主体里。比如:A 发送一个数据给 B ,B 说你这个数据有问题,请重新发送。从某种角度来说,A 和 B 完成了一次交流(200),但是 B 说 A 错了。就像你网页提示你帐号密码输入错误一样(PS:举例帐号只是方便理解,具体情况具体分析)。

上面我是总结的一些常见的状态码,并且简单的举例了一些可能出现的场景。但是随着程序的健壮性越来越好,在游览器一般都只能看见 200 和 404,其余状态码都很少见了。


欢迎大家关注我的微信公众号:卡戎

如有错误,欢迎留言!

转载请注明原文地址: https://www.6miu.com/read-3850162.html

最新回复(0)