مرحبًا بك في مشروع WebServ الخاص بنا لـ 42! يوفر README نظرة عامة على تطبيق خادم HTTP الخاص بنا ، وتفاصيل التكوين ، وكيفية البدء باستخدام الخادم الخاص بنا.
خادم HTTP هو برنامج مصمم لقبول الطلبات من العملاء وإرسال ردود عليها عبر الإنترنت أو الشبكة. عادةً ما يخدم صفحات الويب للمستخدمين استجابة للطلبات التي تتضمن طرقًا مثل Get ، Post ، Delete ، إلخ.
تم تصميم مشروعنا ، WebServ ، لمحاكاة سلوك خوادم HTTP الحقيقية ولكن على نطاق أصغر. يمكنه التعامل مع تكوينات الخادم المتعددة في وقت واحد حتى حد 1024 خوادم بسبب اختيارنا لاستخدام وظيفة select() . الميزات الرئيسية لتنفيذنا هي:
/cgi ./register و /login . نحن فخورون بالإعلان عن أن مشروع WebServ الخاص بنا حصل على أعلى علامة ممكنة ، حيث سجل 125 ٪ في التقييم. هذا يعكس التزامنا بالجودة والوظائف والالتزام بمواصفات المشروع.
تم اختبار متانة خادمنا باستخدام اختبار الإجهاد الحصار. بعد عدة جلسات اختبار ممتدة ، أظهرت WebServ موثوقية ممتازة ، حيث حافظت على معدل نجاح بنسبة 100 ٪ عبر الاختبارات. هذا يوضح قدرة الخادم لدينا على التعامل مع الأحمال العالية والحفاظ على الأداء تحت الضغط.
تم تفصيل تكوينات الخادم الخاصة بنا في ملف منفصل. فيما يلي تكوين مثال لخادمنا:
server :
server_name : example
port : 1234
host : 127.0.0.1
max_body_size : 23854644
root : example_website_path
default_file : index.html
error_page :
403 : /error_webpages/403.html
404 : /error_webpages/404.html
405 : /error_webpages/405.html
413 : /error_webpages/413.html
501 : /error_webpages/501.html
location :
path : /
methods : GET, POST
redirect : /index.html
# Multiple server blocks can be configured similarly لبدء استخدام WebServ ، اتبع هذه الخطوات:
git clone https://github.com/rphlr/42-webserv [nameOfFolder]make./webserv [configuration-file-path]make run لأغراض الاختبار مع curl ، يمكنك استخدام الأوامر التالية:
curl -X POST " file=@/Path/to/File " http://localhost:port/cgi ? upload=truecurl -X GET http://localhost:port/cgi ? file=/path/to/filecurl -X DELETE http://localhost:port/default_webpages ? file=FileToDeleteلا تتردد في المساهمة في المشروع عن طريق تقديم طلبات السحب أو عن طريق الإبلاغ عن الأخطاء.
شكرًا لك على التحقق من مشروع WebServ الخاص بنا! نأمل أن يكون بمثابة قاعدة صلبة لمعرفة المزيد عن الأعمال الداخلية لخوادم HTTP.