Re: [XML-URI] HTTP extensions framework comparison

> 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