- From: Scott Lawrence <lawrence@agranat.com>
- Date: Mon, 08 Sep 1997 09:22:19 -0400
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>>>>> Scott Lawrence <lawrence@agranat.com> wrote: SDL> It has been our observation that most browsers handle multiple SDL> realms in the same server poorly; once they have established a set SDL> of credentials for a given server, they will always send that set SDL> until it fails. If the failure presents a new realm, most browsers SDL> forget the credentials for the first realm. >>>>> "FM" == Foteos Macrides <MACRIDES@SCI.WFBR.EDU> writes: FM> I'm a bit concerned that the logic you (and John, and Jim) FM> are bringing to this issue, and reflected in your "event" test, may FM> be on the verge of creating a post hoc logic versus current practice FM> pickle, homologous to that for redirection. FM> It is classic libwww behavior to guess a template for a Basic FM> realm, and that is current practice for software which has it as a FM> heritage. I evidently didn't make clear what I was objecting to; I don't have any problem with the behaviour you describe for libwww in terms of guessing the protection space; in fact, I don't have any problem with the client sending the realm credentials on any request to a new URL in the same server until they are refused (regardless of hierarchy - I prefer not to get too hung up on the URL space as a tree). Here is the case I have a problem with (removing headers not relevant to this discussion): First request - no credentials supplied: > GET http://server/demo.html HTTP/1.1 < HTTP/1.1 401 Unauthorized < WWW-Authenticate: Basic realm="Demonstration" Second request, same URL with credentials: > GET http://server/demo.html HTTP/1.1 > Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== < HTTP/1.1 200 OK Third request - a new URL, client sends same credentials (same server, so I think this is ok, some would say they shouldn't be sent unless the path had a common root - not my current point). Server returns a new realm value: > GET http://server/other.html HTTP/1.1 > Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== < HTTP/1.1 401 Unauthorized < WWW-Authenticate: Basic realm="Different" Fourth request - establish good credentials for the 'Different' realm: > GET http://server/other.html HTTP/1.1 > Authorization: Basic QWxhZGRpbjpvcGXXXXXXXQ== < HTTP/1.1 200 OK Now the user returns to the original URL: (http://server/demo.html), which the client learned in the first request was in realm 'Demonstration'. Clients we have tested will have forgotten this and send the credentials for realm 'Different', and when they get the 401 response will reprompt the user for the 'Demonstration' realm again. -- Scott Lawrence EmWeb Embedded Server <lawrence@agranat.com> Agranat Systems, Inc. Engineering http://www.agranat.com/
Received on Monday, 8 September 1997 06:26:37 UTC