W3C home > Mailing lists > Public > www-tag@w3.org > March 2010

Re: 204 No Content for a resource which is known but has no representation yet?

From: Nathan <nathan@webr3.org>
Date: Sun, 14 Mar 2010 17:17:21 +0000
Message-ID: <4B9D1A21.8080705@webr3.org>
CC: ietf-http-wg@w3.org, www-tag@w3.org
Here is the full problem and solution I'd like to use:

I'm stuck with Linked Data, which is tied to the http scheme and
has a constraint that the http scheme URIs we use as identifiers must be
dereferenced via http. The only way is forwards from what I can tell.

As I see it (within the http scheme of uris), a resource is a conceptual
map to anything; that anything either has a representation that can be
sent via http or does not. In the case where it does not, the concept
maps to an "empty set" of representations.

With regards the above this calls for the usage of only 4 http status
codes (from what I can tell, certainly I could get by with them), as
follows:

204 No Content (in the case of GET), resource which maps to an empty set
/ does not have a representation of its own that can be transferred by
the server over HTTP and no other resource is known which describes the
requested resource.

301 Moved Permanently, The requested resource has been assigned a new
permanent URI and any future references to this resource SHOULD use one
of the returned URIs.  Clients with link editing capabilities ought to
automatically re-link references to the request-target to one or more of
the new references returned by the server

303 See Other, indicates that the requested resource does not have a
representation of its own that can be transferred by the server over
HTTP, and additionally specifies a resource which may provide
information about the requested resource.

410 Gone, The requested resource is no longer available at the server
and no forwarding address is known.  This condition is expected to be
considered permanent.  Clients with link editing capabilities SHOULD
delete references to the request-target after user approval.

All of these codes are there already and do the job perfectly (imho),
and the others do not matter with regards linked data since we aren't
dealing with things which have a representation / entity.

additionally, it may be worth noting that I'm not doing any "content
negotiation" with a 303 See Other, rather I'm doing any required content
negotiation on the second resource, the one pointed do by the Location
header; personally I find it cleaner to keep a distinction between
resources with a representation and those without, and view content
negotiation in response to a request on a resource with no
representation as a cross cutting concern, hence dually seperated.

I am aware this would be a refinement to the resolution of httpRange-14,
have done vast amounts of research on this (more than I expected) and in
reality I'm just a developer who is blocked on a project and I just need
some kind person from IETF/W3C (pref TAG) to say this doesn't conflict
with the architecture of the world wide web or conflict with HTTP/REST.

Which means, somebody like Larry, or Roy, Tim etc; or even Jonathan Rees
as this very much ties in with the work on
http://www.w3.org/2001/tag/awwsw/http-semantics-report.html

I'm really stuck here, and it's having real effects on my daily
life at home - I need to get this project finished and the above is the
only realistic solution after all my hunting; I'm trying so hard to do
things by the book  :(

Many Regards & most sincerely,

Nathan

Nathan wrote:
> Hi All,
> 
> Can I use a 204 No Content to indicate that a resource is known but
> currently does not have a representation (or another resource which
> describes it)?
> 
> example:
> I have a resource which is a conceptual map to "me"; I have assigned a
> URI to that resource, am in the process of creating a document which
> describes me, and when I am done I will 303 See Other to the document
> from the resource which is a conceptual map to "me".
> 
> In the interim what status code can I use to say that the resource is
> known, does not have a representation of its own that can be transferred
> by the server over HTTP, another resource is not know that is
> descriptive of said resource & the resource identifier is not to be used
> for anything else.
> 
> I've fully checked through all status codes, including the 4xx's but
> can't find any to use, and 204 No Content seems to fit the best as far
> as I can tell.
> 
> Many Thanks,
> 
> Nathan
> 
> 
> 
Received on Sunday, 14 March 2010 17:24:40 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:48:20 GMT