بعد 16 عامًا من التطوير، وصل libmicrohttpd إلى نسخته المستقرة الأولى

libmicrohttpd

libmicrohttpd هي مكتبة C صغيرة من المفترض أن تسهل تشغيل خادم HTTP كجزء من تطبيق آخر

تم الإعلان عنه مؤخرًا إطلاق النسخة الجديدة من مكتبة جنو "libmicrohttpd 1.0.0"، الذي تم وضع علامة عليها كأول نسخة مستقرة من المشروع والذي يسلط الضوء على إعادة تصميم تنفيذ المصادقة الضمنية، بالإضافة إلى حقيقة إعادة صياغة كود تهيئة GnuTLS، من بين أمور أخرى.

بالنسبة لأولئك الذين لا يعرفون عن libmicrohttpd، يجب أن يعرفوا ذلك هذه أداة قوية لتشغيل خادم HTTP داخل تطبيق C أو C++. يتميز GNU libmicrohttpd بأنه مكتبة C سريعة وصغيرة الحجم، وفعالة في استخدام الموارد ومناسبة للتطبيقات التي تتطلب خادم HTTP متكامل.

يحتوي على واجهة برمجة تطبيقات معبرة وآمنة للعمل مع خادم HTTP، متوافق مع HTTP 1.1 ومع إمكانية الاستماع على منافذ متعددة، بالإضافة إلى تقديم خيارات مرنة لإدارة الخيوط، مما يسمح له بالتكيف مع بيئات التطبيقات المختلفة.

يوفر طرقًا متعددة الاستخدامات لإدارة المقبس، وهو يدعم مجموعة متنوعة من منصات أنظمة التشغيل، ويتيح الاتصال عبر IPv4 وIPv6، ويسهل المعالجة الفعالة للبيانات المرسلة عبر طلبات POST.

الميزات الجديدة الرئيسية لـ libmicrohttpd

يمثل هذا الإصدار أول إصدار مستقر من GNU libmicrohttpd بعد 16 عامًا من تطوير المشروع وفي هذا الإصدار الجديد تم تنفيذ تغييرات مهمة وميزات جديدة، من بينها إعادة كتابة تحليل طلبات العملاء، بما يتماشى مع معايير RFC، حيث تمت إعادة كتابة التعليمات البرمجية المسؤولة عن تحليل طلبات العميل بالكامل وتلبي الآن المتطلبات المفصلة في RFC 9110 و9112، كما تم توفير أوضاع امتثال صارمة ومرنة لتحقيق التوازن بين التوافق وتحسين الأمان.

أحد التغييرات الأخرى التي تبرز في الإصدار الجديد هو أنه تم تنفيذها تحسينات على الملخص والمصادقة الأساسية، مع دعم الميزات المتقدمة وفقًا لـ RFC 7617باعتبارها مصادقة ملخصة، تمت إعادة تصميم تنفيذها، مما أدى إلى توسيع الدعم بشكل كبير للميزات الموضحة في RFC 7617. ويتضمن ذلك دعم SHA-512، وتجزئة المستخدم، واسم المستخدم في التدوين الموسع. بالإضافة إلى ذلك، يتم الحفاظ على التوافق مع RFC 2069 القديم والحفاظ على القدرة على استخدام تجزئات MD5 وSHA-256.

وبالإضافة إلى هذا، فقد كانت هناك تحسينات في البيئات متعددة الخيوط، وخاصة في أوضاع استقصاء المقابس الخارجية. تم تحسين الأداء خاصة في البيئات متعددة مؤشرات الترابط وكذلك في أوضاع استقصاء مأخذ التوصيل. بالإضافة إلى ذلك، تمت إعادة تصميم تنفيذ المصادقة الأساسية، بما في ذلك توفير وظائف إضافية في واجهة برمجة التطبيقات (API).

من ناحية أخرى ، فإنه يسلط الضوء على إعادة تنفيذ تهيئة GnuTLS، مع دعم تكوينات نظام محددة، منذ أن تمت مراجعة رمز تهيئة GnuTLS وإعادة صياغته. تمت إضافة القدرة على استخدام كل من تكوينات نظام GnuTLS القياسية والتكوينات الخاصة بـ libmicrohttpd، إلى جانب دعم تجاوز تكوينات نظام GnuTLS الفردية.

من التغييرات الأخرى التي تبرز من هذا الإصدار الجديد:

  • إصلاح تسرب الذاكرة في مسار الخطأ.
  • تم إصلاح الاختبار باستخدام GnuTLS على مسار غير افتراضي.
  • تم إصلاح البنية غير التصحيحية بدون HTTPS.
  • التكوين: تمت إزالة الحل البديل القديم لـ Solaris.
  • "تحديث" اتصالات TLS: تم إصلاح نقل البيانات في ظل ظروف حدودية مختلفة.
  • "bootstrap": الإصلاحات والتبسيطات.
  • تمت إعادة تسمية ميزة المصادقة الأساسية الجديدة وتحسين الوثائق.
  • تمت إضافة الكشف عن المزيد من الشروط لمعالجة البيانات دون انتظار.
  • تحسين التعامل مع إيقاف تشغيل البرنامج الخفي في وضع الاستقصاء الخارجي.
  • تم توحيد وتبسيط تعبئة fd_set.
  • الدعم الرسمي للصفر في MHD_OPTION_THREAD_POOL_SIZE.
  • يشمل المفقودين الثابتة .
  • دعم مؤشر الترابط المُعاد تشكيله للتعامل مع الأنظمة الأساسية بدون قيمة معرف "غير صالحة".
  • تم إصلاح MHD_CONNECTION_INFO_DAEMON: إرجاع البرنامج الخفي الرئيسي. -على سبيل المثال

وأخيرًا، تجدر الإشارة إلى أنه من المخطط تطوير الفرع libmicrohttpd 2، والذي سيوفر الدعم لبروتوكولي HTTP/2 وHTTP/3، بالإضافة إلى العمل على تبسيط واجهة برمجة التطبيقات (API) ودعم الواجهات الخلفية المختلفة لـ TLS. سيتم تمويل بدء العمل في الفرع الجديد من قبل صندوق التكنولوجيا السيادي، تأسست في ألمانيا لتحفيز تطوير البنية التحتية الرقمية المفتوحة والأنظمة البيئية مفتوحة المصدر.

إذا كنت مهتم بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.