HTTP 状态码 401 与 403 的区别

文章目录

    例如,在调用微信小程序后台服务接口时,如果没有带 token,应该返回 401 状态码还是 403?

    容易混淆的名字

    英文文档里

    • 401 Unauthorized
    • 403 Forbidden

    看上去无法直接分辨两者的差异。

    区别

    401,是说服务端不知道你是谁。

    例如,token 失效,或者 token 缺失,甚至 token 伪造。导致服务端无法识别你的身份,这时会返回 HTTP Status Code 401。客户端此时只能重试。

    403,是说虽然服务端已经知道了你是谁,但是你没有权限去访问该数据资源。

    例如,你登录成功了,但是你却非要去访问其他人的隐私内容,或者你无权访问的内容。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式