2. Configurazione del client
- Configurazione del client
I client HTTP sono configurati per utilizzare un proxy UDP con un modello URI [TEMPLATE] che ha le variabili "target_host" e "target_port". Esempi sono mostrati di seguito:
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}
Figura 1: Esempi di modelli URI
I seguenti requisiti si applicano al modello URI:
-
Il modello URI DEVE essere un modello di livello 3 o inferiore.
-
Il modello URI DEVE essere in forma assoluta e DEVE includere componenti scheme, authority e path non vuoti.
-
Il componente path del modello URI DEVE iniziare con una barra ("/").
-
Tutte le variabili del modello DEVONO trovarsi all'interno dei componenti path o query dell'URI.
-
Il modello URI DEVE contenere le due variabili "target_host" e "target_port" e PUÒ contenere altre variabili.
-
Il modello URI NON DEVE contenere caratteri Unicode non ASCII e DEVE contenere solo caratteri ASCII nell'intervallo 0x21-0x7E incluso (si noti che la codifica percentuale è consentita; vedere la Sezione 2.1 di [URI]).
-
Il modello URI NON DEVE utilizzare l'espansione riservata (operatore "+"), l'espansione del frammento (operatore "#"), l'espansione dell'etichetta con prefisso punto, l'espansione del segmento di percorso con prefisso barra, né l'espansione del parametro in stile percorso con prefisso punto e virgola.
I client DOVREBBERO convalidare i requisiti di cui sopra; tuttavia, i client POSSONO utilizzare un'implementazione del modello URI generica che non dispone di questa convalida specifica. Se un client rileva che uno qualsiasi dei requisiti di cui sopra non è soddisfatto da un modello URI, il client DEVE rifiutare la sua configurazione e interrompere la richiesta senza inviarla al proxy UDP.
Il metodo HTTP CONNECT originale consentiva il trasporto dell'host e della porta di destinazione, ma non dello schema, dell'autorità proxy, del percorso o della query. Pertanto, esistono client con interfacce di configurazione proxy che consentono all'utente di configurare solo l'host proxy e la porta proxy. Le implementazioni client di questa specifica che sono vincolate da tali limitazioni POSSONO tentare di accedere alle funzionalità di proxying UDP utilizzando il modello predefinito, che è definito come "https://$PROXY_HOST:$PROXY_PORT/.well-known/masque/udp/{target_host}/{target_port}/", dove $PROXY_HOST e $PROXY_PORT sono rispettivamente l'host e la porta configurati del proxy UDP. Le distribuzioni di proxy UDP DOVREBBERO offrire un servizio in questa posizione se devono interagire con tali client.