Proxy server : serveur délégué, serveur de délégation.
Déléguer les communications réseau à un serveur intermédiaire.
On distingue plusieurs types de proxys :
Depuis Java 1.1, il est possible de configurer l'utilisation d'un proxy pour les requêtes HTTP.
La classe abstraite java.net.HttpURLConnection
dispose en effet d'une méthode
usingProxy()
indiquant si la connection passe par un proxy HTTP, et la classe privée sun.net.www.http.HttpClient
sait gérer
Il faut pour cela effectuer une configuration via les propriétés système Java
<strong>http.proxySet</strong>=true <strong>http.proxyHost</strong>=myProxy
et <strong>http.proxyPort</strong>=myPort
.
Depuis Java 1.1, il est possible de configurer l'utilisation d'un proxy pour les requêtes FTP.
Il faut pour cela effectuer une configuration via les propriétés système Java ftpProxyHost
et ftpProxyPort
.
l'implémentation par défaut des sockets (classe non publique java.net.PlainSocketImpl
) supporte le
protocole SOCKS version 4, et peut être paramétrée pour
contacter un serveur SOCKS en fixant la valeur de la propriété Java socksProxyHost
, et éventuellement
socksProxyPort
si le port de ce serveur est différent de 1080 (le port SOCKS par défaut). n1La propriété n2user.name
sera également utilisée dans ce protocole.
Cette implémentation par défaut peut aussi être remplacée par une autre (des sockets SOCKS, des sockets compressant leurs données...)
java.net.SocketFactory
et fournissant une
spécialisation de java.net.SocketImpl
). Cet possibilité est cependant limitée, dans la mesure où
une seule fabrique peut-être utilisée à un moment donné.java.net.Socket
et java.net.ServerSocket
à partir de Java
1.1, où ces classes sont devenues dérivables (elles ne sont plus finales, seules certaines méthodes le sont pour
des raisons de sécurité). Cette possibilité peut malgré tout être combinée à l'utilisation de la fabrique de
sockets (des sockets spécialisées pourront souhaiter conserver le support des proxys d'une fabriques par
exemple).