PHP cURL rokturi un starpniekservera savienojumu atkārtota izmantošana
Atšķiriet libcurl savienojumu kešatmiņas saglabāšanu no garantijas, ka TCP savienojums caur starpniekserveri paliek dzīvs.
cURL roktura saglabāšana var ļaut vēlākiem pārsūtījumiem atkārtoti izmantot saderīgus kešatmiņā saglabātus savienojumus. Tomēr tā nevar piespiest starpniekserveri turēt TCP savienojumu atvērtu bezgalīgi.
Otra puse var aizvērt neaktīvu savienojumu, tīkla ceļš var pazust, un vēlākam pārsūtījumam var būt nepieciešams cits maršruts vai tunelis. Atkārtota izmantošana ir klienta optimizācija, kas ir atkarīga no šiem nosacījumiem, nevis pieejamības garantija.
Atkārtotam darbam ar vienu starpniekservera politiku uzturiet dzīvu attiecīgo rokturi vai multi-handle savienojumu kešatmiņu un izvairieties no opcijām, kas apzināti pieprasa jaunus savienojumus vai aizliedz atkārtotu izmantošanu, ja vien uzdevumam tās nav vajadzīgas. Pārbaudiet faktisko pārsūtīšanas uzvedību, pirms pieņemat, ka īsāks otrais pieprasījums pierāda atkārtotu izmantošanu.
Esiet uzmanīgi ar veciem PHP piemēriem, kas apgalvo, ka savienojums paliek atvērts „līdz curl_close”. PHP dokumentē, ka curl_close() kopš PHP 8.0 nekam neiedarbojas un kopš PHP 8.5 ir novecojusi. Resursu īpašumtiesības un objektu dzīves cikls ir jāsaprot jūsu izvietotajā PHP versijā.
Taimeris, kas sūta atkārtotus pieprasījumus, lai starpniekserveris paliktu silts, pievieno trafiku un joprojām nevar novērst attālā galapunkta aizvēršanos. Dodiet priekšroku parastai savienojumu pārvaldībai, ierobežotiem pieprasījumiem un skaidriem atkārtošanas noteikumiem, nevis solījumam, ka viens starpniekservera savienojums vienmēr izdzīvos.