mark nottingham

Decentralised Registration

Monday, 12 January 2004

HTTP APIs

Wouldn’t it be great if, whenever a business, government organization or just the guy down the block came up with a new format for their documents, they could easily get a media type, so that the format would be a first-class citizen on the Web?

Of course, they already can, but the hassles that you have to go through to get into the centralised registry dissuade most people from doing so.

It used to be that this high bar was desirable; the software that understood and created these documents (e-mail clients and Web browsers, mostly) was produced by a few companies, and slow to change. That isn’t the case any more; with the advent of XML and its use for business messaging, new formats are created every day, along with quite specialized software that needs to work with them.

Almost all of these new formats are created without a media type, because it’s too much of a hassle for them to be registered. The effects are bad both for people who want to use that format on the Web, and for the health of the Web itself; because there’s no easy way to identify a new format, people invent new ones (often using QNames, which, as we’ve already discussed, are evil), or they bypass the Web and invent their own infrastructure.

In a Web-perfect world, we’d use URIs to identify formats, instead of media types, and we wouldn’t have these problems, because pretty much anybody can mint a URI. Unfortunately, HTTP and everything else already uses media types for this, so the most pragmatic thing to do is fix the bottleneck.

I’ve written an Internet-Draft proposing one way to work around this; it doesn’t use URIs (because shoving them into the lexical space of media types is too convoluted), but it does leverage DNS in a similar manner.

Please take a look and post any comments here, as well as to the ietf-types list. Even more so, I’d like people to agitate for something along these lines to be accepted as an Internet Standard, so we can get past this.

P.S. Yes, I realise that it’s dated January 2003, not 2004; it was originally submitted in December, but there was a mix-up; I’ll make sure I get it right in -01.


2 Comments

Travis said:

Looks like a fine proposal. Well justified, simple, and similar to other namespace conventions (e.g. Java package naming, with which this proposal shares many of the same advantages and drawbacks). My lack of further comment indicates that I don’t see anything wanting. (I don’t deal with media-types particularly often though.)

Tuesday, January 13 2004 at 7:24 AM

Travis said:

Btw, I read the draft. I was not just responding to your discussion on this page.

Tuesday, January 13 2004 at 7:25 AM