我已通读RFC 2617,但如果支持多个方案,则无法在此处或其他任何地方找到分隔符。例如,假设同时支持 Basic 和 Digest。我知道它可能会这样出现:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic
WWW-Authenticate: Digest
但我也读到两者都可以列为一行,但没有人展示示例或描述要使用的分隔符。我已经看到可以在单个方案中使用逗号的警告:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest param1="foo", param2="bar"
我还读到如果在一个方案中使用逗号,其他方案必须放在单独的行上。所以我想在上述情况下,如果我们添加 Basic,它会如下所示:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest param1="foo", param2="bar"
WWW-Authenticate: Basic
这很简单。但现在假设你只有一条线
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Scheme stuff, morestuff, more stuff
那是哪个?那是逗号分隔的方案列表,还是只有几个参数的方案?