Chinesisch | Englisch
Ein CGI-Webserver, der von Tiny-HTTPD inspiriert und mit den Bibliotheken von Drittanbietern, Libev , http-parser , Hashmap , log.c. , erweitert wird. Es zeigt Ihnen, wie ein Webserver kurz funktioniert.
1.Install Libev und Python3.
sudo apt install -y libev-dev python32. Geben Sie den Quellcode ein.
git clone https://github.com/uncle-lv/cgi-http-server.git 3.Into das Verzeichnis src und leiten Sie aus, make den Code zu kompilieren.
make 4 、 CGI -Server ausführen (der port ist optional)
./server {port}Es gibt mehrere URLs zum Testen,
/index.html、/login.htmlund etc.Sie sollten die Erlaubnis von CGI -Skripten ausführen.
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
Wenn Sie den Quellcode lesen möchten, konzentrieren Sie sich bitte auf http_request.* Und server.c . Die anderen Dateien sind Bibliotheken von Drittanbietern.
HashMap: HashMap -Implementierung in C.
http_parser: http request/response parser für C.
log.c: Eine einfache Protokollierungsbibliothek in C99 implementiert.
Ich freue mich auf eine Ausgabe oder einen Antrag von Ihnen.
Implementieren Sie möglicherweise in Zukunft das gesamte HTTP/1.0 und CGI/1.1.
MIT