HTTPQUERY
Русский

Proxy-Authenticate

Применение

Когда клиент отправляет запрос через прокси-сервер, требующий учётных данных, прокси отвечает кодом состояния 407 и включает в ответ заголовок Proxy-Authenticate. Этот заголовок сообщает клиенту, какую схему аутентификации использовать, и передаёт параметры, необходимые для формирования учётных данных.

Получив запрос на аутентификацию, клиент отправляет запрос повторно, добавив заголовок Proxy-Authorization с подходящими учётными данными. Прокси проверяет учётные данные и в случае успеха пересылает запрос серверу назначения.

Заголовок Proxy-Authenticate работает на уровне прокси. Аналогичный заголовок для аутентификации на сервере-источнике — WWW-Authenticate, который вызывает ответ 401, а не 407.

Несколько заголовков Proxy-Authenticate в одном ответе означают, что прокси принимает более одной схемы. Клиент выбирает самую надёжную схему, поддерживаемую обеими сторонами.

scheme

Значение scheme определяет метод аутентификации. Распространённые значения — Basic, Digest, Bearer и Negotiate. Полный список зарегистрированных схем ведёт IANA.

realm

Параметр realm — необязательная строка, описывающая защищаемое пространство. Клиенты обычно показывают значение realm в запросе учётных данных. Если параметр опущен, клиент по умолчанию показывает имя хоста прокси.

Параметры, зависящие от схемы

Каждая схема аутентификации определяет дополнительные параметры. Схема Digest включает nonce, qop, algorithm и opaque. Схема Bearer включает scope и error. Эти параметры указываются в значении заголовка после имени схемы.

Пример

Прокси, требующий аутентификации Basic, возвращает запрос с описательным realm. Значение realm подсказывает пользователю, какие учётные данные ожидаются.

Proxy-Authenticate: Basic realm="Corporate Proxy"

Прокси, поддерживающий схему Digest, включает сгенерированный сервером nonce для защиты от атак повторного воспроизведения.

Proxy-Authenticate: Digest realm="proxy@example.re", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", qop="auth"

Прокси, предлагающий несколько схем аутентификации, перечисляет каждую на отдельной строке. Клиент выбирает самый надёжный из поддерживаемых вариантов.

Proxy-Authenticate: Negotiate
Proxy-Authenticate: Basic realm="Internal Network"