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
: Character sequence that identifies a WebDAV collection for push purposes (unique per WebDAV server). A specific collection could be reachable at different URLs, but it can only have one push topic.
56
58
57
59
(Push) transport
58
-
: Protocol that defines an actual push mechanism. In this document, Web Push is the only defined push transport. However, WebDAV-Push may also be used with other push transports like proprietary or yet unknown protocols. In that case, it has to be specified how to use that protocol with WebDAV-Push (like it's done for Web Push in Appendix A). A push transport implementation may or may not involve a push service.
60
+
: Protocol that defines an actual push mechanism. In this document, Web Push is the only defined push transport. However, WebDAV-Push may also be used with other push transports like proprietary or yet unknown protocols. In that case, it has to be specified how to use that protocol with WebDAV-Push (like it's done for Web Push in {{transport-web-push}}). A push transport implementation may or may not involve a push service.
59
61
60
62
Rewrite proxy
61
63
: Push services sometimes require authentication from their users and consider their user to be an application vendor who has control over both the server and the client. For instance, a push service could be used by the vendor of a weather app who controls both the servers that deliver weather data and the clients, which are mobile apps that show the weather data. Both servers and clients can authenticate against the push service with the same private key.
@@ -105,24 +107,22 @@ The server must be prepared to handle errors. For instance, if a push transport
105
107
A WebDAV client that implements WebDAV-Push typically
106
108
107
109
- detects whether the server supports WebDAV-Push and which push transports,
108
-
- connects to a service (which is usually not operated by the WebDAV server provider),
109
-
- subscribes to one or more collections on the server (and thus provides information about its push service),
110
+
- connects to a push service (which is usually not operated by the same party as the WebDAV server),
111
+
- subscribes to one or more collections on the server (providing push service-specific details),
110
112
- receives push notifications that cause some client-side action (like to refresh the view or run synchronization),
111
113
- re-subscribes to collections before the subscriptions expire,
112
114
- unsubscribes from collections when notifications are not needed anymore.
113
115
114
116
115
117
## Push transports
116
118
117
-
WebDAV-Push is not restricted to specific push transports and allows clients to specify which push transports they support. This allows even upcoming, yet unknown push transports to be used with
118
-
WebDAV-Push.
119
+
WebDAV-Push is not restricted to specific push transports and allows clients to specify which push transports they support. This allows even upcoming, yet unknown push transports to be used with WebDAV-Push.
119
120
120
-
WebDAV-Push implementations SHOULD implement at least the Web Push transport (see Appendix A).
121
+
WebDAV-Push implementations SHOULD implement at least the Web Push transport (defined in {{transport-web-push}}).
121
122
122
-
For proprietary push services, client vendors may need to provide a _rewrite proxy_ that signs and forwards the requests to the respective proprietary service.
123
+
For proprietary push services, client vendors may need to provide a rewrite proxy that signs and forwards the requests to the respective proprietary service.
123
124
124
-
Push transport definitions can define extra properties and additional processing rules. For instance, a transport definition could define that WebDAV servers should send an additional
125
-
`Topic` header with their push notifications so that previous undelivered push messages are replaced by new ones.
125
+
Push transport definitions can define extra properties and additional processing rules.
126
126
127
127
128
128
@@ -170,7 +170,7 @@ HTTP/1.1 207 Multi-Status
170
170
171
171
In this case, the requested collection supports WebDAV-Push in general (because it has a push topic). Two push transports can be used:
172
172
173
-
1. Web Push (RFC 8030), without additional specific information
173
+
1. Web Push (see {{transport-web-push}}), without additional specific information
174
174
2. Some other transport, with some additional specific information that is required to use it. This is to illustrate that it WebDAV-Push supports other or future push transports, too.
175
175
176
176
@@ -424,7 +424,7 @@ What happens when some component is hacked
424
424
425
425
426
426
427
-
# Appendix A: Web Push Transport
427
+
# Web Push transport {#transport-web-push}
428
428
429
429
WebDAV-Push can be used with Web Push {{RFC8030}} to deliver WebDAV-Push notifications directly to compliant user agents, like Web browsers which come with their own push service infrastructure. Currently (2024), all major browsers support Web Push.
0 commit comments