explaingit

alex/what-happens-when

43,099Audience · developerComplexity · 1/5StaleSetup · easy

TLDR

A comprehensive written explanation of everything that happens when you type a URL into your browser and press Enter, from keyboard hardware to pixels on screen.

Mindmap

mindmap
  root((repo))
    What it covers
      Keyboard hardware
      Operating system
      Browser parsing
      Network protocols
    Technical layers
      DNS resolution
      TCP handshake
      TLS negotiation
      HTTP request/response
    Rendering pipeline
      HTML parsing
      CSS evaluation
      JavaScript execution
      Pixel display
    Use cases
      Interview prep
      Learning systems
      Reference material
      Mental model building

Things people build with this

USE CASE 1

Prepare for technical interviews that test systems and networking knowledge.

USE CASE 2

Learn how the entire web stack works from keyboard input to rendered page.

USE CASE 3

Fill gaps in your understanding of DNS, TCP, TLS, HTTP, or browser rendering.

USE CASE 4

Reference the protocols and system calls involved in a single browser request.

Getting it running

Difficulty · easy Time to first run · 5min
License could not be detected automatically. Check the repository's LICENSE file before use.

In plain English

"What happens when you type google.com into your browser and press Enter?" is one of the most famous interview questions in software engineering because it touches almost every layer of a computer system. This repository is a community-maintained, exhaustive written answer to exactly that question. The document traces the full journey of a single browser request from the physical keystroke that triggers the keyboard hardware interrupt, through the operating system's key event handling, the browser parsing the URL, DNS resolution, TCP connection establishment with the three-way handshake, TLS negotiation, the HTTP request and response, HTML parsing, CSS and JavaScript evaluation, page rendering, and all the way to pixels appearing on screen. Each step is covered in technical depth, referencing the actual protocols, system calls, and hardware mechanisms involved. This is a learning resource, not executable software. You would read it when preparing for technical interviews at companies that ask systems knowledge questions, when you want a structured tour of how the modern web stack actually works end to end, or when you have a gap in your mental model of any particular layer and want a detailed reference to fill it in. The repository is maintained as a plain text file and accepts community contributions that add more depth or correct inaccuracies. It has no programming language and no runnable code, only written technical explanation. It is one of the most widely referenced resources in the software engineering community for understanding full-stack networking and systems fundamentals.

Copy-paste prompts

Prompt 1
Walk me through what happens when I type google.com into my browser, starting from the keyboard hardware interrupt.
Prompt 2
Explain the TCP three-way handshake and TLS negotiation that occurs before the HTTP request is sent.
Prompt 3
What are all the steps between pressing Enter and seeing pixels on my screen, and which layer of the system handles each one?
Prompt 4
I want to understand DNS resolution, TCP connection, and HTTP in the context of a real browser request, where should I start?
Prompt 5
Create a checklist of all the protocols and system components involved in loading a webpage, from hardware to rendering.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.