CodeCrafters' HTTP Server Tutorial
  • Java 81.8%
  • Shell 18.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-07 16:54:49 +00:00
.codecrafters init [skip ci] 2026-03-28 19:11:06 +00:00
src/main/java WIP: singleton Server + Request parsing 2026-09-07 16:54:49 +00:00
.gitattributes init [skip ci] 2026-03-28 19:11:06 +00:00
.gitignore init [skip ci] 2026-03-28 19:11:06 +00:00
codecrafters.yml init [skip ci] 2026-03-28 19:11:06 +00:00
pom.xml init [skip ci] 2026-03-28 19:11:06 +00:00
README.md init [skip ci] 2026-03-28 19:11:06 +00:00
your_program.sh init [skip ci] 2026-03-28 19:11:06 +00:00

progress-banner

This is a starting point for Java solutions to the "Build Your Own HTTP server" Challenge.

HTTP is the protocol that powers the web. In this challenge, you'll build a HTTP/1.1 server that is capable of serving multiple clients.

Along the way you'll learn about TCP servers, HTTP request syntax, and more.

Note: If you're viewing this repo on GitHub, head over to codecrafters.io to try the challenge.

Passing the first stage

The entry point for your HTTP server implementation is in src/main/java/Main.java. Study and uncomment the relevant code, and push your changes to pass the first stage:

git commit -am "pass 1st stage" # any msg
git push origin master

Time to move on to the next stage!

Stage 2 & beyond

Note: This section is for stages 2 and beyond.

  1. Ensure you have mvn installed locally
  2. Run ./your_program.sh to run your program, which is implemented in src/main/java/Main.java.
  3. Commit your changes and run git push origin master to submit your solution to CodeCrafters. Test output will be streamed to your terminal.