Schéma d'URI - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

En informatique, un schéma d'URI est le premier niveau de la structure de nommage des identifiants uniformes de ressources (URI). Toutes les URIs sont construites à partir d'un nom de schéma, suivi de deux points (":") puis du reste de l'URI, spécifique au schéma. La syntaxe et la sémantique de la partie spécifique sont, en grande partie, laissées aux spécifications des différents schémas.

La plupart des schémas ayant été conçus à l'origine pour être utilisé avec un protocole, ils sont souvent appelés de manière incorrecte des « protocoles » ou des « protocoles d'URI ». Par exemple, le schéma HTTP est en général utilisé pour désigner des ressources Web utilisant le protocole HTTP. Maintenant, des URIs de ce schéma sont utilisées pour d'autres applications, comme les ressources RDF ou les espaces de nom XML, qui n'ont pas de rapport avec le protocole. De plus, certains schémas ne sont associés à aucun protocole particulier (comme le schéma file) et d'autres n'utilisent pas le nom d'un protocole comme préfixe (comme le schéma news).

Les schémas d'URI sont sensés être enregistrés auprès de l'IANA, mais des schémas non enregistrés sont utilisés en pratique. La RFC 4935 décrit la procédure d'enregistrement d'un nouveau schéma d'URI.

Syntaxe générique

Le standard Internet STD 66 (voir aussi la RFC 3986) définit la syntaxe commune utilisée par tous les schémas d'URI. Chaque URI est constituée de quatre parties :

      :  [ ?  ] [ #  ]      

Le nom du schéma est une lettre suivie de n'importe quelle combinaison de lettres, de chiffres, du signe plus (+), du point (.) ou d'un tiret (-) et se termine par deux points (:).

La partie hiérarchique de l'URI est prévue pour contenir les informations d'identification de la ressource, hiérarchique par nature. En général, cette partie commence par un double slash, suivi par le domaine puis un chemin optionnel.

  • Le domaine est principalement constitué du nom d'hôte ou de l'adresse IP, cette information peut être encadrée par deux autres champs optionnels : avant, les informations concernant l'utilisateur délimitées par un @ ; après, un numéro de port, précédé par deux points (:).
  • Le chemin est une séquence de segments (similaires à des répertoires), séparés par des slash (/). Chaque segment peut contenir des paramètres séparés par des points virgules (;), bien que cela soit rarement utilisé.

La requête est une partie optionnelle séparée par un point d'interrogation qui contient des informations complémentaires qui ne sont pas de nature hiérarchique. Le format de la requête n'est pas défini de manière générale, mais est souvent formée d'une suite de paires = séparées par des points virgules ou par des esperluettes.

Le fragment est une partie optionnelle séparée par un dièse. Il fournit des informations supplémentaires permettant d'accéder à une ressource secondaire. Lorsque la ressource est un document HTML, le fragment est souvent l'id d'un élément et le navigateur fera le nécessaire pour que cet élément soit visible.

Exemples

Voici deux exemples d'URI ainsi que leurs différents composants :

        foo://username:[email protected]:8042/over/there/index.dtb?type=animal;name=ferret#nose        \ /   \________________/\_________/ \__/            \___/ \_/ \_____________________/ \__/         |           |               |       |                |    |           |                |         |       utilisateur        hôte    port              |    |        requête          fragment         |    \_______________________________/ \_____________|____|/      schéma                  |                               | |  |         |                 domaine                            |chem|n         |                                                    |    |         |            chemin                     peut être interprété comme un nom de fichier         |   ___________|____________                              |        / \ /                        \                             |        urn:example:animal:ferrett:nose            peut être interprété comme une extension      
Page générée en 0.087 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise