A web server does not start as a framework.
Before Axum, Actix, Rocket, Express, Django or FastAPI, there is something much simpler:
a program that opens a TCP port, accepts connections, reads bytes, interprets an HTTP request and writes back a response the browser can understand.
I wrote a Spanish tutorial where we build that from scratch using only Rust’s standard library.
The tutorial covers:
TcpListener and TcpStream
reading real HTTP requests from the browser
building HTTP responses manually
simple routing
serving HTML files from public/
handling 404 NOT FOUND
handling 500 INTERNAL SERVER ERROR
basic concurrency with std:🧵:spawn
The main idea:
HTTP is not magic. HTTP is formatted text traveling over TCP.
If you are learning backend development, Rust, networking or just want to understand what web frameworks hide under the hood, this tutorial is for you.
Tutorial here:

Top comments (0)