Я прочитал RFC 2617 и не могу найти там или где-либо еще, что такое разделитель, если поддерживаются несколько схем. Например, предположим, что базовые и дайджесты поддерживаются. Я понимаю, что это может выглядеть так:
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
Что это? Является ли это списком схем с разделителями-запятыми или это одна схема с несколькими параметрами?