Phillip J. Eby wrote:
At 07:48 PM 4/28/2006 -0500, Ian Bicking wrote:
One is not more complex than the other.
The implementation has more moving parts, but I was talking about
conceptual complexity.
The most common web servers do not match path prefixes, they have
directories and files. You can't have /foo/bar without a /foo. I see
little value in implementing a system where you *can* have /foo/bar
without a /foo. HTTP URLs are inherently and explicitly hierarchical;
they aren't arbitrary strings that happen to have slashes in them, which
is what prefix matching treats them as.
Apache matches prefixes with Alias. It does not require directories, it
doesn't care about the existence of intermediate directories. It
doesn't even care about slashes (though I find that behavior unhelpful).
From what I can tell Lighttpd uses regex matching on the path, so it
doesn't treat / as special. Xitami also seems to just be a path.
Because applications use PATH_INFO in whatever way they want, there is
no way to know if /foo exists. If / exist, then /foo exists, even
though it may return a 404. If you have an app at /, and an app at
/private/cms, then perhaps /private is served by the application at /.
The matcher doesn't know, and doesn't need to know.
Prefix matching is how web servers work, and for good reason. Let's
just stick with the conventional implementation.
--
Ian Bicking | [EMAIL PROTECTED] | http://blog.ianbicking.org
___
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe:
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com