GNU libmicrohttpd 0.9.74 כבר שוחרר ואלה החדשות שלו

לאחרונה פרויקט GNU פרסם את השחרור של הגרסה החדשה של הספרייה libmicrohttpd 0.9.74, מייצג ממשק API פשוט לפונקציונליות מובנית של שרת HTTP באפליקציות.

סִפְרִיָה תומך בפרוטוקול HTTP 1.1, TLS, עיבוד מצטבר של בקשת POST, אימות בסיסי ותקציר, IPv6, SHOUTcast, ושיטות שונות של ריבוי חיבורים (בחירה, סקר, pthread, מאגר שרשורים), כיום יש למימוש תמיכה בפלטפורמות נתמכות שונות, כולל GNU / Linux, FreeBSD, OpenBSD, NetBSD, Solaris, Android , macOS, Win32, Symbian ו-z/OS.

GNU libmicrohttpd נולד בשל הצורך של מחברו, שבאותו זמן נזקק לדרך קלה להוסיף שרת HTTP במקביל לפרויקטים אחרים. החלופות הקיימות היו לא חינמיות, לא חוזרות, עצמאיות, איכות קוד נוראית, או שילוב ביניהם.

מהמאפיינים הבולטים ליישום זה:

  • ספרייה C: מהירה וקטנה
  • ה-API פשוט, אקספרסיבי וכניסה מחדש לחלוטין.
  • היישום תואם HTTP 1.1
  • שרת HTTP יכול להאזין במספר יציאות
  • מצבי השחלה מרובים: הפעל על שרשור יישומים, חוט פנימי, מאגר שרשורים וחוט לכל חיבור
  • שלושה מצבי סקר שקעים שונים: בחירה (), סקר () ו-epoll
  • מספר מינימלי של קריאות מערכת כדי למנוע שינויים נוספים במצב גרעין/משתמש
  • הפלטפורמות הנתמכות כוללות GNU / Linux, FreeBSD, OpenBSD, NetBSD, Android, Darwin (macOS), W32, OpenIndiana /
  • Solaris ו-z/OS
  • תמיכה ב- IPv6
  • תמיכה ב-SHOUTcast
  • תמיכה בעיבוד מצטבר של נתוני POST (אופציונלי)
  • תמיכה באימות בסיסי ומרומז (אופציונלי)
  • תמיכה ב-TLS (דורש libgnutls, אופציונלי)
  • הבינארי הוא רק כ-32k (ללא תמיכת TLS ותכונות אופציונליות אחרות)

תכונות חדשות עיקריות של libmicrohttpd 0.9.74

בגרסה החדשה הזו של הספרייה אנחנו יכולים למצוא את זה הוסיף יישום ניסיוני של פרוטוקול WebSockets, שעדיין לא נבדק היטב ומושבת כברירת מחדל.

חידוש נוסף המוצג הוא זה שופרה התאימות למפרטי יישום פרוטוקול HTTP 1.0 / 1.1בנוסף, הקוד עובד מחדש כדי לפענח בקשות מקוטעות.

זה גם מודגש הוסיף קוד להחזרה אוטומטית של שגיאות הקשורות לבקשות חתיכות גרועות, גודל נתונים גדול מדי והגדרת כותרת תוכן-אורך שגויה.

זה הבין אופטימיזציות פנימיות, לדוגמה, שיפור ניהול הזיכרון, שיפור יעילות ה-hash וביטול ניתוח חוזר של שיטת ה-HTTP וגרסת הפרוטוקול.

כמו כן, יש לציין שהיא סיפקה אימות קפדני יותר של ערכי כותרת ה-HTTP, אפשרה שימוש בתו טאב בערכי כותרת התגובה, אך אסרה שימוש ברווחים בערכי הכותרת המותאמים אישית.

חוץ מזה, הקוד ליצירת כותרות HTTP בתגובה נכתב מחדש לחלוטין ודיוק הזמן הקצוב הוגדל משניות לאלפיות שניות.

נוספה אפשרות בנייה -enable-sanitizers [= כתובת, לא מוגדרת, דליפה, רעל משתמש] כדי לאפשר באופן סלקטיבי מצבי זיהוי בעיות בקוד.

תיאורים מתוקנים, מובהרים, מורחבים ומשופרים של תכונות 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.
  • צורת כותרת התגובה נכתבה מחדש לחלוטין. ההטמעה החדשה חזקה יותר, קלה יותר לתחזוקה וניתנת להרחבה ועוקבת טוב יותר אחר מפרטי HTTP של RFC.
  • שיפורים בביצועים: גרסת HTTP ושיטת הבקשה מפוענחים כעת רק פעם אחת (בעבר MHD השתמש בהשוואת מחרוזות רבות

בסופו של דבר אם אתה מעוניין לדעת יותר על כך לגבי מהדורה זו, תוכל לעיין במדריכי המשתמש ובמידע אחר באתר האינטרנט שלה.

הקישור הוא זה.


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

היה הראשון להגיב

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם.

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.