Networks: Hitting www.Example.com

Intro
Its just a simple website query. Right? RIGHT?!?!?!?
This is the ins and outs of what happens when a user on a browser tries to hit a website 'www.example.com'. Have fun!
What We Are Drawing Out
The full journey of a single browser request from keypress to rendered page.
Full Network Stack Traversal
Typing a URL into a browser to hit a website seems trivial. However, under the hood extremely precise and specific operations occur to provide you with your final destination.
Summary
- Client Machine (everything that happens before a packet leaves)
- Networking (everything that happens on route)
- Server Side (everything that happens on destination)
Topics We Will Cover
- Client Machine (URL parsing, DNS, TCP, TLS)
- Networking (Routing, Switching, NAT)
- Server Side (Load Balancers, HTTP, Response)
The OSI Model: Our Map
A conceptual framework created by the International Organization for Standardization (ISO) to describe how data is transmitted across a networking using a structured seven-layer architecture. Each layer has specific responsibilities and only communicate to the layers directly above or below it.
OSI Layer Stack (sender perspective - data flows DOWN):
+-----------------------------------------------+ |
| Layer 7: Application (HTTP, DNS, TLS payload)| |
+-----------------------------------------------+ V
| Layer 6: Presentation (Encoding, Encryption) |
+-----------------------------------------------+ |
| Layer 5: Session (TLS handshake state) | |
+-----------------------------------------------+ V
| Layer 4: Transport (TCP, UDP, ports) |
+-----------------------------------------------+ |
| Layer 3: Network (IP, routing, packets) | |
+-----------------------------------------------+ V
| Layer 2: Data Link (Ethernet, MAC, frames) |
+-----------------------------------------------+ |
| Layer 1: Physical (bits, signals, wire) | |
+-----------------------------------------------+ VThis is our OSI layer stack. It splits the actions of network communication into seven layers and helps explain the communication between each neighbor layers.
To start, the idea is as data from an application is prepared to get sent from the sender to the receiver, each layer of the OSI stack completes a task that ensures that the data is able to get to the receiver.
We will cover the OSI layer in depth here