Я использую дайджест-аутентификацию, чтобы проверить, знает ли пользователь идентификатор и пароль сервера. Как только клиент вошел на сервер, потому что он знает учетные данные (сервер сопоставил свой хэш-ответ с хеш-ответом клиента), все его запросы имеют заголовок авторизации. Это нормально? Заголовок авторизации не отправляется только один раз?
После того, как клиент прошел Digest Challenge, все его запросы выглядят следующим образом (все запросы имеют заголовок авторизации):
GET /XMLAliasRegDev HTTP/1.1
***Here's the Host***
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: */*
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://Here's the Host/webpage/html/registry.htm
Authorization: Digest username = "xxx", realm = "xxx", nonce = "b463d286b77fba6535adc1902e43377a", uri = "/XMLAliasRegDev", response = "4bedc10d3fd7f3fb90ab518ffead238b", opaque = "eb2cdfdb6ebd0e78c0737bc4d58d0d3c"
Connection: keep-alive
GET /webpage/scripts/regjs.js HTTP/1.1
***Here's the Host***
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0
Accept: */*
Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://Here's the Host/webpage/html/registry.htm
Authorization: Digest username = "xxx", realm = "xxx", nonce = "b463d286b77fba6535adc1902e43377a", uri = "/webpage/scripts/regjs.js", response = "95cd7035c6abf7666fbdb0068aa69b9a", opaque = "eb2cdfdb6ebd0e78c0737bc4d58d0d3c"
Connection: keep-alive
Если сервер сопоставил ответы и сервер отправляет ресурсы клиенту, почему клиент отправляет заголовок авторизации? ТЫ!
PS: Я использую Arduino в качестве сервера.
Is this normal?
Абсолютно.
The authorization header is not sent only once?
Нет, как написано в RFC 2069, действительный ответ содержит ответ на запрос. Затем он отправляется во всех запросах на защищенные ресурсы в области с дайджест-аутентификацией.