تم إطلاق GNU libmicrohttpd 0.9.74 بالفعل وهذه هي أخبارها

مؤخرا أطلق مشروع جنو إصدار النسخة الجديدة من المكتبة libmicrohttpd 0.9.74 ، تمثل واجهة برمجة تطبيقات بسيطة لوظائف خادم HTTP المضمنة في التطبيقات.

المكتبة يدعم بروتوكول HTTP 1.1 ، TLS ، معالجة تزايدية لطلب POST ، المصادقة الأساسية والمختصرة ، IPv6 ، SHOUTcast ، وطرق مختلفة للاتصالات المتعددة (حدد ، استقصاء ، pthread ، تجمع مؤشرات الترابط) ، يدعم التطبيق حاليًا العديد من الأنظمة الأساسية المدعومة ، بما في ذلك GNU / Linux و FreeBSD و OpenBSD و NetBSD و Solaris و Android و macOS و Win32 و Symbian و z / OS.

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

من الخصائص التي تبرز في هذا التنفيذ:

  • مكتبة ج: سريعة وصغيرة
  • واجهة برمجة التطبيقات بسيطة ومعبرة وعاد دخولها بالكامل.
  • التطبيق متوافق مع HTTP 1.1
  • يمكن لخادم HTTP الاستماع على منافذ متعددة
  • أوضاع خيوط متعددة: تشغيل على مؤشر ترابط التطبيق ، وخيط داخلي ، وتجمع مؤشرات ترابط ، وخيط لكل اتصال
  • ثلاثة أوضاع مختلفة لاستقصاء المقبس: حدد () ، واستقصاء () ، و epoll
  • الحد الأدنى لعدد استدعاءات النظام لتجنب التغييرات الإضافية في وضع kernel / المستخدم
  • تشمل الأنظمة الأساسية المدعومة GNU / Linux و FreeBSD و OpenBSD و NetBSD و Android و Darwin (macOS) و W32 و OpenIndiana /
  • سولاريس و z / OS
  • دعم IPv6
  • دعم SHOUTcast
  • دعم المعالجة الإضافية لبيانات POST (اختياري)
  • دعم المصادقة الأساسية والضمنية (اختياري)
  • دعم TLS (يتطلب libgnutls ، اختياري)
  • يبلغ حجم الملف الثنائي 32 كيلو بايت فقط (بدون دعم TLS وميزات اختيارية أخرى)

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

في هذا الإصدار الجديد المقدم من المكتبة يمكننا أن نجد ذلك إضافة تطبيق تجريبي لبروتوكول WebSockets ، التي لم يتم اختبارها جيدًا بعد وتم تعطيلها افتراضيًا.

حداثة أخرى يتم تقديمها هي أن تم تحسين التوافق مع مواصفات تنفيذ بروتوكول HTTP 1.0 / 1.1بالإضافة إلى ذلك ، تمت إعادة صياغة الكود لفك تشفير الطلبات المجزأة.

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

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

ويلاحظ أيضًا أنها قدمت تحققًا أكثر صرامة من صحة قيم رأس HTTP ، وسمحت باستخدام حرف جدولة في قيم رأس الاستجابة ، لكنها حظرت استخدام المسافات في قيم الرأس المخصصة.

إلى جانب ذلك ، تمت إعادة كتابة التعليمات البرمجية لإنشاء رؤوس HTTP استجابةً لذلك بالكامل وزادت دقة المهلة من ثوانٍ إلى مللي ثانية.

تمت إضافة خيار بناء - تمكين - مطهرات [= عنوان ، غير محدد ، تسرب ، سم المستخدم] لتمكين أوضاع اكتشاف المشكلات بشكل انتقائي في التعليمات البرمجية.

الأوصاف الثابتة والموضحة والموسعة والمحسنة لميزات Doxy ، مع الإشارة الآن إلى أنه يجب أن يكون تعلم MHD فقط من خلال قراءة العناوين أسهل بكثير.

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

  • أوصاف وظائف محسنة في ملف رأس microhttpd.h.
  • وظائف API أضافت MHD_get_reason_phrase_len_for () وMHD_create_response_from_buffer_with_free_callback_cls ()، MHD_CONNECTION_INFO_HTTP_STATUS العلم، MHD_get_connection_info ()، وكذلك الردود العلم MHD_CONNECTION_INFO_HTTP_STATUS، وردود MHD_SDRIVE_HDRFKE_HDR_HDRF_HDR_HDRF_HDRF_REND_HDRF_HDRF_REND_HDRF_HDR_RF_RF_HDR_RF_HDRF_.
  • تمت إضافة ملف المشروع للتجميع في MSVC.
  • تمت إعادة كتابة تشكيل رأس الاستجابة بالكامل. يعد التنفيذ الجديد أكثر قوة ، وأسهل في الصيانة وقابل للتوسيع ، كما أنه يتبع مواصفات RFC HTTP بشكل أفضل.
  • تحسينات في الأداء: الآن يتم فك تشفير إصدار HTTP وطريقة الطلب مرة واحدة فقط (استخدم MHD سابقًا العديد من مقارنة السلاسل

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها حول هذا الإصدار ، يمكنك الرجوع إلى أدلة المستخدم وغيرها من المعلومات على موقع الويب الخاص به.

الرابط هو هذا.


اترك تعليقك

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

*

*

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