أول إصدار مستقر لمكتبة GNU libmicrohttpd

لقد نشر مشروع جنو libmicrohttpd 1.0.0، والذي يمثل الإصدار المستقر الأول في تاريخ المشروع الممتد لـ 16 عامًا. المكتبة مكتوبة بلغة C وتوفر واجهة برمجة تطبيقات بسيطة لتضمين وظائف خادم HTTP في التطبيقات. تتضمن الأنظمة الأساسية المدعومة GNU/Linux وFreeBSD وOpenBSD وNetBSD وSolaris وAndroid وmacOS وWin32 وz/OS. يتم توزيع الكود بموجب ترخيص LGPL 2.1+. عند إنشائها افتراضيًا، تشغل المكتبة حوالي 200 كيلو بايت، وفي وضع الإنشاء الأدنى تشغل 32 كيلو بايت. تستخدم التبعيات libc فقط، وأيضًا libgnutls عند إنشائها اختياريًا بدعم TLS.

تدعم المكتبة بروتوكول HTTP 1.1، وTLS، والمعالجة المتزايدة لطلبات POST، وقبول الاتصالات من عدة منافذ شبكة، والمصادقة الأساسية والملخصة، وIPv6، وSHOUTcast، وطرق تعدد إرسال الاتصال المختلفة (الاختيار، والاستقصاء، وepoll) ونماذج تعدد مؤشرات الترابط (على سبيل المثال، يمكن استخدام تجمع مؤشرات الترابط أو مؤشر الترابط لكل اتصال). لتقليل الحمل المتكبد عند تبديل السياق بين kernel ومساحة المستخدم، يتم تقليل عدد مكالمات النظام أثناء التشغيل إلى الحد الأدنى. تم تأكيد أمان قاعدة التعليمات البرمجية libmicrohttpd من خلال عمليات التدقيق التي أجرتها Mozilla وRed Hat.

أبرز التغييرات مقارنة بالإصدار الأخير:

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

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

المصدر: opennet.ru

إضافة تعليق