Passa al contenuto principale

3. Configurazione dei client

I client sono configurati per utilizzare il proxy IP su HTTP tramite un modello URI [TEMPLATE]. Il modello URI PUÒ contenere due variabili: "target" e "ipproto"; vedere Sezione 4.6. L'opzionalità delle variabili deve essere considerata quando si definisce il modello in modo che la variabile sia autoidentificante o possibile da escludere nella sintassi.

Esempi sono mostrati di seguito:

https://example.org/.well-known/masque/ip/{target}/{ipproto}/
https://proxy.example.org:4443/masque/ip?t={target}&i={ipproto}
https://proxy.example.org:4443/masque/ip{?target,ipproto}
https://masque.example.org/?user=bob

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 schema, autorità e percorso non vuoti.

  • Il componente percorso del modello URI DEVE iniziare con una barra "/".

  • Tutte le variabili del modello DEVONO trovarsi all'interno dei componenti percorso o query dell'URI.

  • Il modello URI PUÒ contenere le due variabili "target" e "ipproto" e PUÒ contenere altre variabili. Se le variabili "target" o "ipproto" sono incluse, i loro valori NON DEVONO essere vuoti. I client possono invece utilizzare "*" per indicare valori jolly o senza preferenza; vedere Sezione 4.6.

  • 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 Sezione 2.1 di URI).

  • Il modello URI NON DEVE utilizzare l'espansione riservata (operatore "+"), l'espansione frammento (operatore "#"), l'espansione etichetta con prefisso punto, l'espansione segmento percorso con prefisso barra, né l'espansione parametro stile percorso con prefisso punto e virgola.

I client DOVREBBERO convalidare i requisiti di cui sopra; tuttavia, i client POSSONO utilizzare un'implementazione di modello URI generica che manca 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 IP.

Come per il proxy UDP, alcune configurazioni client per proxy IP consentiranno all'utente di configurare solo l'host proxy e la porta proxy. I client con tali limitazioni POSSONO tentare di accedere alle funzionalità di proxy IP utilizzando il modello predefinito, che è definito come: "https://$PROXY_HOST:$PROXY_PORT/.well-known/masque/ip/{target}/{ipproto}/", dove $PROXY_HOST e $PROXY_PORT sono rispettivamente l'host e la porta configurati del proxy IP. Le distribuzioni di proxy IP DOVREBBERO offrire il servizio in questa posizione se devono interagire con tali client.