Por que meus clientes .NET do serviço REST enviavam todas as solicitações sem cabeçalhos de autenticação e tentavam novamente com o cabeçalho de autenticação?

Por acaso, executamos um serviço web REST com API exigindo que os clientes usemBasic autenticação. Criamos um conjunto de amostras organizadas em vários idiomas, mostrando como interagir com nosso serviço. Agora estou revisando os logs do IIS do serviço e vejo que o seguinte padrão acontece com bastante frequência:

uma solicitação chega, é rejeitada com o código HTTP 401o mesmo pedido é reenviado e é bem-sucedido

que parece que o primeiro pedido é enviado semAutorização cabeçalhos e, em seguida, o segundo é enviado com os cabeçalhos certos e é bem-sucedido. Na maioria das vezes, o registro de log contém "user-agent", que é a mesma string que plantamos em nossa amostra do .NET.

Então, suponho que o problema seja apenas nos programas .NET. O problema não é reproduzido com o nosso código de exemplo, portanto, suponho que os usuários tenham modificado o código ou escrito o seu próprio a partir do zero.

Tentamos entrar em contato com os usuários, mas aparentemente eles não querem investir tempo em pesquisas. Portanto, seria bom descobrir qual é o cenário mais provável que leva a esse comportamento dos programas .NET.

Por que eles fariam isso? Por que eles não anexaram os cabeçalhos na primeira tentativa?

questionAnswers(1)

yourAnswerToTheQuestion