为何现代Web浏览器不再显示HTTP身份验证的realm参数值
当使用HTTP身份验证托管网站时,如果客户端未完成身份验证,服务器会返回401 Unauthorized响应,其中包含WWW-Authenticate请求头。该请求头中的可选指令为realm:
描述受保护区域的字符串。realm允许服务器对其保护的区域进行分区(如果支持分区的身份验证方案允许该操作),并告知用户需要输入哪一组特定的用户名/密码。
(以上强调为原文标注)
假设www.example.com需要身份验证,且配置的realm值为Test Area。过去大多数Web浏览器收到此类响应时会弹出登录对话框,显示类似“需要授权。站点 www.example.com 提示:'Test Area'”的内容。
但至少最新版本的Chrome、Firefox、Edge现在都只展示通用提示信息,不会包含realm值。有意思的是IE浏览器仍会显示realm值(所有截图均来自64位Windows 10系统):
Chrome(v93.0.4577.82)

Firefox(v92.0)

Edge(v93.0.961.52)

IE(v11.1411.18362.0)

经确认Firefox和Edge过往版本均会显示realm值,Chrome更早的版本可能也有相同逻辑,看起来Chrome是首个取消该展示的浏览器。目前全网未检索到现代浏览器集体取消显示realm值的官方说明。
实际业务场景中显示realm值对用户很有帮助,可让用户明确知晓需要使用哪组登录凭证,但当前没有方法强制浏览器显示该值,希望了解浏览器方做出该调整的合理原因。
内容的提问来源于stack exchange,提问作者dcsmith926
相关产品推荐
相关产品推荐

