Konvensi khas UNIX adalah bahwa program (biasanya) membaca konfigurasi startup mereka dari berbagai file yang telah ditentukan. Ini hanyalah sebuah tradisi, bukan apa pun yang didefinisikan oleh POSIX atau standar lainnya. Contoh program UNIX misalnya foobarakan membaca, dengan urutan prioritas sebagai berikut:
~/.foobarrc ## User specific configuration parameters
/etc/foobarrc ## Global parameters, depending on taste
## `/etc/foobar/*(.conf)' might be chosen too
Mungkin ada mundur /usr/share/tetapi itu tidak terlalu umum.
Jadi, di curlsini mengikuti konvensi dan membacanya dari konfigurasi awal ~/.curlrc. Dan dengan melakukan echo ipv4 >>~/.curlrc, Anda telah menambahkan string ipv4ke file ~/.curlrc.
String ipv4memiliki arti khusus untuk curl- curlakan menggunakan IPv4 untuk resolusi host. Ini analog dengan menggunakan argumen -4/ ipv4as curldari baris perintah, tetapi menyimpan untuk ~/.curlrcmenjadikan ini permanen.
Seperti yang telah Anda atur ipv4di sana dan sekarang semuanya berfungsi untuk Anda, mungkin Anda telah mengkonfigurasi IPv6, dan curlsebelumnya menggunakan IPv6 untuk resolusi host (berhasil), jadi tidak ada cadangan untuk IPv4. Sambungan ke situs gagal karena tidak semua situs memiliki server web yang dikonfigurasikan untuk mendengarkan alamat IPv6, sehingga socket()panggilan akan gagal seperti yang dapat kita lihat dalam kasus ini.