Syntaxe URL

La syntaxe du reste de l'URL varie en fonction du schéma sélectionné. Les schémas d'URL qui impliquent l’utilisation directe d’un protocole IP pour un hôte spécifié sur Internet utilisent une syntaxe commune pour les données spécifiques au schéma :


//user:password@host:port/url_path

Certaines parties de user:password@, :password, :port et /url_path, ou toutes les parties, peuvent être exclues. Les données spécifiques au schéma commencent par une double barre oblique (//) pour indiquer qu’elles sont conformes à la syntaxe commune du schéma Internet. Le composant user:password respecte les règles suivantes :

user
Nom d’utilisateur facultatif. Certains schémas permettent la spécification d’un nom d’utilisateur.
password
Mot de passe facultatif. Lorsqu’il est présent, il suit le nom de l’utilisateur et est séparé par un signe deux-points. Le nom d’utilisateur et le mot de passe sont suivis d'une arobase (@). Dans les zones Utilisateur et Mot de passe, tous les caractères :, @ ou / doivent être codés. Voir "Codage des URL".

La synatxe de url_path d'une URL de serveur FTP est la suivante :


cwd1/cwd2/.../cwdN/name;type= xfer_type

cwd1 à cwdN et name sont éventuellement des chaînes codées et xfer_type est l’un des caractères a, iou d. La partie ;type= xfer_type est omise. Les parties cwdx et name sont vides. url_path est omise dans son intégralité, y compris la barre oblique /, ce qui la délimite du préfixe contenant user, password, host et port.

La url_path est interprétée comme une série de commandes FTP comme suit :

  • Chaque élément cwd doit être fourni de manière séquentielle en tant qu’argument d’une commande cwd, changement de répertoire de travail.
  • Si le typecode est "d", effectuez une commande NLST, nom de liste, avec name comme argument et interprétez les résultats en tant que liste de répertoires de fichiers.
  • Sinon, exécutez une commande TYPE avec xfer_type comme argument, puis accédez au fichier nommé name. Par exemple, à l’aide de la commande RETR.

    L' argument xfer_type a été étendu au-delà de ce qui est pris en charge par le document RFC, en particulier les sections D1, D2, D3 et D4. En outre, si host:port est exclu, bien qu’il soit rarement utile de le faire, la valeur par défaut de host est localhost.