Chinois | Anglais
Un serveur Web CGI inspiré par Tiny-HTTPD et amélioré avec les bibliothèques tierces, Libev , Http-Parser , Hashmap , Log.C. Il vous montre comment fonctionne un serveur Web brièvement.
1.Install Libev et Python3.
sudo apt install -y libev-dev python32.Pulllez le code source.
git clone https://github.com/uncle-lv/cgi-http-server.git 3. dans le répertoire src et exécuter make pour compiler le code.
make 4 、 Exécuter le serveur CGI (le port d'argument est facultatif)
./server {port}Il existe plusieurs URL pour les tests,
/index.html、/login.htmlet etc.Vous devriez avoir l'autorisation d'exécution des scripts 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
Si vous souhaitez lire le code source, veuillez vous concentrer sur http_request.* Et server.c . Les autres fichiers sont des bibliothèques tierces.
Hashmap: implémentation Hashmap dans C.
http_parser: analyseur de demande / réponse http pour C.
Log.C: une bibliothèque de journalisation simple implémentée dans C99.
Dans l'attente de tout problème ou de votre demande de traction de votre part.
Peut-être implémenter l'intégralité de HTTP / 1.0 et CGI / 1.1 à l'avenir.
Mit