根据RFC2616的说法,如果我在响应对我的(Ruby)服务器的请求时返回401,我“必须包括一个WWW-Authenticate报头字段”。这是真的吗?不设置标题似乎没有负面影响。我使用Merb作为web框架,它不会强迫我设置头部。
是我漏掉了什么,还是这条规则在违规中更受尊重?
Web框架是否应该强制开发人员在返回401时设置标头?
发布于 2010-04-08 05:35:05
问题是您是否期望用户能够从401失败导航到成功的身份验证。如果您未能提供WWW-Authenticate报头,那么您正在将401的含义从“您必须提供凭据”更改为“我们不喜欢您这里的种类”。这对于您的目的来说可能没问题,但拒绝凭据而不提供解决问题的方法的概念中固有的不礼貌是“必须”背后的根源。
发布于 2010-04-08 15:21:31
如果您希望客户端进行身份验证,则发送401,在这种情况下,您需要告诉它如何进行身份验证。
那么你想让客户端做什么呢?如果它只是一条“你不能这样做”的消息,考虑一下403。
https://stackoverflow.com/questions/2596060
复制相似问题