1. Introduction
1. Introduction
Certaines applications sur le Web ont besoin de découvrir des informations sur une origine (origin) [RFC6454] (parfois appelées « métadonnées à l’échelle du site (site-wide metadata) ») avant d’émettre une requête. Par exemple, le protocole d’exclusion des robots (http://www.robotstxt.org) précise comment des processus automatisés obtiennent l’autorisation d’accéder aux ressources ; de même, la plate-forme des préférences en matière de confidentialité (Platform for Privacy Preferences, P3P) [P3P] indique aux agents utilisateur (user agents) comment découvrir la politique de confidentialité avant d’interagir avec un serveur d’origine.
Il existe plusieurs moyens d’accéder aux métadonnées par ressource (par ex. champs d’en-tête HTTP, PROPFIND dans Web Distributed Authoring and Versioning (WebDAV) [RFC4918]), mais la surcharge perçue (latence côté client et/ou difficultés de déploiement) les rend souvent inutilisables dans ces scénarios.
Parallèlement, il est devenu plus courant d’utiliser HTTP comme substrat pour des protocoles non Web. Parfois, ces protocoles doivent pouvoir localiser une ou plusieurs ressources sur un hôte donné.
Une solution consiste alors à désigner un « emplacement bien connu (well-known location) » pour des données ou services liés à l’origine dans son ensemble, afin qu’il soit facile à trouver. Cette approche présente toutefois l’inconvénient de risquer des collisions, tant avec d’autres emplacements ainsi désignés qu’avec des ressources que l’origine a créées (ou souhaite créer). De plus, définir des emplacements bien connus empiète sur le contrôle de l’origine sur son propre espace d’URI [RFC7320].
Pour répondre à ces usages, le présent mémo réserve un préfixe de chemin dans les URI HTTP, HTTPS, WebSocket (WS) et WebSocket sécurisé (WSS) pour ces « emplacements bien connus », /.well-known/. Les spécifications futures qui devront définir une ressource pour de telles métadonnages pourront en enregistrer l’usage afin d’éviter les collisions et de limiter l’empiètement sur l’espace d’URI des origines.
Les URI bien connus peuvent aussi être utilisés avec d’autres schémas d’URI, mais uniquement lorsque leurs définitions l’autorisent explicitement.