Handle cURL PHP dan penggunaan ulang koneksi proxy
Bedakan antara mempertahankan cache koneksi libcurl dan jaminan bahwa koneksi TCP melalui proxy tetap hidup.
Mempertahankan handle cURL dapat memungkinkan transfer berikutnya menggunakan ulang koneksi cache yang kompatibel. Namun itu tidak dapat memaksa proxy menahan koneksi TCP tetap terbuka tanpa batas.
Pihak lawan dapat menutup koneksi yang menganggur, jalur jaringan dapat hilang, dan transfer berikutnya mungkin memerlukan rute atau terowongan lain. Penggunaan ulang adalah optimasi sisi klien yang tunduk pada kondisi tersebut, bukan jaminan ketersediaan.
Untuk pekerjaan berulang melalui satu kebijakan proxy, pertahankan handle terkait atau cache koneksi multi-handle tetap hidup dan hindari opsi yang sengaja meminta koneksi baru atau melarang penggunaan ulang kecuali tugas membutuhkannya. Periksa perilaku transfer yang sebenarnya sebelum menganggap permintaan kedua yang lebih singkat membuktikan penggunaan ulang.
Berhati-hatilah dengan contoh PHP lama yang menyatakan koneksi tetap terbuka "sampai curl_close". PHP mendokumentasikan bahwa curl_close() tidak berpengaruh sejak PHP 8.0 dan sudah usang sejak PHP 8.5. Kepemilikan sumber daya dan masa hidup objek perlu dipahami pada versi PHP yang Anda terapkan.
Timer yang mengirim permintaan berulang untuk menjaga proxy tetap hangat menambah lalu lintas dan tetap tidak dapat mencegah endpoint jarak jauh menutup. Utamakan pengelolaan koneksi normal, permintaan terbatas, dan aturan percobaan ulang yang jelas daripada janji bahwa satu koneksi proxy akan selalu bertahan.