Chinês | Inglês
Um servidor da Web CGI inspirado em Tiny-Httpd e aprimorado com as bibliotecas de terceiros, Libev , http-parser , hashmap , log.c. Ele mostra como um servidor da web funciona brevemente.
1. Instale Libev e Python3.
sudo apt install -y libev-dev python32. Pull o código -fonte.
git clone https://github.com/uncle-lv/cgi-http-server.git 3.Em o diretório src e make para compilar o código.
make 4 、 Execute o servidor CGI (a port de argumento é opcional)
./server {port}Existem vários URLs para testar,
/index.html、/login.htmle etc.Você deve ter a permissão de execução de 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
Se você deseja ler o código -fonte, concentre -se em http_request.* E server.c . Os outros arquivos são bibliotecas de terceiros.
Hashmap: implementação de hashmap em C.
http_parser: http request/resposta analiser para C.
Log.c: Uma biblioteca de registro simples implementada em C99.
Ansioso por qualquer problema ou solicitação de puxar de você.
Talvez implemente o HTTP/1.0 e o CGI/1.1 no futuro.
Mit