You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content.mkd
+7-8Lines changed: 7 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -317,24 +317,23 @@ A WebDAV-Push server MUST notify registered subscriptions of a subscribed collec
317
317
318
318
## Push Message
319
319
320
-
The push message body consists of a `push-message` element, which contains a `{DAV:}propstat` element with a `{DAV:}prop` element that MUST contain the `topic` of the affected collection so that the client can identify it without doubt.
320
+
The push message body consists of a `push-message` element, which contains information about the affected collection:
321
321
322
-
In case of a _content update_ of the affected collection, the `{DAV:}prop` element MUST contain a `{DAV:}sync-token` element to allow a client to ignore the push message when it already knows the latest state.
322
+
- a `topic` element with the collection topic, and
323
+
- a `content-update` element in case of a _content update_, and/or
324
+
- a `property-update` element in case of a _property update_.
323
325
324
-
To indicate a _property update_ of the affected collection, a `{DAV:}status` element is added to the `{DAV:}prop` element:
326
+
The `content-update` element SHOULD contain a `{DAV:}sync-token` element to allow a client to ignore the push message when it already knows the latest state.
325
327
326
-
* status code 200 to indicate properties of the affected collection have changed,
327
-
* status code 404 to indicate that the collection has been removed.
328
-
329
-
Clients can determine whether a push message notifies about a content and/or property update by checking the presence of `{DAV:}sync-token`.
328
+
[^todo] property-update: no sync-token or equivalent known
330
329
331
330
When necessary or useful, a server MAY
332
331
333
332
* impose a rate limit for push messages,
334
333
* delay push messages for a short time,
335
334
* omit/merge push messages.
336
335
337
-
However the server MUST ensure that such restrictions don't change the semantics of the push notifications so that the client can still perform its desired action. For instance, of a series of push messages that occur shortly after each other, all but the last message can be omitted – but only if they notify the client about the same thing (content updates with `{DAV:}sync-token`). If one of the push messages contains a `{DAV:}status`property to indicate a property update, it can't be omitted.
336
+
The server MUST ensure that such measures don't change the overall meaning of the push notifications so that the client can still perform its desired action. For instance, of a series of push messages that contain only content updates and occur shortly after each other, all but the last message can be omitted. If one of the push messages signals a property update, it can't be just omitted because the client then wouldn't know that a property update happened.
0 commit comments