我应该在基于html的登录表单上返回http 401状态代码吗?该页面是专用的登录表单,没有任何其他有意义的内容,只是网站框架。但是,URL可以用于确实具有有意义内容但需要登录的页面。请注意,此设置仅返回状态码401,不会提示用户进行基本身份验证。
查看标准,看来401对于基于html的登录表单来说是不合适的状态代码。但是,我从未经历过或听说过这样做有任何不良后果。
发送401时,“响应必须包含一个WWW-Authenticate标头字段(第14.47节),其中包含适用于所请求资源的质询。”
这里提到的要求:
http://tools.ietf.org/html/rfc2616#section-10.4.2
详细在这里:
http://tools.ietf.org/html/rfc2617#section-3.2.1
我知道我可以通过多种方法说服搜索引擎说服它们根据登录表单的存在对页面进行索引,但我更喜欢使用http状态代码,尤其是401,因为它的定义似乎是如果不满足WWW-Authenticate标头要求,则为完美匹配。
有什么原因在这种情况下我不应该使用401?从语义上说,未在http级别被授权与在应用程序级别被授权之间有什么区别?显然,您可以同时拥有两者,但是难道不是为了在应用程序级别不实现HTTP身份验证而在http级别进行身份验证吗?