Web namespace design: de facto standards

As the strengths of the Web's URI-oriented model reassert themselves, some longstanding issues of namespace management return to the fore. Consider, for example, Brent Simmons' handy little Huevos utility, which can float on top of your OS X screen and relay a query to one of a user-configurable set of search services. If you click to enlarge the screenshot to the right, you can see that we have sort of, but not really, standardized on a URI format for search queries.

It seems pretty clear looking at this sample that Google's style is the de facto standard, namely:

http://domain/search?q=...

I've often thought more standardization in this area would be useful. In general, there's no reason why names like "search.pl" or "query.html" or "search.php" need to exist, or why the root pattern "/search?q=xx" can't be supported. Usually it's possible to control the namespace in the Web server, using mod_perl or an ISAPI filter to map the standard pattern into something site-specific -- and ideally, to hide that site-specific pattern from the user. But hosted sites don't always have that option. In that case, perhaps a strategy like the one recently adopted by the weblog community could help. For example:

<link rel="searchURI" template="...">

That way, a tool like Huevos could discover search templates just by visiting the homepage, in the same way that RSS aggregators can discover feeds.

Some other de facto standards that could benefit from direct or indirect standardization: /about, /products, /faq, /press, /news, /developers, /jobs.


Former URL: http://weblog.infoworld.com/udell/2002/11/04.html#a497