Il semble que de nombreux programmes sont conçus pour lire ces variables d'environnement afin de décider par quel proxy passer pour se connecter à une ressource sur Internet. Ces programmes peuvent également avoir leurs propres paramètres de proxy individuels, mais s'ils ne sont pas définis, ils utiliseront volontiers ces variables d'environnement ...
- HTTP PROXY
- HTTPS_PROXY
- NO_PROXY
Je veux juste savoir:
- Ces variables d'environnement sont-elles standard?
- Existe-t-il une spécification écrite (pouvant être fournie par les fabricants de systèmes d'exploitation?) Qui recommande l'utilisation de ces variables d'environnement?
environment-variables
http
http-proxy
Niko Bellic
la source
la source
Réponses:
Je suis d'accord avec la déclaration de BillThor selon laquelle il s'agit plus d'une convention que d'une norme.
Je ne connais pas l'origine de ces variables mais dans le cas de HTTP sur * nix, de nombreuses conventions semblent provenir du comportement de la bibliothèque HTTP libcurl et du programme de ligne de commande curl.
Sur https://curl.haxx.se/docs/manual.html, il y a une description des variables d'environnement liées à l'utilisation du proxy HTTP que libcurl / curl comprend:
Veuillez noter qu'il
http_proxy
est orthographié en minuscules comme la seule parmi ces variables. Certaines bibliothèques / programmes recherchent des noms en minuscules de ces variables tandis que d'autres recherchent des noms en majuscules. Pour être sûr, il faut définir les versions en minuscules et en majuscules de chaque variable.Un autre problème est que la description citée de la façon dont les noms d'hôte sont comparés
NO_PROXY
n'est pas précise et ne répond pas aux questions suivantes:foo.example.com.
ou non?foo.example.com
correspondre uniquement à ce domaine ou doit-il également correspondre à un sous-domaine similairebar.foo.example.com
? Si ce dernier doit alors correspondre à n'importe quel sous-domaine dans n'importe quel sous-domaine commebar.baz.foo.example.com
?.foo.example.com
(point au début) est-il autorisé et si oui, à quoi devrait-il correspondre?*
) est-il autorisé dans le cadre de la valeur (*.example.com
,*example.com
) et si oui, comment est-il traité?Le manque de spécification formelle conduit à la confusion et aux bugs. Ici, il faut mentionner la bibliothèque libproxy qui vise à fournir un support correct et cohérent pour la configuration du proxy. Depuis la page d' accueil du projet :
Lectures complémentaires:
la source
C'est plus une convention qu'une norme. Il est probablement pris en charge par une ou plusieurs bibliothèques de gestionnaires de protocoles qui établissent réellement les connexions. Java utilise des propriétés similaires dans ses bibliothèques de protocoles.
Comprendre et utiliser des conventions communes rend le développement beaucoup plus simple. Il aide également à mettre en œuvre le principe de la moindre surprise et à rendre les programmes plus susceptibles de le faire
just work
.la source