You type:
https://example.com
You press Enter.
A moment later, the webpage appears.
But what actually happened between those two moments? π€
Let's break it down.
1οΈβ£ The Browser Checks the URL
Your browser first parses the URL.
For:
https://example.com
we have:
https:// β Protocol example.com β Domain
The protocol tells the browser how it should communicate with the server.
2οΈβ£ DNS Lookup
Your computer needs to find the IP address associated with:
example.com
That's where DNS (Domain Name System) comes in.
Conceptually:
example.com β DNS β IP Address
Instead of remembering an IP address, we can use a human-readable domain name.
3οΈβ£ A Connection Is Established
Once the browser knows the destination, it needs to communicate with the server.
For HTTPS traffic, this involves establishing a secure connection using TLS.
Depending on the protocol and network conditions, the underlying transport can involve TCP or QUIC/HTTP/3.
4οΈβ£ The Browser Sends a Request
The browser sends a request asking the server for the resource.
A simplified HTTP request might look like:
GET / HTTP/1.1 Host: example.com
The server receives the request and processes it.
5οΈβ£ The Server Responds
The server sends a response.
For example:
HTTP/1.1 200 OK Content-Type: text/html
The response contains the requested resource or information about what happened.
6οΈβ£ The Browser Builds the Page
The browser receives the HTML and begins processing it.
It may then request additional resources such as:
HTML β CSS β JavaScript β Images β Fonts β Other resources
The browser parses these resources and eventually renders the webpage you see.
π The Full Journey
A simplified version looks like:
You enter a URL β Browser parses URL β DNS resolution β Connection established β TLS negotiation (HTTPS) β HTTP request β Web server β HTTP response β Browser processes resources β Webpage appears
And all of this can happen incredibly quickly.
π§ͺ CyberGround Challenge
Now it's your turn.
Open your browser's Developer Tools β Network tab.
Visit a website you are authorized to inspect.
Look at the first request.
Try to find:
πΉ Request URL
πΉ Request method
πΉ Status code
πΉ Response headers
πΉ Request headers
πΉ Remote address
πΉ Timing information
Then answer:
What was the first request your browser made?
What HTTP status code did you receive?
How many additional resources were loaded?
Don't worry if you don't understand everything yet.
That's exactly what CyberGround is for.
π§ Question for the Ground
If DNS converts:
example.com β IP address
what happens if DNS completely fails?
Drop your answer below. π
Learn. Investigate. Build. Defend.
Source: r/CyberGround · by /u/GadeKuldeep