مشروع Webserv
خادم HTTP عالي الأداء وغير حظري مبني بلغة C++98. مستوحى من Nginx، يستخدم epoll لمضاعفة الإرسال ويدعم CGI، ورفع الملفات، ومعالجة الطلبات وفق معايير RFC.

Overview
إن بناء خادم ويب مخصص من الصفر يكشف ما تخفيه الأطر الحديثة عادةً، مثل إدارة الاتصالات، تحليل الطلبات، الالتزام ببروتوكول HTTP، والحفاظ على الأداء تحت ضغط الاتصالات المتعددة. مستوحى من Nginx، يعتمد هذا المشروع على بنية قابلة للتوسع باستخدام epoll لإدارة عدة اتصالات بكفاءة.
البنية والميزات
تم تطوير الخادم باستخدام C++ (C++98)، ويعتمد على sockets غير متزامنة مع حلقة أحداث متعددة لإدارة الإدخال/الإخراج بكفاءة عالية. يدعم طرق HTTP الأساسية (GET و POST و DELETE)، ونظام إعدادات مرن مستوحى من Nginx (المسارات، المنافذ، صفحات الأخطاء)، بالإضافة إلى دعم CGI لتنفيذ محتوى ديناميكي (PHP و Python). كما يتضمن رفع الملفات بشكل آمن والتحقق الصارم من الطلبات.
ما تعلمناه
هذا المشروع منحنا فهماً عميقاً لكيفية عمل خوادم الويب داخلياً، مثل إدارة الاتصالات المتزامنة، التعامل مع تفاصيل بروتوكول HTTP، وتحسين الأداء باستخدام بنية تعتمد على الأحداث. كما عزز مهاراتنا في البرمجة منخفضة المستوى، إدارة الـ sockets، وتصحيح الأنظمة المعقدة، مع فهم التوازن بين الأداء، القابلية للتوسع، وتعقيد الكود.
الميزات والكفاءات الرئيسية
- تصميم مدفوع بالأحداث مع epoll
- معالجة HTTP قريبة من معايير RFC
- مسار CGI للمحتوى الديناميكي
- مهارات تمهّد لمنصات وخدمات سحابية
جاهز لمشروع مشابه؟
سواء احتجت موقعاً عالي الأداء أو أتمتة أو تصميماً يحوّل الزوار إلى عملاء — أعمل مع أشخاص في المغرب وخارجه لتحقيق نتائج قابلة للقياس.
ابدأ مشروعك