Groupe de travail Réseau	M. Smith,  Netscape Communications	
Request for Comments : 2079 	janvier 1997	
Catégorie : En cours de normalisation	Traduction Claude Brière de L'Isle	

Définition d'un type d'attribut et d'une classe d'objet X.500 pour contenir les identifiants de ressource uniformes (URI)

Statut du présent mémoire
Le présent document spécifie un protocole de l’Internet en cours de normalisation pour la communauté de l’Internet, et appelle à des discussions et suggestions pour son amélioration. Prière de se référer à l’édition en cours des "Normes officielles des protocoles de l’Internet" (STD 1) pour connaître l’état de la normalisation et le statut de ce protocole. La distribution du présent mémoire n’est soumise à aucune restriction.

Résumé
Les localiseurs de ressource uniformes (URL, Uniform Resource Locator) deviennet largement utilisés pour spécifier la localisation des ressources de l'Internet. Il existe un besoin urgent d'avoir la capacité d'inclure les URL dans les répertoires qui se conforment aux modèles d'informations de LDAP et de X.500, et un désir d'inclure d'autres types d'identifiants de ressource uniformes (URI, Uniform Resource Identifier) comme ils sont définis. Un certain nombre de groupes indépendants expérimentent déjà l'inclusion des URL dans les répertoires LDAP et X.500. Le présent document s'appuie sur les expérimentations actuelles et définit un nouveau type d'attribut et une classe d'objets auxiliaire pour permettre que les URI, y compris les URL, soient mémorisés dans des entrées de répertoire de façon normalisée.

Fondements et destination

Les localisateurs de ressource uniformes (URL, Uniform Resource Locator) tels que définis dans [1] sont le premier de plusieurs types d'identifiants de ressource uniformes (URI, Uniform Resource Identifier) qui sont définis par l'IETF. Les URI sont largment utilisés dans l'Internet, notamment dans les documents en langage de balisage hypertexte (HTML, HyperText Markup Language) [2]. Le présent document définit un type d'attribut X.500 [3], [4] appelé labeledURI et une classe d'objet auxiliaire appelée labeledURIObject pour contenir tous les types d'URI, y compris les URL. Ces définitions sont conçues pour être utilisées dans les répertoires LDAP et X.500, et peuvent être utilisées aussi bien dans d'autres contextes.

Définition du schéma du type d'attribut labeledURI

Nom :	labeledURI
Nom abrégé :	aucun
Description :	Identifiant de ressource uniforme avec étiquette facultative
OID :	umichAttributeType.57 (1.3.6.1.4.1.250.1.57)
Syntaxe :	caseExactString
Restriction de taille :	aucune
Valeur unique :	Faux

Discussion du type d'attribut labeledURI

