PHP cURL դեսպաններ և պրոքսի կապերի վերաօգտագործում
Տարանջատեք libcurl-ի կապերի քեշի պահպանումը պրոքսիով TCP կապի կենդանի մնալու երաշխիքից։
cURL դեսպանի պահպանումը կարող է թույլ տալ հետագա փոխանցումներին վերաօգտագործել համատեղելի քեշավորված կապերը։ Սակայն այն չի կարող պրոքսիին ստիպել TCP կապը անժամկետ բաց պահել։
Հակառակ կողմը կարող է փակել պարապ կապը, ցանցային ուղին կարող է անհետանալ, և հետագա փոխանցումը կարող է պահանջել այլ երթուղի կամ թունել։ Վերաօգտագործումը հաճախորդի կողմի օպտիմիզացիա է՝ պայմանավորված այդ պայմաններով, ոչ թե հասանելիության երաշխիք։
Մեկ պրոքսի քաղաքականությամբ կրկնվող աշխատանքի համար պահեք համապատասխան դեսպանը կամ multi-handle կապերի քեշը կենդանի և խուսափեք այն տարբերակներից, որոնք դիտավորյալ նոր կապեր են պահանջում կամ արգելում վերաօգտագործումը, եթե առաջադրանքը դրանց կարիքը չունի։ Ստուգեք փոխանցման իրական վարքը նախքան ենթադրելը, թե ավելի կարճ երկրորդ հարցումն ապացուցում է վերաօգտագործումը։
Զգույշ եղեք հին PHP օրինակներից, որոնք ասում են, թե կապը բաց է մնում "մինչև curl_close"։ PHP-ն փաստաթղթավորում է, որ curl_close()-ը PHP 8.0-ից ի վեր ոչ մի ազդեցություն չունի և PHP 8.5-ից հնացած է։ Ռեսուրսների սեփականությունը և օբյեկտների կյանքի տևողությունը պետք է հասկանալ ձեր տեղադրած PHP տարբերակում։
Ժամաչափը, որը կրկնվող հարցումներ է ուղարկում պրոքսին տաք պահելու համար, ավելացնում է երթևեկություն և այնուամենայնիվ չի կարող կանխել հեռավոր վերջնակետի փակումը։ Նախընտրեք սովորական կապերի կառավարումը, սահմանափակ հարցումները և հստակ կրկնափորձի կանոնները՝ փոխարենը խոստման, թե մեկ պրոքսի կապ միշտ կգոյատևի։