Ich verwende Firefox 35 zum Debuggen des HTTP-Protokolls, stoße dabei aber auf einige merkwürdige Dinge.
Der Header der Serverantwort lautet:
HTTP/1.1 401 Authorization Required
Date: Tue, 27 Jan 2015 06:12:00 GMT
Server: Apache/2.2.27 (Win32) mod_ssl/2.2.27 OpenSSL/1.0.1j DAV/2 SVN/1.8.11 mod_auth_sspi/1.0.4
WWW-Authenticate: NTLM
WWW-Authenticate: Basic realm="SSPI realm (SSPIOfferBasic On)"
Content-Length: 401
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
Aber Firefox verbindet die beiden WWW-Authenticate:
Zeilen, sodass es ziemlich irreführend aussieht (Bildschirmfoto unten). Gibt es eine Möglichkeit, das zu beheben? (Vielleicht eine geheime Konfigurationsoptimierung)
Ich habe eine Erweiterung wie httpfox ausprobiert und es besteht das gleiche Problem.
Antwort1
Dies ist kein Fehler. Es ist die Einhaltung vonRFC 2616
Mehrere Nachrichtenkopffelder mit demselben Feldnamen KÖNNEN in einer Nachricht vorhanden sein, wenn und nur wenn der gesamte Feldwert für dieses Kopffeld als Komma-getrennte Liste definiert ist [d. h. #(Werte)]. Es MUSS möglich sein, die mehreren Kopffelder in ein „Feldname: Feldwert“-Paar zu kombinieren, ohne die Semantik der Nachricht zu ändern, indem jeder nachfolgende Feldwert an den ersten angehängt wird, jeweils durch ein Komma getrennt. Die Reihenfolge, in der Kopffelder mit demselben Feldnamen empfangen werden, ist daher für die Interpretation des kombinierten Feldwerts von Bedeutung, und daher DARF ein Proxy die Reihenfolge dieser Feldwerte NICHT ändern, wenn eine Nachricht weitergeleitet wird.