2026-05-02
Subreddit: r/asm
Discussion: View on Reddit (9 points, 0 comments)
Building a web server is a rite of passage for many programmers. Building one entirely in assembly language, with zero reliance on libc, is something else entirely. That's exactly what u/kavantoine did with ymawky, a fully functional HTTP server written in pure ARM64 assembly for macOS, communicating directly with the kernel through raw syscalls.
What makes this project remarkable isn't just that it works — it's the breadth of HTTP functionality implemented at the lowest possible level. The server handles five HTTP methods (GET, PUT, HEAD, OPTIONS, DELETE), parses headers like Content-Length and Range, decodes URL percent-encoding, serves over 30 MIME types, and even includes security mitigations against slowloris-style denial-of-service attacks. Path traversal protection is built in too. This isn't a toy — it's a genuinely careful piece of systems programming.
There are several things that make this project a valuable learning resource:
The project is also a useful reminder that assembly isn't inherently impractical. With discipline and clear structure, you can build real software in it. Whether you'd want to maintain a production web server in assembly is another question — but the exercise of building one teaches you more about networking, HTTP, and your operating system than any framework tutorial ever could.
