70 terms

Glossary

The terms used across the experiments, in plain language. Each links to where you can see it happen.

103 Early Hints

An HTTP response a server can send before the real one, listing resources to preload or connect to, so the browser can start while the server is still working.

08 Resource Hints

async and defer

Attributes on a script tag. Both download the script without stopping the HTML parser. defer runs it after parsing, in order; async runs it as soon as it arrives, in any order. Neither makes the script cheaper to run.

03 JavaScript · 05 Critical Rendering Path

AVIF

An image format based on a video codec. Often the smallest for photographs at a given quality, with slower encoding. Supported by current browsers.

02 Images

Back/forward cache bfcache

A browser feature that keeps a whole page, JavaScript state included, in memory when you leave it, so back and forward restore it in milliseconds. An unload handler (on desktop Chrome and Firefox) and a no-store response are among the things that can disqualify a page.

11 Instant Navigation

Bandwidth

How many bytes per second a connection can carry. It limits how fast a large file downloads, but not how long a small one waits for a round trip.

01 The Request Queue

Block period

The time at the start of font loading during which text using that font is invisible. font-display sets its length.

04 Fonts

Brotli

A compression format that usually beats gzip for text such as HTML, CSS and JavaScript. Supported by all current browsers over HTTPS.

06 HTTP Caching

Bundle

Several source files combined into one for delivery. Fewer requests, but a change to any file invalidates the whole thing in the cache.

03 JavaScript · 06 HTTP Caching

Cache-Control

The HTTP header that tells a cache how long a response is fresh and what it may do with it: max-age, no-cache, no-store, immutable, stale-while-revalidate and others.

06 HTTP Caching

CDN content delivery network

A network of servers close to visitors that cache your responses, shortening the round trip. Also called an edge cache.

06 HTTP Caching

Code splitting

Breaking JavaScript into pieces so a page loads only the code it needs now and fetches the rest later.

03 JavaScript

Compositing composite

The last rendering step: painted layers are combined and sent to the screen, largely off the main thread. Animating transform and opacity usually needs only this step.

05 Critical Rendering Path

Compression Content-Encoding

Shrinking a response for transfer (gzip, Brotli, Zstandard). It shortens the download, not the work of parsing the decompressed file.

06 HTTP Caching

content-visibility

A CSS property. With auto, the browser skips rendering work for off-screen elements until they approach the viewport.

10 CSS

Core Web Vitals

Google’s three field metrics for user experience: LCP (loading), INP (responsiveness) and CLS (visual stability), judged at the 75th percentile of real visits.

12 Lab vs Field

Critical CSS

The small amount of CSS needed for the first view, inlined in the HTML so the rest can load without blocking rendering.

05 Critical Rendering Path

Critical rendering path

The sequence the browser must complete before it can paint: HTML to DOM, CSS to CSSOM, render tree, layout, paint, composite.

05 Critical Rendering Path

CSSOM

The CSS Object Model: the browser’s parsed structure of every style rule. The render tree can’t be built until it’s complete.

05 Critical Rendering Path · 10 CSS

Cumulative Layout Shift CLS

A Core Web Vital: a score for how much visible content moves unexpectedly while the page loads and is used. Good is 0.1 or less; poor is above 0.25.

02 Images · 12 Lab vs Field

DNS lookup DNS

Turning a hostname into an IP address. Costs about a round trip the first time, and is often cached after that.

01 The Request Queue · 08 Resource Hints

dns-prefetch

A resource hint that resolves a hostname early. Cheap, and saves one round trip.

08 Resource Hints

DOM Document Object Model

The tree of elements the browser builds from your HTML. It is built incrementally as the HTML arrives.

05 Critical Rendering Path

ETag validator

A fingerprint of a response. The browser sends it back to ask “has this changed?”, and the server can answer 304 Not Modified with no body.

06 HTTP Caching

fetchpriority

An attribute that hints a request is more (high) or less (low) important than the browser would assume. It reorders requests; it does not add bandwidth.

02 Images · 08 Resource Hints

Field data RUM, real-user monitoring

Measurements from real visitors on their own devices and networks. It shows the whole distribution, including the slow tail.

12 Lab vs Field

First Contentful Paint FCP

The moment the first text or image is painted. A lab and field metric for how soon something appears.

05 Critical Rendering Path

FOIT flash of invisible text

Text is invisible while a web font loads, so the page looks loaded but unreadable.

04 Fonts

font-display

A CSS descriptor that says how to behave while a web font loads: hide the text for a while (block), show a fallback at once (swap), or give up on the font (optional).

04 Fonts

FOUT flash of unstyled text

Text appears in a fallback font and then changes when the web font arrives, often moving the layout.

04 Fonts

gzip

The universal compression format for web text. Supported everywhere.

06 HTTP Caching

HTTP/1.1

A protocol where each connection carries one request at a time, so browsers open several connections per origin (typically six).

01 The Request Queue

HTTP/2

A protocol that multiplexes many requests over one connection. A lost packet can stall every stream because they share a TCP connection.

01 The Request Queue

HTTP/3

HTTP over QUIC, which runs on UDP. It multiplexes like HTTP/2, but packet loss affects only the stream it hit, and setting up a connection takes one round trip less.

01 The Request Queue

immutable

A Cache-Control value that promises a file will never change at this URL, so the browser needn’t revalidate it. Used with fingerprinted filenames.

