Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

RFC 5122: Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)

Date de publication du RFC : Février 2008
Auteur(s) du RFC : P. Saint-Andre (XSF)
Chemin des normes
Première rédaction de cet article le 7 mars 2008


Le protocole XMPP (RFC 6120) fournit notamment la possibilité de services de messagerie instantanée. Les adresses qu'utilise XMPP (par exemple bortzmeyer@gmail.com puisque j'utilise Google Talk, qui repose sur XMPP) ne sont pas des URI et il y a des cas où il serait utile de pouvoir désigner ces ressources XMPP par un URI, ce que fait notre RFC.

Succédant au RFC 4622 (les seuls changements sont des corrections d'erreurs), notre RFC décrit la syntaxe et la sémantique des URI XMPP. Le RFC 3920 excluait les URI pour désigner les ressources XMPP mais cette règle s'est avérée trop contraignante pour les applications, comme l'explique les sections 1 et 2.1. La section 2.2 nous introduit à la syntaxe des URI (ou plutôt des IRI, mais une raison compliquée liée aux procédures IANA fait que le RFC doit mentionner les deux familles) XMPP et leur formation à partir d'une classique adresse XMPP (détaillée en 2.7). Il faut notamment ajouter le plan xmpp: et encoder les caractères qui ne sont pas légaux dans un IRI. L'adresse XMPP donnée au premier paragraphe devient donc l'URI xmpp:bortzmeyer@gmail.com.

La section 2.3 couvre un cas délicat. La syntaxe des URI génériques, décrite dans le RFC 3986, spécifie, dans sa section 3.2, une autorité optionnelle, précédée de deux barres de division. Par exemple, dans http://www.bortzmeyer.org/5122.html, www.bortzmeyer.org est l'autorité. Il existe des URI sans mention d'une autorité, comme mailto:stephane+blog@bortzmeyer.olrg. Les URI XMPP, eux, peuvent avoir une autorité, qui a la forme d'un compte XMPP. Si elle est absente, c'est le compte par défaut qui est utilisé. C'est ainsi que xmpp:durand@example.net n'indique pas d'autorité (on utilisera le compte par défaut) alors que xmpp://martin@exemple.fr/durand@example.net désigne la même ressource mais en spécifiant le compte qui doit être utilisé.

Continuant dans les composants d'un URI, la section 2.4 traite le chemin et 2.5 la requête, qui se trouve après un point d'interrogation. Compte tenu de la variété des applications XMPP (ce protocole ne traite pas que la messagerie instantanée, même si c'est son utilisation principale aujourd'hui, voir le RFC 3921), le RFC ne spécifie pas de sémantique précise pour cette requête, elle dépendra de l'application. Par exemple xmpp:nicolas@pauvre-con.fr?message;subject=Casse%20toi pour déclencher l'envoi d'un message avec le sujet indiqué (on note que le séparateur des arguments avec ce plan XMPP est le point-virgule et pas l'habituelle esperluète).

La section 2.8 détaille le traitement de tels URI par les logiciels (il y a beaucoup de subtilités à gérer) et la 2.9 les questions d'internationalisation ; les adresses XMPP sont en UTF-8 et peuvent donc être converties directement en IRI XMPP. Pour avoir un URI XMPP, les adresses contenant des caractères non-ASCII devront être encodées, par exemple lors de la transformation de l'IRI en URI.

La section 3 du RFC est simplement le formulaire réglementaire d'enregistrement d'un plan (scheme) d'URI auprès de l'IANA, suivant le RFC 4395.


Téléchargez le RFC 5122

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)