العودة إلى المعرض
خوادم الويب والشبكات

Webserver — خادم HTTP شبيه بـ Nginx

خادم HTTP عالي الأداء وغير حاجز مبني بلغة C++98 مستوحى من Nginx. يستخدم epoll() لتعدد الإرسال E/S ويدعم CGI ورفع الملفات ومعالجة الطلبات المتوافقة مع RFC.

التقنيات المستخدمة
C++LinuxHTTP/1.1Socket Programmingepoll
Webserver — خادم HTTP شبيه بـ Nginx

Overview

يبني خادم ويب بجودة الإنتاج من الصفر ما تخفيه الأطر الحديثة: إدارة الاتصالات، وتحليل الطلبات، والامتثال البروتوكولي، والحفاظ على الأداء تحت الحمل المتزامن. مستوحى من Nginx، ينفذ هذا المشروع هندسة معمارية قابلة للتوسع تستخدم epoll لإدارة آلاف اتصالات العملاء المتزامنة بكفاءة.

الهندسة المعمارية والقدرات

مطور بلغة C++98، يُبنى الخادم على sockets غير حاجزة مدمجة مع حلقة أحداث متعددة الإرسال لأداء E/S عالي. يدعم طرق HTTP الأساسية (GET، POST، DELETE)، ونظام تكوين مرن مستوحى من Nginx (مسارات، منافذ، صفحات أخطاء)، وتنفيذ CGI للمحتوى الديناميكي (PHP، Python). تشمل الميزات الإضافية رفع ملفات آمن وتحقق صارم من الطلبات وفقاً لمعايير HTTP.

ما تعلمناه

قدم هذا المشروع فهماً عميقاً للعمل الداخلي للخوادم الويب: إدارة الاتصالات المتزامنة، ومعالجة تفاصيل بروتوكول HTTP، وتحسين الأداء مع هندسات موجهة للأحداث. عزز مهاراتنا في برمجة الشبكات منخفضة المستوى وإدارة sockets وتصحيح الأنظمة المعقدة، مع إبراز المفاضلات بين الأداء والتوسع وتعقيد الكود.

الميزات الرئيسية والكفاءات

  • تصميم موجه للأحداث مع epoll لآلاف الاتصالات المتزامنة
  • تحليل HTTP وتوليد استجابات موجهة RFC
  • مسار CGI لتنفيذ محتوى ديناميكي وقابلية التوسع
  • تكوين مستوحى من Nginx مع مضيفين افتراضيين ومطابقة مسارات

هل تريد بناء شيء مشابه؟

أنا متاح للتعاون في تطوير تطبيقات ويب، أنظمة أتمتة أو مواقع عالية الأداء.