Passa al contenuto principale

4. Subscribing for Push Messages

4. Subscribing for Push Messages

L'user agent invia POST alla risorsa push service configurata per creare un nuovo abbonamento.

POST /subscribe HTTP/1.1
Host: push.example.net

201 (Created) indica creazione riuscita. L'URI della risorsa push message subscription MUST essere restituito in Location.

Il push service MUST fornire l'URI della push resource in una relazione di tipo urn:ietf:params:push.

Il metodo specifico dell'applicazione distribuisce l'URI push al server applicativo. Riservatezza e autenticazione del server applicativo MUST impedire la divulgazione a destinatari non autorizzati (sezione 8.3).

HTTP/1.1 201 Created
Date: Thu, 11 Dec 2014 23:56:52 GMT
Link: </push/JzLQ3raZJfFBR0aqvOMsLrt54w4rJUsV>;
rel="urn:ietf:params:push"
Link: </subscription-set/4UXwi2Rd7jGS7gp5cuutF8ZldnEuvbOy>;
rel="urn:ietf:params:push:set"
Location: https://push.example.net/subscription/LBhhw0OohO-Wl4Oi971UG

4.1. Collecting Subscriptions into Sets

Raggruppare più abbonamenti in un subscription set può migliorare notevolmente l'efficienza. Il servizio MAY fornire l'URI dell'insieme in urn:ietf:params:push:set.

Se la risposta include un insieme, l'user agent SHOULD includere tale relazione nelle successive richieste POST per nuovi abbonamenti.

L'user agent MAY omettere l'insieme se non può ricevere in modo aggregato per tutta la vita dell'abbonamento (es. monitora per altri ricevitori).

POST /subscribe HTTP/1.1
Host: push.example.net
Link: </subscription-set/4UXwi2Rd7jGS7gp5cuutF8ZldnEuvbOy>;
rel="urn:ietf:params:push:set"

Il servizio SHOULD restituire lo stesso insieme, ma MAY restituirne uno nuovo se non può riusare quello fornito.

HTTP/1.1 201 Created
Date: Thu, 11 Dec 2014 23:56:52 GMT
Link: </push/YBJNBIMwwA_Ag8EtD47J4A>;
rel="urn:ietf:params:push"
Link: </subscription-set/4UXwi2Rd7jGS7gp5cuutF8ZldnEuvbOy>;
rel="urn:ietf:params:push:set"
Location: https://push.example.net/subscription/i-nQ3A9Zm4kgSWg8_ZijV

Il servizio MUST restituire 400 per insieme non valido. MAY restituire 429 [RFC6585] se l'insieme è omesso.

Il rilevamento che le richieste provengono dallo stesso user agent è specifico dell'implementazione (TLS, IP sorgente, porta). Le euristiche possono dare falsi positivi.