401 Unauthorized(未经授权):表示请求需要进行身份验证,但客户端未提供有效的身份验证凭据。通常,当用户尝试访问需要身份验证的资源时,服务器会返回401状态码,以提示客户端提供有效的身份验证凭据(如用户名和密码)。客户端可以通过重新发送带有正确凭据的请求来解决此问题。
403 Forbidden(禁止访问):表示服务器理解请求,但拒绝执行该请求。与401状态码不同,403状态码表示客户端提供了有效的身份验证凭据,但服务器不允许访问所请求的资源。这可能是由于权限限制、访问控制列表(ACL)或其他安全性措施引起的。客户端无法通过重新发送请求来解决此问题,应该询问管理员或提供者获取正确的访问权限。
500 Internal Server Error(服务器内部错误):表示服务器在处理请求时遇到了意外的错误,无法完成请求。这是一个通用的HTTP服务器错误状态码,表示服务器遇到了无法处理的错误情况。该错误可能是服务器出现了代码错误、配置问题或其他异常导致的。客户端通常无法解决此问题,应该联系服务器管理员以获取帮助。
这些状态码可以帮助客户端和服务器更好地进行通信和错误处理。客户端可以根据这些状态码来了解错误的具体原因,并采取适当的措施来处理错误。
这三种常见的状态码用于返回error的时候,401更偏向于当前用户的信息是否都齐全,403更偏向根据当前用户齐全的信息去判断是否有权限访问,500是系统db查询出错、redis出错的system的错误。
生活举例:
可以用人的身份证做类比,身份证上的信息不齐全就是401错误(缺少名字,地址啥的、国籍),403就像你是国外的国际地址是不允许进入中国的。500就像你是偷渡的没有身份信息。