الخلاصة
- يبدأ سجل مشروع curl ببرنامج HttpGet الذي نشره Rafael Sagula في نوفمبر 1996، ثم بتعديلات Daniel Stenberg اللازمة لجلب أسعار العملات إلى روبوت IRC.
- صدر curl 4 في 20 مارس 1998. أما واجهة libcurl السهلة التي تستدعيها البرامج الأخرى فجاءت مع الإصدار 7.1 في أغسطس 2000.
الرقم موجود، لكن اليد الآلية غائبة
يمكن للإنسان فتح صفحة سعر الصرف. أما الروبوت فيحتاج أن يطلب البيانات كل مرة بنفسه. يروي Stenberg في تاريخ المشروع أنه كان يعمل على روبوت لقناة IRC مرتبطة بحاسوب Amiga عندما وجد HttpGet. نشر المطور البرازيلي Rafael Sagula هذه الأداة الحرة لسطر الأوامر في 11 نوفمبر 1996. أضاف Stenberg تعديلات عليها، وخرج إصدار يتضمنها في 17 ديسمبر. يعود صنع الأداة الأولى إلى Sagula؛ ويفسر احتياج الروبوت لماذا واصل شخص آخر رعايتها وتوسيعها.
كان اسم HttpGet وصفاً دقيقاً لوظيفته الأولى: جلب البيانات عبر HTTP. في 1997 صار يقبل عناوين HTTP في سطر الأوامر ويدعم الوكلاء. ويسجل المشروع إصلاح دعم Gopher وإضافة تنزيلات FTP. هكذا أصبح اسم بروتوكول واحد أضيق من عمل البرنامج. في أغسطس 1997 حمل الإصدار 2.0 اسم urlget. يحتفظ جدول الإصدارات بسلسلة النسب؛ فالاسم الجديد لم يخلق شيفرة جديدة من العدم.
ثم ضاق لفظ «الجلب» نفسه. شهد العام ذاته رفع الملفات عبر FTP واستخدام HTTP POST. صار البرنامج يرسل كما يستقبل. سأل الروبوت عن قيمة عملة، لكن الأداة التي ساعدته كانت تتعلم إنجاز النقل في الاتجاهين. كانت الوظيفة تتقدم، وتأتي بطاقة الاسم متأخرة وراءها.
الباب الذي فتح المحرك للآخرين
ظهر curl 4 في 20 مارس 1998. الرقم أربعة دليل على استمرار خط urlget، لا على اختراع بدأ يومها من الصفر. لم يعد الاسم يَعِد ببروتوكول معين أو باتجاه واحد للبيانات. أضيف دعم SSL وملفات تعريف الارتباط خلال 1998. جمع كل تلك القدرات في يوم إعادة التسمية يمحو العمل المتراكم مع مواجهة الخوادم الحقيقية.
بقيت عقبة أمام مطور تطبيق آخر. يمكن تشغيل أمر خارجي ثم قراءة مخرجاته، لكن هذا وصل هشّ بين برنامجين. يصف تاريخ المشروع إعادة تنظيم الشيفرة في ربيع 2000 لإنتاج واجهة مكتبة مناسبة. صدر الإصدار 7.1 في 7 أغسطس حاملاً الواجهة السهلة. يسرد سجل تغييرات 7.1 الأصلي الرموز العامة للمكتبة، وملفات الترويسة القابلة للتثبيت، وبناء المكتبة المشتركة، واستدعاءات ضبط الخيارات. هذه التفاصيل الجافة هي ما يسمح لبرنامج غريب باستدعاء محرك النقل بثقة.
ويذكر المشروع ظهور ربط من طرف ثالث لـ libcurl في أغسطس نفسه. استطاع مطور خارج فريق الصيانة أن يبني فوق هذه الواجهة. تعرض وثائق واجهة C الحالية الشكل العام: ضبط الخيارات، تنفيذ النقل، ثم تحرير الموارد. وظائف اليوم الكاملة ليست وصفاً دقيقاً لإصدار 2000. الإنجاز التاريخي آنذاك هو قيام حد واضح يمكن للبرامج الأخرى العبور منه إلى المحرك.
ثلاثة أسماء وفاتورة واحدة
وصف HttpGet جلب البيانات عبر HTTP. وسّع urlget العمل إلى عناوين وبروتوكولات أخرى. استوعب curl الإرسال والاستقبال. نقل libcurl المهمة وراء واجهة تستخدمها التطبيقات. لم تكن سلسلة الأسماء حملة تسويق؛ كل اسم لحق بقدرات تعمل بالفعل. الحساب الاقتصادي مباشر: صيانة تنفيذ مشترك للبروتوكولات والوكلاء وحالات النقل أرخص من مطالبة كل روبوت وتطبيق بإعادة كتابة الحديث نفسه مع الشبكة. كشف سؤال واحد عن سعر صرف فاتورة كانت تتكرر في كل برنامج.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات





