« Student perspectives on technology in UK universities | Main | Tools for sharing - Posterous »

November 09, 2010

Is (a debate about) 303 really necessary?

At the tail end of last week Ian Davis of Talis wrote a blog post entitled, Is 303 Really Necessary?, which gave various reasons why the widely adopted (within the Linked Data community) 303-redirect pattern for moving from the URI for a non-Information Resource (NIR) to the URI for an Information Resource (IR) was somewhat less than optimal and offering an alternative approach based on the simpler, and more direct, use of a 200 response. For more information about IRs, NIRs and the use of 303 in this context see the Web Architecture section of How to Publish Linked Data on the Web.

Since then the public-lod@w3.org mailing list has gone close to ballistic with discussions about everything from the proposal itself to what happens to the URI you have assigned to China (a NIR) if/when the Chinese border changes. One thing the Linked Data community isn't short of is the ability to discuss how much RDF you can get on the head of a pin ad infinitum.

But as John Sheridan pointed out in a post to the mailing list, there are down-sides to such a discussion, coming at a time when adoption of Linked Data is slowly growing.

debating fundamental issues like this is very destabilising for those of us looking to expand the LOD community and introduce new people and organisations to Linked Data. To outsiders, it makes LOD seem like it is not ready for adoption and use - which is deadly. This is at best the 11th hour for making such a change in approach (perhaps even 5 minutes to midnight?).

I totally agree. Unfortunately the '200 cat' is now well and truly out of the 'NIR bag' and I don't suppose any of us can put it back in again so from that perspective it's already too late.

As to the proposal itself, I think Ian makes some good points and, from my slightly uninformed perspective, I don't see too much wrong with what he is suggesting. I agree with him that being in the (current) situation where clients can infer semantics based on HTTP response codes is less than ideal. I would prefer to see all semantics carried explicitly in the various representations being served on the Web. In that sense, the debate about 303 vs 200 becomes one that is solely about the best mechanism for getting to a representation, rather than being directly about semantics. I also sense that some people are assuming that Ian is proposing that the current 303 mechanism needs to be deprecated at some point in the future, in favour of his 200 proposal. That wasn't my interpretation. I assume that both mechanisms can sit alongside each other quite happily - or, at least, I would hope that to be the case.


TrackBack URL for this entry:

Listed below are links to weblogs that reference Is (a debate about) 303 really necessary?:


" I would prefer to see all semantics carried explicitly in the various representations being served on the Web. "

I haven't read Ian's post, but this is a very good point, and a concise way to put it.

Something I've thought for a while is that "information resource vs non-information resource" is not neccesarily universally the best ontological distinction anyway. If you express your ontological semantics through vocabularies on the web instead, then you aren't bound to this one, maybe?

While it's true that 11th hour discussion may discourage adoption -- I think the "information resource vs. non information resource" distinction and the corresponding 200 vs 303 status code requirement, are themselves just about the biggest discouragement to adoption already. It's one of the most difficult things to understand about 'linked data', is disagreeable even to some people who do understand it, and the actual technical requirement of a 303 status code can be difficult to implement in some contexts. (It's simple to implement you are a developer developing your own application; it can be difficult if you are a lower tech user trying to gradually introduce linked data little by little into existing applications).

The comments to this entry are closed.



eFoundations is powered by TypePad