Aller au contenu principal

2. Configuration du client

  1. Configuration du client

Les clients HTTP sont configurés pour utiliser un proxy UDP avec un modèle d'URI [TEMPLATE] qui possède les variables "target_host" et "target_port". Des exemples sont présentés ci-dessous :

https://example.org/.well-known/masque/udp/\{target_host\}/\{target_port\}/ https://proxy.example.org:4443/masque?h=\{target_host\}&p=\{target_port\} https://proxy.example.org:4443/masque{?target_host,target_port}

                Figure 1 : Exemples de modèles d'URI

Les exigences suivantes s'appliquent au modèle d'URI :

  • Le modèle d'URI DOIT être un modèle de niveau 3 ou inférieur.

  • Le modèle d'URI DOIT être sous forme absolue et DOIT inclure des composants scheme, authority et path non vides.

  • Le composant path du modèle d'URI DOIT commencer par une barre oblique ("/").

  • Toutes les variables de modèle DOIVENT se trouver dans les composants path ou query de l'URI.

  • Le modèle d'URI DOIT contenir les deux variables "target_host" et "target_port" et PEUT contenir d'autres variables.

  • Le modèle d'URI NE DOIT PAS contenir de caractères Unicode non ASCII et DOIT contenir uniquement des caractères ASCII dans la plage 0x21-0x7E incluse (notez que l'encodage en pourcentage est autorisé ; voir la section 2.1 de [URI]).

  • Le modèle d'URI NE DOIT PAS utiliser l'expansion réservée (opérateur "+"), l'expansion de fragment (opérateur "#"), l'expansion d'étiquette avec préfixe point, l'expansion de segment de chemin avec préfixe barre oblique, ni l'expansion de paramètre de style chemin avec préfixe point-virgule.

Les clients DEVRAIENT valider les exigences ci-dessus ; cependant, les clients PEUVENT utiliser une implémentation de modèle d'URI à usage général qui ne dispose pas de cette validation spécifique. Si un client détecte que l'une des exigences ci-dessus n'est pas satisfaite par un modèle d'URI, le client DOIT rejeter sa configuration et abandonner la requête sans l'envoyer au proxy UDP.

La méthode HTTP CONNECT originale permettait le transport de l'hôte et du port cibles, mais pas du schéma, de l'autorité du proxy, du chemin ou de la requête. Ainsi, il existe des clients avec des interfaces de configuration de proxy qui permettent uniquement à l'utilisateur de configurer l'hôte proxy et le port proxy. Les implémentations client de cette spécification qui sont contraintes par de telles limitations PEUVENT tenter d'accéder aux capacités de proxy UDP en utilisant le modèle par défaut, qui est défini comme "https://$PROXY_HOST:$PROXY_PORT/.well-known/masque/udp/{target_host}/{target_port}/", où $PROXY_HOST et $PROXY_PORT sont respectivement l'hôte et le port configurés du proxy UDP. Les déploiements de proxy UDP DEVRAIENT offrir un service à cet emplacement s'ils doivent interagir avec de tels clients.