- From: Scott Lawrence <lawrence@agranat.com>
- Date: Tue, 25 Nov 1997 09:38:54 -0500
- To: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>>>>> "RTF" == Roy T Fielding <fielding@kiwi.ics.uci.edu> writes: RTF> As a general rule, do not use a status code to indicate something which RTF> is not status -- doing so breaks orthogonal design issues. RTF> If the same functionality can be accomplished with a header field RTF> (new or existing), then do that instead. You make an excellent point. We could add this to the Authentication-Info header as follows: 3.2.3 The Authentication-Info Header When authentication succeeds, the server may optionally provide an Authentication-Info header indicating that the server wants to communicate some information regarding the successful authentication. AuthenticationInfo = "Authentication-Info" ":" ( discard | 1#( digest | nextnonce ) ) discard = "discard" nextnonce = "nextnonce" "=" nonce-value digest = "digest" "=" entity-digest If the 'discard' indication is sent in a response, the client MUST discard any user credentials which were used to authenticate the corresponding request. The client MAY retain the realm value associated with the request so that it can prompt the user for new credentials before transmitting a subsequent request (note that this only saves a round trip for authentication schemes which do not utilize a nonce from the server). [... and a corresponding addition to the description of Proxy authentication] Note that this makes the Authentication-Info header field applicable to Basic authentication as well as Digest (but only the 'discard' value would be meaningfull in Basic). As Roy points out, this has the advantage that it can be combined with any status value. I believe that it is backward compatible IFF deployed client parsers for the Authentication-Info header have been written such that they can tolerate and ignore an unexpected value (the robustness principle would suggest that they should have been). Since I am aware of only a couple of clients that have implemented Digest this is easy to check. If this turns out to be the case then the backward compatibility is no worse than when using status values; that is, it will be ignored by existing implementations, leaving credentials lying around, which is the only alternative today anyway. -- Scott Lawrence EmWeb Embedded Server <lawrence@agranat.com> Agranat Systems, Inc. Engineering http://www.agranat.com/
Received on Tuesday, 25 November 1997 06:55:18 UTC