Navigate back to the homepage

What is serving the Web?

Wojtek Kulikowski
October 22nd, 2019 · 1 min read


We all take the Internet for granted. To some extent, even our parents understand how the Internet works. You type and you get the access the platform. You’re already logged and are ready to browse hundreds of photos.

For free.

At the snap of your fingers.

Who would have thought how much work went into making it so simple for you.

What is happening behind the scenes?

For the purpose of this article, we will assume 2 pieces of prior knowledge:

  • our machine (further called client) given an HTML file can display its content on the screen. This makes the parent happy, as they can see a new portion memes and pictures of babies.
  • we can request this page by typing proper URI and don’t need to worry about the whole DNS thingy. connects me to facebook’s machines, period.

This gives us a nice abstraction to focus on web servers and how does facebook actually expose their machines to the world. What does it take to expose a machine to the world? How does it send the HTML file to the client? Let’s find out!

Internet Protocol

IP is this magical thing that you know from your childhood gaming and the fear of being localized if you made somebody angry during the game.

IPv4 IPv6


Software layer



Load balancers

Putting it all together and additional resources

repo z githuba

jakieś ksiązki co nie


Do you want to get notified about the next artice? In March, I will write about web servers

Once a month I send a newsletter with a personal note, my current research areas and Twitter accounts I found lately. Sign up and and grow with me 🌱

More articles from Software Engineering by Wojtek

Yes, you should monitor your system

While some projects may slack on it, logging and monitoring are the best ways to improve the stability of your app

October 22nd, 2019 · 6 min read

How does $PYTHONPATH work?

Every language needs a system to manage the dependencies and it can be tricky in the python world

April 8th, 2019 · 3 min read
© 2019–2020 Software Engineering by Wojtek
Link to $ to $ to $