2025-08-16 16:46:00
unsafehttp.benren.au
unsafehttp
is an extremely minimal HTTP server written in C
from scratch, to practice C, *nix socket programming, and C compilation.
It just served this webpage to you!
Yes, that’s a marquee tag. Backward-compatibility is a beautiful thing.
You can find the source here.
Hosting
It’s running on a tiny Orange Pi SBC in my office:
There’s no HTTP proxy between you, just a port-forward through my VPS.
You’re connect
ing right to the socket that the code is
accept
ing on.
Fun Stuff
To prevent user-initiated filesystem interaction, and to avoid having to
worry about path cleaning, unsafehttp
loads all content
into a hash table in memory on startup, with the request/file paths as
keys and the file contents as values. Servicing a request is simply
looking up the content via the path. Any malicious paths
willshould then just fail to find an entry.
HTTP Implementation
RFC 9112 is a fantastic document that details the exact format of HTTP
1.1 requests, how servers should respond to those requests, and is even
written in a way that would make implementing a full test suite a
reasonable task.
This server follows almost none of that.
In the interest of keeping this a fun and short side project, I’ve
implemented the very bare minimum for browsers to be able to send a
simple HTTP GET request to the server, and receive a response that lets
them render a webpage. Again in the interest of keeping this short, I’m
not even following the RFC exactly. Readers MUST NOT hold this against
the project, and SHOULD use this as motivation to keep some of their own
side projects fun and short.
Keep your files stored safely and securely with the SanDisk 2TB Extreme Portable SSD. With over 69,505 ratings and an impressive 4.6 out of 5 stars, this product has been purchased over 8K+ times in the past month. At only $129.99, this Amazon’s Choice product is a must-have for secure file storage.
Help keep private content private with the included password protection featuring 256-bit AES hardware encryption. Order now for just $129.99 on Amazon!
Help Power Techcratic’s Future – Scan To Support
If Techcratic’s content and insights have helped you, consider giving back by supporting the platform with crypto. Every contribution makes a difference, whether it’s for high-quality content, server maintenance, or future updates. Techcratic is constantly evolving, and your support helps drive that progress.
As a solo operator who wears all the hats, creating content, managing the tech, and running the site, your support allows me to stay focused on delivering valuable resources. Your support keeps everything running smoothly and enables me to continue creating the content you love. I’m deeply grateful for your support, it truly means the world to me! Thank you!
BITCOIN bc1qlszw7elx2qahjwvaryh0tkgg8y68enw30gpvge Scan the QR code with your crypto wallet app |
DOGECOIN D64GwvvYQxFXYyan3oQCrmWfidf6T3JpBA Scan the QR code with your crypto wallet app |
ETHEREUM 0xe9BC980DF3d985730dA827996B43E4A62CCBAA7a Scan the QR code with your crypto wallet app |
Please read the Privacy and Security Disclaimer on how Techcratic handles your support.
Disclaimer: As an Amazon Associate, Techcratic may earn from qualifying purchases.