Tampaknya banyak program dirancang untuk membaca variabel lingkungan ini untuk memutuskan proxy apa yang harus dilalui untuk terhubung ke sumber daya di internet. Program-program itu mungkin juga memiliki pengaturan proxy masing-masing, tetapi jika tidak disetel, mereka akan dengan senang hati menggunakan variabel lingkungan ini ...
- HTTP_PROXY
- HTTPS_PROXY
- NO_PROXY
Saya hanya ingin tahu:
- Apakah variabel lingkungan ini standar?
- Apakah ada spesifikasi tertulis (mungkin oleh produsen OS?) Itu merekomendasikan penggunaan variabel lingkungan ini?
environment-variables
http
http-proxy
Niko Bellic
sumber
sumber
Jawaban:
Ini lebih merupakan konvensi daripada standar. Kemungkinan didukung oleh satu atau lebih pustaka protokol penangan yang benar-benar membuat koneksi. Java menggunakan properti serupa di pustaka protokolnya.
Memahami dan menggunakan konvensi umum membuat pembangunan lebih sederhana. Ini juga membantu menerapkan prinsip kejutan paling tidak dan membuat program lebih mungkin
just work
.sumber
Saya setuju dengan pernyataan BillThor itu Ini lebih merupakan konvensi daripada standar.
Saya tidak tahu asal dari variabel-variabel ini tetapi dalam hal HTTP pada * nix banyak konvensi berasal dari perilaku libcurl Pustaka HTTP dan program baris perintah ikal.
Di https://curl.haxx.se/docs/manual.html ada deskripsi variabel lingkungan yang terkait dengan menggunakan proxy HTTP yang dipahami libcurl / curl:
Mohon perhatikan itu
http_proxy
dieja huruf kecil sebagai satu-satunya di antara variabel-variabel ini. Beberapa perpustakaan / program mencari nama huruf kecil dari variabel-variabel ini sedangkan yang lain mencari nama huruf besar. Menjadi aman kita harus mendefinisikan versi huruf kecil dan besar masing-masing variabel.Masalah lain adalah deskripsi yang dikutip tentang bagaimana nama host cocok
NO_PROXY
tidak tepat dan tidak menjawab pertanyaan berikut:foo.example.com.
atau tidak?foo.example.com
cocokkan hanya satu domain ini atau haruskah itu juga cocok dengan subdomain seperti apabar.foo.example.com
? Jika yang terakhir maka harus juga cocok dengan subdomain di subdomain sepertibar.baz.foo.example.com
?.foo.example.com
(titik di awal) diizinkan dan jika demikian maka apa yang cocok?*
) diizinkan sebagai bagian dari nilai (*.example.com
,*example.com
) dan jika demikian, bagaimana cara merawatnya?Kurangnya spesifikasi formal menyebabkan kebingungan dan bug. Di sini kita harus menyebutkan Proxy lib perpustakaan yang bertujuan untuk memberikan dukungan yang benar dan konsisten untuk konfigurasi proxy. Dari rumah proyek halaman :
Bacaan lebih lanjut:
sumber