Re: Indicating a resource does not exist

Henry Story wrote:
> On 20 Jan 2011, at 15:47, Nathan wrote:
>> Joe Gregorio wrote:
>>> On Thu, Jan 20, 2011 at 9:31 AM, Nathan <nathan@webr3.org> wrote:
>>>> Joe Gregorio wrote:
>>>>> What's wrong with 404 Not Found?
>>>>  404 Not Found
>>>>  ...
>>>>  The server has not found anything matching the effective request URI.
>>>>  No indication is given of whether the condition is temporary or
>>>>  permanent ...
>>>>
>>>> The best you can conclude from that is "don't know" the state of the
>>>> resource, or if there is one.
>>> OK, so 410 Gone if you want to indicate it is permanent.
>> 410 entails more though, "was a resource, is no longer a resource", 404 is "I don't know", I'm looking for an unambiguous "origin server says this is not a resource"
>>
>> Essentially at the minute, the only resource states that can be conveyed (as far as I can see) are:
>>
>> - created (POST/PUT 201, PUT 204)
>> - current state (many combinations)
>> - state changed (POST/PUT 200)
>> - unknown state (DELETE 202, a few 3xx, most 4xx and all 5xx)
>> - gone (204)
>>
>> so basically, there's no way to say "no resource".
> 
> could be, and nobody has complained very loudly about this until now.
> Do you have a use serious use case?

no, just modelling and getting a grip on HTTP, although if it was 
defined I'd use it, HEAD to see if something exists, then PUT if it 
doesn't. (as opposed to 404 because this server doesn't tell you the 
resource is here unless you're auth'd, for example)

> The problem with saying that a URI is not a resource, is that if it
> does not dereference then that means that the server does not know
> what it means. If the server does not know what it means, then how
> can the server know that it is not a resource? You are touching
> one one of those tricky philosophical problems, that could keep
> you occupied for a lifetime if you are not careful. 

god no, looking for a quick resolution on this one ;)

> Perahps you could create a /dev/null url and have those resources
> return
> 
> <> a <http://web3.org/ont/DevNull> .

That's essentially what I was looking to infer based on an HTTP Response 
message.

> Or you could have it be the empty set, which according to
> David Lewis' latest book on mereology refers to the mereological
> fusion of everything: every thing, every possible thing, every
> possible world. ( see: Parts and Classes )

404 and 406 do map to the empty set, don't they? thanks for the book tip 
though.

> But then it would refer quite clearly to something, and you 
> could use that something to build up all of mathematics on it.

Indeed, that's why I was looking to infer nothing, not even the empty 
set, and couldn't find a way to do it (without the 410 did exists at one 
point angle).

Best,

Nathan

Received on Thursday, 20 January 2011 16:52:57 UTC