I built an HTTP/2 server in C++ to learn the protocol and language
I wanted to learn more about the HTTP/2 protocol but also deep dive into modern C++ development. I'm currently using it to host my personal web site - https://www.roberthargreaves.com. I've also blogged a bit about the development process, hosting options and steps I took to harden the application against attack - https://blog.roberthargreaves.com/2026/01/03/building-hostin... It's by no means a complete implementation of HTTP/2, but I think I've achieved the main aims I was hoping to achieve with it! I would love some feedback though from…
I built an HTTP/2 server in C++ to learn the protocol and language launched on January 4, 2026 with 11 votes, #956 of 14,584 launches that month and more than 90% of that year's launches.
In plain words
This is a custom HTTP/2 server built in C++ as a learning project for both the protocol and modern C++ development. The creator uses it to host their personal website and has documented the development process, hosting decisions, and security hardening measures in blog posts. While not a complete HTTP/2 implementation, it achieves the builder's core learning objectives and is actively serving production traffic.
written from the facts on this page · September 2026
From the sources
Light-weight C++ HTTP/2 server. Contribute to rhargreaves/ion development by creating an account on GitHub.
I'm using this as a learning exercise to learn more about HTTP/2 and modern C++. As such, I am intentionally using low-level APIs and avoiding libraries for the core flow (but using modern C++ features to wrap the POSIX interfaces). It is not intended to be a production-ready server! I'm documenting non-obvious stuff I've learnt along the way in LEARNINGS.md . # include " ion/http2_server.h " int main () { ion::Http2Server server{}; auto & router = server. router (); router. add_route ( " / " , " GET " , []( const ion::HttpRequest&) { const std::string body_text = " hello " ; const std::vector< uint8_t > body_bytes (body_text. begin (), body_text. end ()); return ion::HttpResponse{ .…from github.com
In the maker’s words, at launch
I wanted to learn more about the HTTP/2 protocol but also deep dive into modern C++ development. I'm currently using it to host my personal web site - https://www.roberthargreaves.com. I've also blogged a bit about the development process, hosting options and steps I took to harden the application…
Does a similar job
all alternatives →
My embeddable C/C++ webserver2011 · github.com · ▲84
Hosting my website using my C web server2024 · github.com · ▲303Custom web server for my blog. Contribute to cozis/BlogTech development by creating an account on GitHub.
I built a small browser engine from scratch in C++Jan 2026 · github.com · ▲146Hi HN! Korean high school senior here, about to start CS in college. I built a browser engine from scratch in C++ to understand how browsers work. First time using C++, 8 weeks of development, lots of debugging—but it works! Features: - HTML parsing with error correction - CSS cascade and inheritance - Block/inline layout engine - Async image loading + caching - Link navigation + history Hardest parts: - String parsing(html, css) - Rendering - Image Caching & Layout Reflowing What I learned (beyond code): - Systematic debugging is crucial - Ship with known bugs rather than chase…
How to compile C/C++ for WASM, pure Clang, no libs, no framework2022 · github.com · ▲217A little help for programmers, who wants to run C/C++ code in the browser. (This is my second attempt to show it, first time I got banned bcoz of my personal page domain, I don't really understand it why is is suspicious.)
The Silicon C++14 Web Framework2015 · github.com · ▲140A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead - matt-42/silicon

More life & fun this month
the category →
A free city-building game in your browser. You are the mayor. You know what the city needs. Now get it past the zoning board, the neighbors, the appeals court and the next election.
Life & fun · 2d ago · permit.petercai.com
- IV
Life & fun · 14d ago · tanzaniaeducationproject.org

Turn a phone, tablet or TV into a sign. Type a message and it fills the screen: welcome signs, timers, Wi-Fi passwords and more. No app, no account, free.
Life & fun · 15d ago · bigwords.page

Play a free virtual guitar online with your keyboard or by touch. Slow songs down and see every chord, string and strum. Acoustic, classic, electric and bass.
Life & fun · 9d ago · guitoro.com

Carrier settings from iPhone, Pixel and Galaxy firmware, decoded and compared: APNs, VoLTE, 5G and Wi-Fi Calling per carrier, and what each build changed.
Life & fun · 13d ago · carrierexplode.com

Life & fun · 23d ago · space.bl2.net
Source: Show HN post ↗ · launch text quoted in part
Launched alongside, January 2026
the whole month →- IN
Hey HN! I wanted to share something I built over the last few weeks: isometric.nyc is a massive isometric pixel art map of NYC, built with nano banana and coding agents. I didn't write a single line of code. Of course no-code doesn't mean no-engineering. This project took a lot more manual labor than I'd hoped! I wrote a deep dive on the workflow and some thoughts about the future of AI coding and creativity: http://cannoneyed.com/projects/isometric-nyc
AI · Jan 2026 · cannoneyed.com




Automatic AI-powered code reviews the moment you open a PR
Dev tools · Jan 2026 · kilo.ai
