Introduction

In this series I will be going through how to build an HTTP Server from scratch in C++ using POSIX APIs, and actually have it serve a web page which has CRUD operations to your browser - also it would be capable of serving more than one client at the same time!

Note: I am using C++ 17. And I will be dividing this whole project into multiple parts (maybe 4-5 blogs for now).

What can you learn from this project?

Well for starters, you will get to know how TCP sockets work and how to use them to build a server. You will also get to know how HTTP works and how to parse it. You will get to know how to build a web page and how to serve it to the browser. And finally, you will get to understand how complex this architecture gets when trying to serve multiple clients and getting millions of requests! Although I won't be making a server which can handle millions of requests, hopefully you can appreciate the actual server serving you this blog post.