我收到来自网络服务器的响应的 401 状态代码。但是,如果我捕获 401 异常并处理数据,则响应实际上包含与授权请求相同的信息 - 我有一个不同的客户端收到状态 200 和数据来确认这一点。Fiddler 也确认了数据。
我认为这是服务器的不正确行为;但是,我找不到这样的规范来确认。我已通读 RFC 2616 和 2617,最相关的片段似乎是:
如果 401 响应包含与先前响应相同的质询,并且用户代理已经尝试了至少一次身份验证,则应该向用户呈现响应中给出的实体,因为该实体可能包含相关的诊断信息。
然而,根据实体的一般定义,实体理论上可以是发送给授权请求的数据。
我会更喜欢 401 并且没有数据/身份验证数据,或者 200 有授权数据。但我担心这可能是一个缺陷并导致我在路上遇到问题。我不知道我是否正确地进行了 401 操作。
是否有任何规范规定不应将授权数据返回给生成 401 响应的客户端请求?或者这种情况是否有效?