You've Been Searching the API Docs Online for Hours. That Exception Still Makes No Sense. An Expert Would Know What To Do, But You're Still Sitting There...
I Want to Be an HTTP ExpertAn expert doesn't cut corners. They learn the fundamentals. They learn deeply. But how?
A web development expert needs to know a lot of things. The most fundamental is HTTP, the protocol that carries nearly all HTTP traffic on the web. It's how your browser talks to everything. It's how web sites talk to a lot of their back-end services. If you're a web programmer, you need to know how it works. The best developers can look at it and see what's going wrong.
If you build your own HTTP server, you can stop being "most people" and start being an expert.
A lot of what separates 'just a developer' from 'senior developer' is independence — the ability to dive deeply into a technical problem and, with exploration, get to the right answer.
Nothing teaches you about protocols like building protocols. It's not any more magic than any other coding. It's experience and work. Specifically, it's experience and work in writing and debugging.
Your job isn't going to tell you, "spend a few months becoming an expert in HTTP." And do you already know how? It's a catch-22. How do you get good enough to do it, until you're already good enough to do it?
Let's break that deadlock. I'll show you the steps.
I've helped thousands of developers become Rails experts by rebuilding a framework like Ruby on Rails. But knowing Rails doesn't teach you everything you need. Sometimes the error is lower down, in the protocol under the framework. In HTTP.
Once you've built the protocol, you get a sort of X-ray vision into its problems. You'll find yourself saying, "let me check what the browser is sending — I think I know what's wrong." You've had that with code you built for yourself. Wouldn't it be great if you had the same thing for HTTP?
You can learn about your framework. You can learn the latest hot thing. And three years later, all the jobs have moved somewhere else. The fads change.
Or you can learn the fundamentals that don't change. HTTP has been around since the mid-90's. It's not going away. Even when it changes, it uses a lot of the same pieces. The pieces that you'll know, once you've built it. You'll be building on top of TCP/IP, which dates back to 1974... These are pieces that are not going away.
No book can fully prepare you. That takes practice. But Rebuilding HTTP can start you on that practice and show you how to practice. Nobody understands protocols and internals like an engineer who has built them. That, dear reader, could be you.
Every chapter of Rebuilding HTTP shows you how to build one system of an HTTP server. What are those systems?
You'll be building in Ruby, so you'll need to know a little about it. I'll explain less-common features along the way, but mostly the code is simple, on purpose.
You'll need a Mac or Linux computer. I won't stop you from trying with WSL on Windows, but I can only answer your questions about Mac and Linux.
You'll also get access to the Software Technique Slack community. It's a great place to ask questions of the author and of other rebuilders.
You should rebuild if:
Do NOT buy if:
Worried that you need more Ruby practice first? You can find various tutorials, books and classes on RubyAndRails.info Or you can work through the sample chapters of Rebuilding HTTP and see how much you learn from them.
My book Rebuilding Rails has sold thousands of copies and helped many, many people improve their web fundamentals.
I've written a lot of great information for you and tested it with my beta audience of hundreds of readers and developers. You'll also get my personal email address. I read every message you send. Email me before your purchase and after it. I love hearing from readers.
I want more people to understand web programming. I'll help you.
Still, I know many people don't want to interrupt me at my personal email address. And some day, I may not have enough time to talk to everybody. There is a Slack workspace for buyers of my various books and classes. Your purchase of Rebuilding HTTP entitles you to lifetime membership in that community (assuming you uphold reasonable standards of behaviour.)
Noah Gibbs (that's me) is a well-known international conference speaker who has spoken at RubyConf, RailsConf, RubyKaigi and many more. Noah spent years as a principal engineer, tech lead, architect, Ruby Fellow and more. His work on Ruby performance appeared regularly for years in Ruby Weekly. He has extensive teaching and mentoring experience in Ruby and outside it.
I'd love to sign you up for the first few chapters of Rebuilding HTTP and an email list with various other articles, for free. If you like the sample chapters then please consider buying the full version later on.
Gumroad offers payment via credit cards and PayPal. If you aren't 100% satisfied then get a full refund with no questions asked within 60 days.
Want to get Rebuilding HTTP reimbursed by your employer? Great! Gumroad offers invoices.
You're a software developer. Your time is expensive. If you don't live in the USA, Rebuilding HTTP still only costs several hours of your salary — in the United States, it may cost around fifteen minutes of what the business actually pays to keep you.
If Rebuilding HTTP makes you just two percent better at what you do and you stay with your current employer for just two more months, then RH has made a tidy profit for your employer. Each post-Rebuilding-HTTP year you work there (say 50 weeks of work at 40 hours/week) with a two percent improvement will have saved 40 hours of your debugging time to be used on more interesting work, or made you 40 hours more effective at web features. That's worth far more than the price of the book. By expensing Rebuilding HTTP and reading it, you're doing your employer a huge favour.
To do them even more of a favour, you could pick up multiple book licenses and share with your coworkers!