Free course
Browser Internals Course
Learn how a browser loads resources, builds and paints a page, runs JavaScript, isolates sites, stores data, and exposes performance problems.
Prerequisites: HTML, CSS, JavaScript and HTTP
Download this course as PDF or EPUB
Read it offline, on your Kindle, or print it. Join my free newsletter and you get this course plus every other book and course I published.
Download this course as PDF or EPUB
Read it offline, on your Kindle, or print it.
Your progress
of lessons completed.
Course completed.
What you'll learn
Trace a page from URL to pixels and use browser DevTools to explain and fix loading, rendering, memory, and responsiveness problems.
Course contents
Networking and resource loading
DNS, connections, requests, parsing, priorities, and reuse.
- ✓ From a URL to a page
- ✓ DNS, Domain Name System
- ✓ The HTTPS protocol
- ✓ How HTTP requests work
- ✓ How the browser discovers resources
- ✓ Efficiently load JavaScript with defer and async
- ✓ How module scripts load
- ✓ Preload important resources carefully
- ✓ The HTTP/2 protocol
- ✓ Reuse connections and cached responses
- ✓ Check your understanding: networking and loading
The rendering pipeline
DOM, CSSOM, style, layout, paint, and compositing.
- ✓ From bytes to pixels
- ✓ The Document Object Model (DOM): how browsers represent HTML
- ✓ HTML parsing is incremental
- ✓ Build the CSSOM and calculate styles
- ✓ The render tree
- ✓ Layout calculates geometry
- ✓ Paint and rasterization
- ✓ Compositing layers
- ✓ What a DOM or CSS change triggers
- ✓ Check your understanding: the rendering pipeline
The JavaScript engine
Parsing, optimization, the stack, event loop, and memory.
- ✓ The V8 JavaScript Engine
- ✓ Parse, compile, and run JavaScript
- ✓ Optimization and deoptimization
- ✓ The call stack
- ✓ Browser task queues and a responsive page
- ✓ Tasks and microtasks
- ✓ Long tasks block the page
- ✓ Garbage collection
- ✓ How browser memory leaks happen
- ✓ Web Workers
- ✓ Check your understanding: the JavaScript engine
Storage and browser security
Origins, cookies, local data, isolation, and sandboxing.
- ✓ What is an origin
- ✓ Cookie scope, expiration and security attributes
- ✓ How localStorage and sessionStorage persist browser data
- ✓ Dive into IndexedDB
- ✓ Choose the right browser storage
- ✓ The same-origin policy
- ✓ CORS, Cross-Origin Resource Sharing
- ✓ Site isolation and renderer sandboxing
- ✓ Private browsing storage
- ✓ Check your understanding: storage and security
Performance and DevTools
Web Vitals, long tasks, layout work, profiling, and leaks.
- ✓ Measure before optimizing
- ✓ Core Web Vitals
- ✓ Investigate a slow LCP
- ✓ Investigate a slow interaction
- ✓ Prevent unexpected layout shifts
- ✓ Avoid layout thrashing
- ✓ Use requestAnimationFrame for visual updates
- ✓ Debounce and throttle repeated input
- ✓ Trace a broken page across DevTools panels
- ✓ Read a performance recording
- ✓ Find a memory leak
- ✓ Profile and fix a page
- ✓ Check your understanding: performance and DevTools