Warum würden meine REST-Service-.NET-Clients jede Anforderung ohne Authentifizierungsheader senden und sie dann mit Authentifizierungsheader wiederholen?

Wir führen zufällig einen REST-Webdienst mit API aus, für den Clients @ verwenden müsseBasi Authentifizierung. Wir haben eine Reihe von Mustern in verschiedenen Sprachen erstellt, die zeigen, wie Sie mit unserem Service interagieren können. Jetzt überprüfe ich die IIS-Protokolle des Dienstes und stelle fest, dass das folgende Muster häufig auftritt:

eine Anfrage kommt, wird mit HTTP Code 401 abgelehnt dieselbe Anfrage wird erneut gesendet und ist erfolgreich

, wie es aussieht, wird die erste Anfrage ohne @ gesendGenehmigunheader und dann wird der zweite mit den richtigen Headern gesendet und ist erfolgreich. Die meiste Zeit enthält der Protokolldatensatz "user-agent", die gleiche Zeichenfolge, die wir in unser .NET-Beispiel eingefügt haben.

So nehme ich an, dass das Problem nur bei .NET-Programmen liegt. Das Problem wird mit unserem Beispielcode nicht reproduziert, daher gehe ich davon aus, dass die Benutzer den Code irgendwie geändert oder ihren eigenen Code von Grund auf neu geschrieben haben.

Wir haben versucht, die Benutzer zu kontaktieren, aber anscheinend wollen sie keine Zeit in die Forschung investieren. Es wäre also schön, das wahrscheinlichste Szenario zu finden, das zu diesem Verhalten von .NET-Programmen führt.

Warum würden sie das tun? Warum sollten sie die Header nicht beim ersten Versuch anhängen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage