PHP cURL ہینڈلز اور پراکسی کنکشن کا دوبارہ استعمال
libcurl کے کنکشن کیشے کو برقرار رکھنے اور اس یقین دہانی میں فرق کریں کہ پراکسی کے ذریعے TCP کنکشن زندہ رہتا ہے۔
cURL ہینڈل برقرار رکھنے سے بعد کی منتقلیاں مطابقت رکھنے والے کیش شدہ کنکشن دوبارہ استعمال کر سکتی ہیں۔ تاہم یہ پراکسی کو TCP کنکشن غیر معینہ مدت تک کھلا رکھنے پر مجبور نہیں کر سکتا۔
دوسری جانب غیر فعال کنکشن بند کر سکتی ہے، نیٹ ورک راستہ غائب ہو سکتا ہے، اور بعد کی منتقلی کو کوئی دوسرا راستہ یا سرنگ درکار ہو سکتی ہے۔ دوبارہ استعمال ان شرائط کے تابع کلائنٹ کی بہتری ہے، دستیابی کی ضمانت نہیں۔
ایک ہی پراکسی پالیسی کے ذریعے بار بار کام کے لیے متعلقہ ہینڈل یا multi-handle کنکشن کیشے کو زندہ رکھیں اور ایسے اختیارات سے بچیں جو جان بوجھ کر نئے کنکشن مانگتے ہیں یا دوبارہ استعمال ممنوع قرار دیتے ہیں، الا یہ کہ کام کو ان کی ضرورت ہو۔ دوسری درخواست کے مختصر ہونے کو دوبارہ استعمال کا ثبوت سمجھنے سے پہلے منتقلی کا اصل رویہ جانچیں۔
ان پرانے PHP مثالوں سے ہوشیار رہیں جو کہتی ہیں کہ کنکشن "curl_close تک" کھلا رہتا ہے۔ PHP دستاویز کرتا ہے کہ curl_close() کا PHP 8.0 سے کوئی اثر نہیں اور PHP 8.5 سے یہ متروک ہے۔ وسائل کی ملکیت اور آبجیکٹ کی عمر کو اس PHP ورژن میں سمجھنا ضروری ہے جو آپ تعینات کرتے ہیں۔
پراکسی کو گرم رکھنے کے لیے بار بار درخواستیں بھیجنے والا ٹائمر ٹریفک بڑھاتا ہے اور پھر بھی دور دراز کے اینڈ پوائنٹ کو بند ہونے سے نہیں روک سکتا۔ ایک پراکسی کنکشن ہمیشہ بچ رہے گا، اس وعدے کے بجائے عام کنکشن انتظام، محدود وقت کی درخواستیں اور واضح دوبارہ کوشش کے قواعد کو ترجیح دیں۔