Le type d'attribut labeledURI a la syntaxe caseExactString (car les URI sont sensibles à la casse) et il est multi valorisé. Les valeurs placées dans l'attribut devraient consister en un URI (pour l'instant, un URL) suivi facultativement par un ou plusieurs caractères d'espace et d'une étiquette. Comme il n'est pas permis que les caractères d'espace apparaissent non codés dans les URI, il n'y a pas d'ambiguïté sur l'endroit où commence l'étiquette. Pour l'instant, la portion URI doit se conformer à la spécification d'URL [1]. Plusieurs valeurs de labeledURI vont généralement indiquer différentes ressources qui sont toutes en rapport avec l'objet X.500, mais peuvent indiquer des localisations différentes pour la même ressource.

L'étiquette est utilisée pour décrire la ressource sur laquelle pointe l'URI, et elle est destinée à une lecture facile par l'homme. Le présent document ne propose pas de syntaxe spécifique pour la partie étiquette. Dans certains cas, il peut être utile d'inclure dans l'étiquette quelque indication de la sorte et/ou de la taille de la ressource à laquelle fait référence l'URI.

Noter que l'étiquette peut inclure tous les caractères permis par la syntaxe caseExactString, mais que l'utilisation de caractères non IA5 (non US-ASCII) est déconseillée car tous les clients de répertoire ne peuvent pas les traiter de la même manière. Si des caractères non IA5 sont inclus, ils devraient être représentés en utilisant les conventions X.500, et non les conventions HTML (par exemple, le caractère qui est un "a" avec un anneau autour (l'arobase) devrait être codé en utilisant la séquence T.61 de 0xCA suivie par un caractère "a" ; il ne faut pas utiliser la séquence d'échappement HTML "&aring").

Exemples de valeurs d'attribut labeledURI

Un exemple d'une valeur d'attribut labeledURI qui ne comporte pas d'étiquette :

ftp://ds.internic.net/rfc/rfc822.txt

Un exemple de valeur d'attribut labeledURI qui contient un caractère tilde dans l'URL (les caractères spéciaux dans un URL doivent être codés comme spécifié par le document sur les URL [1]). L'étiquette est "Page d'accueil LDAP" :

http://www.umich.edu/%7Ersug/ldap/ Page d'accueil LDAP

Un autre exemple. Celui-ci comporte une indication dans l'étiquette pour aider l'usager à réaliser que l'URL pointe sur une image photographique.

http://champagne.inria.fr/Unites/rennes.gif Rennes [photo]

Définition de schéma de la classe d'objet labeledURIObject

Nom :	labeledURIObject
Description :	objet qui contient le type d'attribut URI
OID :	umichObjectClass.15 (1.3.6.1.4.1.250.3.15)
Sous-classe :	supérieure
Doit contenir :	
Peut contenir :	labeledURI

Discussion de la classe d'objet labeledURIObject

La classe labeledURIObject est une sous classe de niveau supérieur et elle peut contenir l'attribut labeledURI. L'intention est que cette classe d'objet puisse être ajoutée aux objets de répertoire existants pour permettre d'inclure les valeurs d'URI. Cette approche n'empêche pas d'inclure directement le type d'attribut labeledURI dans d'autres classes d'objet en tant que de besoin.

Considérations pour la sécurité

Les considérations de sécurité ne sont pas abordées dans le présent mémoire, sauf à noter que l'insertion aveugle de la portion étiquette d'une valeur d'attribut labeledURI dans un document HTML n'est pas recommandée, car cela peut permettre à un individu malveillant d'inclure dans l'étiquette des étiquettes HTML qui tromperaient le lecteur du document entier dans lequel la valeur labeledURI a été insérée.

Remerciements

Paul-Andre Pays, Martijn Koster, Tim Howes, Rakesh Patel, Russ Wright, et Hallvard Furuseth ont apporté une aide précieuse à la création de ce document.

Ce matériel se fonde en partie sur le travail pris en charge par la National Science Foundation sous le contrat n° NCR-9416667.

Appendice	Le type d'attribut labeledURL (déconseillé)

Un projet antérieur du présent document définissait un type d'attribut supplémentaire appelé labeledURL. Ce type d'attribut est déconseillé, et ne devrait pas être utilisé lorsque on ajoute de nouvelles valeurs aux entrées de répertoire. La motivation première de l'inclusion d'un type d'attribut distinct pour détenir des URL était qu'il permettrait mieux d'activer un accès progammatique efficace à des types spécifiques d'URI. Après quelques délibérations, le groupe de travail IETF-ASID est arrivé à la conclusion qu'il vallait mieux avoir un seul attribut que deux.

La définition de schéma pour labeledURL est incluse ici pour sa seule référence historique. Un logiciel de client de répertoire peut vouloir prendre cette définition de schéma en charge (en plus de labeledURI) pour faciliter la transition de labeledURL pour les sites qui l'utilisent.

Nom :	labeledURL
Nom abrégé :	aucun
Description :	Localisateur de ressource uniforme avec étiquette facultative
OID :	umichAttributeType.41 (1.3.6.1.4.1.250.1.41)
Syntaxe :	caseExactString
Restriction de taille :	aucune
Valeur unique :	Faux
OID :	umichAttributeType.41 (1.3.6.1.4.1.250.1.41)

Références

[1]	T. Berners-Lee et autres, "Localisateurs uniformes de ressource (URL)", RFC1738], décembre 1994. (P.S., Obsolète, voir les RFC4248  et 4266 )

[2]	T. Berners-Lee, D. Connolly, "Langage de balisage Hypertext - 2.0", RFC1866, novembre 1995. (Obsolète, voir RFC2854) (His.)

[3]	Recommandation UIT-T X.500, "L'annuaire : Généralités sur les concepts, les modèles et le service". 1988.

[4]	ISO/CEI JTC 1/SC21, Norme internationale 9594-1, "Systèmes de traitement de l'information -- Interconnexion des systèmes ouverts – L'annuaire : Généralités sur les concepts, les modèles et le service". 1988

Adresse de l'auteur

Mark Smith
Netscape Communications Corp.
501 E. Middlefield Rd.
Mountain View, CA 94043, USA
téléphone :  +1 415 937-3477
mél :  mcs@netscape.com