Not universally true
“Browsers only load six resources at once.”
Six connections per origin is an HTTP/1.1-era habit. HTTP/2 and HTTP/3 multiplex many requests over one connection, and the real limits depend on protocol, origin, connection reuse and priorities.
01 · The Request Queue
Outdated
“More requests are always bad.”
On HTTP/2 and HTTP/3 a request is far cheaper than it was, and a cached request is free. Many small, separately cacheable files can beat one bundle that changes on every release.
06 · HTTP Caching
·
01 · The Request Queue
Backwards
““no-cache” means the browser won’t cache it.”
It means “store it, but check with me before every reuse”. Use no-store if you truly want nothing kept.
06 · HTTP Caching
Only what you can rename
“Cache everything for as long as possible.”
A long cache on a URL you can’t change is a promise you can’t take back. Fingerprint the assets and keep the HTML revalidating.
06 · HTTP Caching
Not by itself
“A service worker makes my site faster.”
It makes repeat visits and bad connections better if you configure it well. A first visit gets nothing from it, and a worker that has to start before it answers can add delay.
07 · Service Workers
Only for what never changes
“Cache-first is the fast option, so use it everywhere.”
Cache-first is right for fingerprinted assets. On a document or API response it builds a stale-forever trap.
07 · Service Workers
Fixes one problem, creates another
“I’ll call skipWaiting() so updates always work.”
It skips the waiting, and can leave old pages running under a new worker that has deleted what they need.
07 · Service Workers
It moves one request, and crowds the rest
“Preload makes everything faster.”
Preload starts a request sooner and ranks it higher. Everything else now has more to compete with for the same bandwidth. It helps where discovery is late, and overused it delays the resources that matter most.
08 · Resource Hints
·
02 · Images
Only the critical few
“I should preconnect to every third party.”
An unused connection is wasted work, and Chrome closes a preconnected connection that isn’t used within about 10 seconds. Preconnect where you’re certain, dns-prefetch for the rest.
08 · Resource Hints
It’s a hint
“A resource hint is a command.”
Browsers may ignore hints on slow or metered connections, in data-saver mode, or when they’ve already done what you asked.
08 · Resource Hints
Every miss is a wasted page load
“Just prerender everything and the site is instant.”
Prerender runs the whole page in the background. Speculate where intent is clear, like the link under the pointer.
11 · Instant Navigation
Different gains, different costs
“Prefetch and prerender are the same thing.”
Prefetch fetches the document, not the page’s subresources. Prerender loads and renders the whole page in the background. Only prerender makes a navigation close to instant.
11 · Instant Navigation
Until something disqualifies the page
“The back/forward cache is automatic, so there’s nothing to do.”
On desktop Chrome and Firefox one unload handler disqualifies the page, as can a forgotten open connection or a no-store response. Then the near-instant back button becomes a full reload.
11 · Instant Navigation