Skip to content

Commit

Permalink
Add Web Push figure
Browse files Browse the repository at this point in the history
  • Loading branch information
rfc2822 committed Mar 7, 2025
1 parent eb17dfc commit 9071934
Showing 1 changed file with 32 additions and 12 deletions.
44 changes: 32 additions & 12 deletions content.mkd
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,27 @@ Typical use cases:
- A desktop file manager shows contents of a WebDAV collection and wants to be notified on updates in order to refresh the view.
- A calendar Web app shows a CalDAV collection and wants to be notified on updates in order to refresh the view.


## Notational Conventions

{::boilerplate bcp14-tagged}


## Architectural Overview

~~~goat
.--------------------. .--------------. .--------------------.
| WebDAV-Push Server | | Push Service | | WebDAV-Push Client |
'--------------------' '--------------' '--------------------'
Create Subscription
Create subscription
.----------------------o
'---------------------->
Register Subscription
Register subscription
<-------------------------------------------o
Content Update Notification
Content update notification
o------------------->*---------------------->
~~~
{: title="Basic WebDAV-Push Workflow"}


## Notational Conventions

{::boilerplate bcp14-tagged}


## Terminology
Expand Down Expand Up @@ -399,10 +397,32 @@ Corresponding terminology:
* (WebDAV-Push) push server ↔ (Web Push) application server
* (WebDAV-Push) push client (or redirect proxy) ↔ (Web Push) user agent

Message encryption {{RFC8291}} MUST be used. VAPID {{RFC8292}} SHOULD be used. (If other methods to provide a security context for Web Push become established, those ones can and shall be used and necessary WebDAV properties shall be added to this document.)
Message encryption {{RFC8291}} MUST be used. VAPID {{RFC8292}} SHOULD be used. (If other methods to provide a security context for Web Push become established, those can be used and necessary WebDAV properties shall be added to this document.)

A server that supports the Web Push transport MUST list the `web-push` element in the `transports` property.

~~~goat
.--------------------. .--------------. .--------------------.
| | | Web Push | | |
| WebDAV-Push Server | | Service | | WebDAV-Push Client |
'--------------------' '--------------' '--------------------'
Get VAPID public key
.------------------------------------------o
'------------------------------------------>
Create restricted subscription
.----------------------o
'---------------------->
Register subscription (with encryption)
<-------------------------------------------o
Content update notification
o---(encrypted)---->*------(encrypted)------>
~~~
{: title="WebDAV-Push over Web Push with VAPID and Message Encryption"}


## Subscription Registration

Expand Down

0 comments on commit 9071934

Please sign in to comment.