PHP cURL-kezelők és a proxykapcsolatok újrafelhasználása
Különböztesse meg a libcurl kapcsolatgyorsítótárának megtartását attól a garanciától, hogy egy proxyn átmenő TCP-kapcsolat életben marad.
Egy cURL-kezelő megtartása lehetővé teheti, hogy a későbbi átvitelek újrahasználják a kompatibilis gyorsítótárazott kapcsolatokat. Arra azonban nem képes, hogy rávegyen egy proxyt egy TCP-kapcsolat korlátlan nyitva tartására.
A másik fél bezárhat egy tétlen kapcsolatot, egy hálózati útvonal eltűnhet, és egy későbbi átvitelhez más útvonalra vagy alagútra lehet szükség. Az újrafelhasználás ügyféloldali optimalizálás, amely e feltételeknek van alávetve, nem pedig elérhetőségi garancia.
Ismétlődő munkához egy proxyházirend mellett tartsa életben a vonatkozó kezelőt vagy a multi-handle kapcsolatgyorsítótárat, és kerülje azokat az opciókat, amelyek szándékosan új kapcsolatokat kérnek vagy tiltják az újrafelhasználást, hacsak a feladat nem igényli őket. Vizsgálja meg a tényleges átviteli viselkedést, mielőtt feltételezné, hogy egy rövidebb második kérés bizonyítja az újrafelhasználást.
Óvatosan bánjon azokkal a régi PHP-példákkal, amelyek szerint a kapcsolat "curl_close-ig" nyitva marad. A PHP dokumentálja, hogy a curl_close() PHP 8.0 óta nem fejt ki hatást, és a PHP 8.5-től elavult. Az erőforrás-tulajdonjogot és az objektumok élettartamát a telepített PHP-verzióban kell érteni.
Az az időzítő, amely ismétlődő kérésekkel próbálja melegen tartani a proxyt, forgalmat ad hozzá, és még így sem akadályozhatja meg a távoli végpont lezárását. Részesítse előnyben a szokásos kapcsolatkezelést, a korlátozott kéréseket és az egyértelmű újrapróbálkozási szabályokat azzal az ígérettel szemben, hogy egy proxykapcsolat mindig túléli.