PHP cURL ročaji in ponovna uporaba proxy povezav
Razlikujte ohranjanje predpomnilnika povezav libcurl od zagotovila, da TCP povezava prek proxy ostane živa.
Ohranjanje ročaja cURL lahko poznejšim prenosom omogoči ponovno uporabo združljivih predpomnjenih povezav. Ne more pa prisiliti proxyja, da drži TCP povezavo odprto v nedogled.
Druga stran lahko zapre nedejavno povezavo, omrežna pot lahko izgine, poznejši prenos pa lahko potrebuje drugo pot ali tunel. Ponovna uporaba je optimizacija na strani odjemalca, ki je odvisna od teh pogojev, ne pa zagotovilo razpoložljivosti.
Za ponavljajoče se delo prek ene proxy politike ohranjajte ustrezen ročaj ali predpomnilnik povezav multi-handle živ in se izogibajte možnostim, ki namerno zahtevajo nove povezave ali prepovedujejo ponovno uporabo, razen če naloga to potrebuje. Preverite dejansko vedenje prenosa, preden domnevate, da krajša druga zahteva dokazuje ponovno uporabo.
Bodite previdni pri starih primerih PHP, ki pravijo, da povezava ostane odprta »do curl_close«. PHP dokumentira, da curl_close() od PHP 8.0 nima nobenega učinka in je od PHP 8.5 zastarel. Lastništvo virov in življenjska doba objektov morata biti razumljena v različici PHP, ki jo uvajate.
Časovnik, ki pošilja ponavljajoče se zahteve, da bi proxy ostal topel, doda promet in še vedno ne more preprečiti, da bi se oddaljena končna točka zaprla. Prednost dajte običajnemu upravljanju povezav, omejenim zahtevam in jasnim pravilom za ponovni poskus namesto obljube, da bo ena proxy povezava vedno preživela.