When working on web applications we take a lot of supporting technology for
granted. We build our code on top of a multi-layered network stack with HTTP as
the glue. Each user interaction with our app may cause several HTTP requests
that are routed and handled separately, often in parallel. Most of the time
developers don't have to care how exactly this magic works. Sometimes though,
performance requirements force them to dig deeper. We at Shelly Cloud want to
empower our users, that's why we decided to share details of our internal
architecture.
Today we're going to describe what route an HTTP requests takes, from the moment
it leaves the browser up to the moment a response gets back from the server.
Second part of this article builds upon this knowledge and describes multiple
failure scenarios.