الصينية | إنجليزي
خادم ويب CGI مستوحى من Tiny-HTTPD ويعزز مع مكتبات الطرف الثالث ، Libev ، HTTP-Parser ، HashMap ، log.c. يوضح لك كيف يعمل خادم الويب لفترة وجيزة.
1. التثبيت Libev و Python3.
sudo apt install -y libev-dev python32. فرض رمز المصدر.
git clone https://github.com/uncle-lv/cgi-http-server.git 3. في الدليل src ، وقم make لجمع الكود.
make 4 、 قم بتشغيل CGI Server ( port الوسيطة اختياري)
./server {port}هناك العديد من عناوين URL للاختبار ،
/index.html、/login.htmlوما إلى ذلك.يجب أن يكون لديك إذن تنفيذ البرامج النصية CGI.
src
├── hashmap.c
├── hashmap.h
├── http_parser.c
├── http_parser.h
├── http_request.c
├── http_request.h
├── log.c
├── log.h
├── Makefile
├── server
└── server.c
إذا كنت ترغب في قراءة الكود المصدري ، فيرجى التركيز على http_request.* و server.c . الملفات الأخرى هي مكتبات الطرف الثالث.
HashMap: تطبيق HashMap في C.
http_parser: http request/response parser لـ C.
log.c: مكتبة تسجيل بسيطة تم تنفيذها في C99.
نتطلع إلى أي مشكلة أو طلب سحب منك.
ربما تنفيذ HTTP/1.0 و CGI/1.1 بالكامل في المستقبل.
معهد ماساتشوستس للتكنولوجيا