This is a lightweight multi-threaded HTTP server built from scratch using Java. It can handle GET, POST, and other HTTP requests asynchronously. It supports HTTP methods and serves files from a specified directory. It can process multiple requests at the same time by leveraging Java’s threading mechanism. I created this to understand how HTTP servers work.
- serves files with different MIME type from a specified dir
- http method POST example
- this server uses Java threads to handle client requests concurrently. Each client request is processed in its own thread, ensuring non-blocking, simultaneous processing of multiple requests.
- Clone this repo:
git clone git@github.com:ym496/web-server.git cd web-server - Compile the server:
javac Server.java
- Run the server:
java Server
This project is licensed under the MIT License.

