Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

nsIURI

nsIURI est une interface pour un identifiant de ressource uniforme (URI) avec gestion de l'internationalisation.


Please add a summary to this article.
  Last changed in Gecko 1.0.0

Code de l'interface

[scriptable, uuid(07a22cc0-0ce5-11d3-9331-00104ba0fd40)]
interface nsIURI : nsISupports
{
  attribute AUTF8String spec;
  readonly attribute AUTF8String prePath;
  attribute ACString scheme;
  attribute AUTF8String userPass;
  attribute AUTF8String username;
  attribute AUTF8String password;
  attribute AUTF8String hostPort;
  attribute AUTF8String host;
  attribute long port;
  attribute AUTF8String path;

  boolean equals(in nsIURI other);
  boolean schemeIs(in string scheme);
  nsIURI clone();
  AUTF8String resolve(in AUTF8String relativePath);

  readonly attribute ACString asciiSpec;
  readonly attribute ACString asciiHost;
  readonly attribute ACString originCharset;
};

Les URI sont essentiellement des noms structurés pour des choses, quelles qu'elles soient. Cette interface fournit des accesseurs pour définir et interroger les composants les plus basiques d'une URI. Les sous-classes, comme nsIURL, imposent une plus grande structure à l'URI. Cette interface suit la spécification de Tim Berners-Lee dans la RFC 2396, où les composants de base d'une URI sont définis comme suit :

ftp://user:[email protected]:12345/path/leaf 
Composant Valeur dans l'exemple
scheme ftp
userPass user:password
host example.org
port 12345
path /path/leaf
prePath ftp://user:[email protected]:12345

Méthodes

equals()

boolean equals (in nsIURI other);

Test d'équivalence d'URI (pas une comparaison stricte). Par exemple, https://example.com:80/ == https://example.com/

schemeIs()

boolean schemeIs(in string scheme);

Une optimisation pour effectuer certaines vérifications sur le schéma sans que les utilisateurs de nsIURI aient à utiliser GetScheme, économisant ainsi des allocations et libérations supplémentaires. Renvoie true si le schéma correspond, en ignorant la casse).

clone()

nsIURI clone();

Clone l'URI courante. Pour certains protocoles il ne s'agit pas que d'une simple optimisation. Par exemple, sous Mac OS, la spécification d'une URL de fichier n'identifie pas nécessairement un fichier unique car deux volumes pourraient partager le même nom.

resolve()

AUTF8String resolve(in AUTF8String relativePath);

Cette méthode résoud une chaîne relative en une chaîne URI absolue, en utilisant cette URI comme base. NOTE : certaines implémentations peuvent ne pas avoir de notion d'URI relative.

Attributs

Attribut Type Description
spec nsACString (UTF-8) Renvoie une représentation chaîne de l'URI. En définissant cet attribut, celui-ci sera analysé et l'URI sera initialisée.
prePath readonly nsACString (UTF-8) L'attribut prePath (par exemple scheme://user:password@host:port) renvoie la chaîne qui précède le chemin. Cela peut servir pour l'authentification ou la gestion de sessions.

Certains caractères peuvent être échappés.

scheme nsACString (US-ASCII) Le protocole auquel cette URI fait référence. Il est limité au sous-ensemble US-ASCII selon la RFC2396.
userPass nsACString (UTF-8) La partie username:password (ou uniquement username si la valeur ne contient pas de « : »)

Certains caractères peuvent être échappés.

username nsACString (UTF-8) Le nom d'utilisateur éventuel, en supposant que preHost consiste en username:password.

Certains caractères peuvent être échappés.

password nsACString (UTF-8) Le mot de passe éventuel, en supposant que preHost consiste en username:password.

Certains caractères peuvent être échappés.

hostPort nsACString (UTF-8) La valeur host:port (ou simplement l'hôte, si port == -1).

Les caractères ne sont PAS échappés.

host nsACString (UTF-8) L'hôte est le nom de domaine Internet auquel cette URI fait référence. Il peut s'agir d'une adresse littérale IPv4 (ou IPv6). Si géré, il peut s'agir d'un nom de domaine internationalisé non-ASCII.

Les caractères ne sont PAS échappés.

port PRInt32 Une valeur de port de -1 correspond au port par défaut du protocole (par exemple, -1 indique le port 80 pour les URI HTTP).
path nsACString (UTF-8) Le chemin, typiquement avec au moins un « / » initial (mais peut également être vide, selon le protocole).

Certains caractères peuvent être échappés.

asciiSpec readonly nsACString (US-ASCII) L'attribut spec mais avec un encodage compatible ASCII. La portion d'hôte suit la spécification brouillon IDNA. D'autres parties utilisent l'échappement d'URL selon les règles de la RFC2396. Le résultat est strictement de l'ASCII.
asciiHost readonly nsACString (US-ASCII) L'hôte de l'URI mais avec un encodage compatible ASCII. Suit la spécification brouillon IDNA pour la conversion de noms de domaines internationalisés (UTF-8) en ASCII pour la compatibilité avec les infrastructures Internet existantes.
originCharset readonly nsACString Le jeu de caractères du document dont cette URI est originaire. Une valeur vide indique l'UTF-8.

Si cette valeur est différente d'UTF-8, les composants de l'URI (comme spec, prePath, username, etc.) seront tous échappés comme une URL. Autrement, les composants de l'URI peuvent contenir des caractères multioctets UTF-8 non échappés

 

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : tregagnon, BenoitL
 Dernière mise à jour par : tregagnon,