This project is a custom HTTP server implemented in C that supports gzip compression. The server is designed to handle HTTP requests, respond with appropriate content, and compress responses using gzip when requested by the client. The main goal of this project is to demonstrate the implementation of HTTP protocols, multi-threading, and data compression techniques.
To set up the project locally, follow these steps:
To run the server, use the following command:
./server --directory <directory_path>
Replace
./server --directory /var/www/html
To test the server, you can use curl or any other HTTP client. For example:
curl -v -H "Accept-Encoding: gzip" http://localhost:4221/echo/abc
Contributions are welcome! Please follow these steps to contribute:
Here are some related projects that you might find interesting:
Codecrafter’s HTTP Server: CodeCrafters
This project is licensed under the MIT License. See the LICENSE file for more details.
This README.md
provides a comprehensive guide for users and contributors.