- From: Henrik Frystyk Nielsen <frystyk@microsoft.com>
- Date: Thu, 20 Jul 2000 09:01:30 -0700
- To: <xml-uri@w3.org>, "John Aldridge" <john.aldridge@informatix.co.uk>
> Suppose a web server looks for this by doing a case sensitive string > comparison with > "http://www.informatix.co.uk/headers/" > is it implementing the extension properly? Suppose it did a case sensitive > string comparison with > "http://WWW.INFORMATIX.CO.UK/headers/" > instead. Would this be a correct implementation too? > > My reading of your second rule is that the web server is the application > "consuming" the name, and that it must "at a minimum use case-sensitive > comparison", so the answer to both these questions is "yes". > > Now suppose a web browser generates headers in these two forms when sending > a request to the server. Are they both correct implementations? > > My reading of your first rule is that the web browser is the application > generating the name, and it is not attempting associate different semantics > with the two forms (it wants an MD5 checksum in both cases). So the > answer, again, is "yes" to both cases. > > But now we have two "correct" implementations which do not interoperate, so > I don't think this can be what you intended. This has nothing to do with interoperability. Stupid implementations are stupid and smart applications are smart for a reason: one can do more than the other but they can still interoperate. Take the example of HTTP redirection: A stupid client goes to a server and gets a redirection - it doesn't know how to handle redirections (which is fully HTTP/1.1 compliant) and so returns 301 to the caller. A smart implementation that knows about 301 can go get the response at the redirected location. They both interoperate with the server - the fact that they don't have the same set of features doesn't make one of them more or less compliant. If the stupid client didn't know that it had even received a response then that would be a lack of interoperability. Very similarly, an application that only does case-sensitive comparison of the full http URI will not know that "http://www.informatix.co.uk/headers/" and "http://WWW.INFORMATIX.CO.UK/headers/" are equal, but the result is exactly the same as if it didn't know the extension in the first place. The important thing to note is that the stupid app *does* interoperate as it knows that it received an XML namespace and it knows that it doesn't know about it. This of course applies directly to the XML NS debate. Henrik Frystyk Nielsen mailto:frystyk@microsoft.com
Received on Thursday, 20 July 2000 12:02:39 UTC