06 HTTP Caching

Interaction to Next Paint INP

A Core Web Vital for responsiveness: how long after a tap, click or keypress the next frame is drawn. Good is 200 ms or less; poor is above 500 ms.

03 JavaScript · 12 Lab vs Field

Lab data synthetic testing

A measurement taken under fixed, controlled conditions, such as a Lighthouse run. Repeatable, but it describes only those conditions.

12 Lab vs Field

Largest Contentful Paint LCP

A Core Web Vital: when the largest image or text block in the viewport is painted. Good is 2.5 s or less; poor is above 4 s.

02 Images · 05 Critical Rendering Path · 12 Lab vs Field

Layout reflow

Working out the size and position of every box. Changing something that affects size or position can force it to run again.

05 Critical Rendering Path · 10 CSS

Lazy loading

Deferring a resource, usually an image, until it is near the viewport. Right below the fold; wrong for the largest image on screen.

02 Images

Long task

Any main-thread task longer than 50 ms. The browser can’t interrupt it, so input arriving meanwhile has to wait.

03 JavaScript

Main thread

The single thread that runs your JavaScript, handles input, calculates styles and layout, and drives painting. While it’s busy, the page can’t respond.

03 JavaScript

Minification

Removing whitespace and shortening names in code without changing what it does. It shrinks both the download and what the browser has to parse.

06 HTTP Caching

modulepreload

A resource hint like preload for JavaScript modules: it also fetches and parses the module, so a chain of imports can be discovered at once.

08 Resource Hints

Multiplexing

Sending many requests and responses interleaved over a single connection. Introduced by HTTP/2.

01 The Request Queue

Origin

The combination of scheme, host and port. Each origin needs its own connection, with its own DNS lookup, TCP and TLS setup.

01 The Request Queue · 09 Third-Party Scripts

Paint

Turning boxes into pixels: backgrounds, text, borders, images.

05 Critical Rendering Path

Parse and compile

Reading source text and turning it into something the browser can run or apply. Costs main-thread time, in proportion to the uncompressed size.

03 JavaScript · 10 CSS

Percentile p75, p95

The value below which a given share of visits fall. The 75th percentile means three in four visits were at least this good. It describes a skewed distribution better than the average does.

12 Lab vs Field

preconnect

A resource hint that does the whole connection setup (DNS, TCP and TLS) early. For origins you’re certain to use.

08 Resource Hints

prefetch

Fetching something at the lowest priority for a likely next navigation. Speculation Rules prefetch fetches only the next page’s document.

08 Resource Hints · 11 Instant Navigation

preload

A resource hint that fetches a file now, at a priority set by its type, for use on this page. It helps where the browser would discover the file late.

02 Images · 04 Fonts · 08 Resource Hints

prerender

Loading and rendering a likely next page in a hidden context so that visiting it is nearly instant.

11 Instant Navigation

Render tree

The DOM and CSSOM combined: the visible elements with their computed styles.

05 Critical Rendering Path

Render-blocking

A resource that stops the browser painting until it has loaded. Stylesheets in the head are render-blocking by default.

05 Critical Rendering Path

Round trip RTT, latency

The time for a message to reach the server and the reply to come back. Every new connection and every request pays at least one.

01 The Request Queue

Service worker

A script that sits between a page and the network, can answer requests from a cache, and works when the visitor is offline. It has its own install and update lifecycle.

07 Service Workers

Speculation Rules

A JSON block on a page that tells the browser which links to prefetch or prerender, and how eagerly.

11 Instant Navigation

srcset and sizes

Attributes that let the browser choose among several sizes of an image. srcset lists the files and their widths; sizes says how wide the image will be displayed.

02 Images

stale-while-revalidate

A Cache-Control extension that lets a cache serve a stale response immediately while it fetches a fresh one in the background.

06 HTTP Caching · 07 Service Workers

Subsetting

Removing the characters you don’t need from a font file, for example keeping only Latin letters.

04 Fonts

TCP handshake TCP

The exchange that opens a connection, taking a round trip before any data is sent. HTTP/3 doesn’t use TCP.

01 The Request Queue

Third-party script

Code from a company that isn’t you: analytics, ads, chat, tag managers. You don’t control its size, speed or what it loads next.

09 Third-Party Scripts

Time to First Byte TTFB, waiting

How long after requesting something the first byte of the response arrives: one round trip plus the server’s own processing time.

01 The Request Queue

TLS handshake TLS, HTTPS

The exchange that sets up encryption for a connection, costing about one more round trip with TLS 1.3.

01 The Request Queue

Total Blocking Time TBT

A lab metric: the sum of every long task’s time beyond 50 ms between first paint and the page becoming interactive. A stand-in for INP in Lighthouse.

03 JavaScript · 09 Third-Party Scripts

Tree-shaking

A build step that drops code that is never used from a bundle.

03 JavaScript

Variable font

One font file that holds a range of weights, widths or slants. Larger than one static weight and smaller than several.

04 Fonts

View transitions

A browser feature for animating the change between two states or pages. It smooths a navigation; it doesn’t make it faster.

11 Instant Navigation

WebP

An image format that is usually smaller than JPEG at similar quality. Supported by every current browser.

02 Images

WOFF2

The compressed web-font format supported by every current browser, typically around 30% smaller than WOFF.

04 Fonts