The simple reason for this is that the resource located at the Content-Location may have changed since the notification was dispatched. This would mean that the representation of the resource in the notification would not match the representation at the Content-Location. REST is stateless and so this is unacceptable.
Sending the payload sometimes but not others is inconsistent.
The page I linked to documentation of one side of an ongoing
discussion occurring on at least a few blogs and mailing lists.
My point is less "stop working on this and get involved in existing
efforts" and more "I don't see a use-case defined or an attempt to
document existing use cases in the protocol discussion and so I'm a
little confused about what this protocol is meant to accomplish".
On the front page of the webhooks wiki (http://webhooks.pbworks.com/)
I see three possible use-cases defined:
1. Push
2. Pipes (in my opinion a special case of Push)
3. Plugin (synchronous Push with a return value)
There is also a list of examples of webhook uses, but not much
discussion in the protocol discussions going on here about documenting
how webhooks are actually used in these existing use-cases. It just
makes it a bit tough to sink my teeth into the discussion.
To give an example, instead of talking theoretically about whether fat
pings or light pings is the right way to go, or if we should be
neutral on the topic, I'd rather talk about how ...
1) A Subscription-based service, PubSubHubBub, has made the decision
to encourage fat pings in order to avoid the "thundering herd" problem
and issue of latency over large deployments.
2) On the other hand, a service like Github may make the decision that
there will be few enough subscribers to a given "hook" and there is a
limited need for instantaneous updates, so they can use a relatively
light ping format (http://github.com/guides/post-receive-hooks),
though I'll point out that they still send a payload.
3) Meanwhile RSSCloud is implemented in such a way that it uses an
extremely light ping format. Why was this decision made for a
subscription service that could suffer from the "thundering herd"
effect. Not sure. But it's worth considering.
This gets a bit more at the real problems that implementors have
considered when making the decision to use light or fat pings, and I'd
argue that considering these decisions makes it more likely that any
protocol developed here will see uptake in the future.
Just a thought from someone who has, admittedly, made little contribution here.
Ethan
Our emails crossed on the wire, it seems :-)
I like the comparison to PubSubHubBub. I disagree with the assertion
in the document that having a ping with no payload necessarily
improves performance. There are well documented cases in which this is
not true, depending on your use-case and on what you mean by
performance (CPU cycles of the hub? Number of round-trips? Latency?
Thundering herd?)
Ethan
My point is less "stop working on this and get involved in existing efforts" and more "I don't see a use-case defined or an attempt to document existing use cases in the protocol discussion and so I'm a little confused about what this protocol is meant to accomplish".