/HTTP-Server-and-Client

An HTTP Server and Client coded in C.

Primary LanguageCGNU General Public License v3.0GPL-3.0

HTTP Server and Client

An HTTP 1.1 Server and Client coded in C. This is a bare-bones implementation of an HTTP 1.1 server with POSIX sockets.

Features:

  • Processes HTTP request and responses
  • Dynamically loads web pages
  • Parses lines from a configuration file located in "etc/cserver/cserver.conf"
  • Logs access information in "var/log/cserver/access.log"

To build on Linux:

gcc server.c -o bin/server
chmod +x bin/server
./bin/server

gcc client.c -o bin/client
chmod +x bin/client
./bin/client

Todo:

  • Implement HTTP POST
  • Log server errors to a file



In retrospect, it probably would have been a good idea to use an existing library like libconfig instead of reinventing the wheel.