Reference · 66 terms

Glossary

Every short form used across the series. Inside a lesson, hover or tap any dotted term to see the same entry in place.

Next.js basics

App RouterApp Router
The Next.js routing system built on the app folder, where folders become URLs and special files like page and layout add behaviour.Lesson 0 →
client-side navigationClient-side navigation
Moving between pages without a full browser reload, with Link loading likely pages in the background first.Lesson 0 →
dynamic segmentDynamic segment
A folder name in square brackets, like [slug], that matches any value in that place of the URL.Lesson 0 →
generateStaticParamsgenerateStaticParams
A function that lists which dynamic route values to build at build time, so those pages are prerendered.Lesson 0 →
layoutLayout
A file that wraps pages and nested layouts through children and stays mounted when you move between the pages it wraps.Lesson 0 →
Pages RouterPages Router
The older Next.js router that uses the pages folder and functions like getServerSideProps.Lesson 0 →
segmentRoute segment
One piece of a URL path between slashes; in /blog/hello the segments are blog and hello.Lesson 0 →

Server and Client Components

boundaryServer and client boundary
The line created by 'use client' where the server module graph ends and everything below it ships to the browser.Lesson 1 →
Client ComponentClient Component
A component in a file starting with 'use client' that renders on the server for the first HTML and also runs in the browser.Lesson 1 →
DTOData transfer object
A small plain object holding only the fields a screen needs, used so secrets in a database row never cross to the browser.Lesson 1 →
hydrationHydration
React attaching event handlers to HTML the server already made, so buttons and inputs start to work.Lesson 1 →
RSC payloadReact Server Component payload
A compact description of the rendered server tree with placeholders for Client Components and the props passed to them.Lesson 1 →
serializableSerializable
A value that can be turned into text and sent over the network; props passed to Client Components must be serializable.Lesson 1 →
Server ComponentReact Server Component
A component that runs only on the server, so its code never reaches the browser and it can read data and secrets directly.Lesson 1 →
server-onlyserver-only package
A tiny package that makes the build fail if a file marked server-only is imported into client code.Lesson 1 →

Data fetching and caching

Cache ComponentsCache Components
The newer Next.js model, enabled with cacheComponents: true, where data is dynamic by default and you opt in to caching with the use cache directive.Lesson 2 →
cacheLifecacheLife and cacheTag
cacheLife sets how long a use cache result stays fresh, and cacheTag labels it so you can refresh it later by name.Lesson 2 →
memoizationRequest memoization
Identical fetch calls during one server render are sent only once, so components can each fetch what they need.Lesson 2 →
Partial PrerenderingPartial Prerendering
A page built as a static shell at build time with the dynamic parts streamed in at request time.Lesson 2 →
revalidationRevalidation
Refreshing a cached answer, either after a set time or on demand when data changes.Lesson 2 →
stale-while-revalidateStale-while-revalidate
Serve the old cached answer now and fetch a fresh one in the background so nobody waits.Lesson 2 →
updateTagupdateTag, revalidateTag and revalidatePath
Functions that refresh cached data after a change; updateTag expires it at once, revalidateTag serves stale while it refreshes.Lesson 2 →
waterfallRequest waterfall
Requests that wait for each other one by one when they could have run at the same time.Lesson 2 →

Actions and forms

IDORInsecure direct object reference
A bug where the client sends an id and the server acts on that row without checking the caller owns it.Lesson 3 →
progressive enhancementProgressive enhancement
A feature that works with plain HTML first, like a form post with JavaScript off, and gets nicer when JavaScript loads.Lesson 3 →
Server ActionServer Action
An async function marked 'use server' that runs on the server and is called from a form or button over a POST request.Lesson 3 →
useActionStateuseActionState
A React hook that gives you the last result of an action, the action to put on the form, and a pending flag.Lesson 3 →

Route handlers and Proxy

CORSCross-origin resource sharing
A browser rule that lets a page read a response from another origin only if that response has the right permission headers.Lesson 4 →
matcherProxy matcher
A setting that lists the paths Proxy runs on; without it Proxy runs on every request, including static files.Lesson 4 →
ProxyProxy (formerly middleware)
A single file that runs before matched requests and can redirect, rewrite, change headers or respond directly.Lesson 4 →
rewriteRewrite versus redirect
A redirect sends the browser to a new URL, while a rewrite serves another route's content and keeps the URL the same.Lesson 4 →
Route HandlerRoute Handler
A route.ts file that answers HTTP requests with the standard Request and Response objects, used for public APIs and webhooks.Lesson 4 →
webhookWebhook
A request another service sends to your URL when something happens, which you should verify with a signature over the raw body.Lesson 4 →

Next.js auth

authInterruptsauthInterrupts (experimental)
An experimental Next.js setting that lets you call forbidden() or unauthorized() to show a 403 or 401 page.Lesson 5 →
Data Access LayerData Access Layer
One server-only place in your code that reads data and checks who is asking, so every other file goes through it.Lesson 5 →
database sessionDatabase session
A login where the cookie holds only a session ID and the data lives in your database, so you can end any session at once.Lesson 5 →
optimistic checkOptimistic check
A quick auth check that only reads the cookie and does not ask the database, so it is fast but can be out of date.Lesson 5 →
secure checkSecure check
An auth check that asks the database for the current state, so it is always up to date but costs a read.Lesson 5 →
server-onlyserver-only package
A tiny package: if a Client Component imports a file that imports it, the build fails, which stops server code and secrets from reaching the browser.Lesson 5 →
stateless sessionStateless session
A login where the cookie itself holds the signed data, so the server keeps no list of sessions and cannot cancel one early.Lesson 5 →

Next.js rendering

connection()connection()
A Next.js function that says 'wait for a real request before running this', which makes a component request-time.Lesson 6 →
dynamic renderingDynamic rendering
Building a page on the server for each request, usually because it needs cookies, headers or query values.Lesson 6 →
ISRIncremental Static Regeneration
A static page that is rebuilt in the background after a set time, so the old copy is served once and the next visitor gets the new one.Lesson 6 →
Partial PrerenderingPartial Prerendering
One page with a prebuilt static shell and dynamic parts that stream in at request time, shown as a half circle in the build table.Lesson 6 →
request-time APIRequest-time API
Something that only exists when a request arrives, such as cookies(), headers() or searchParams, which makes a page dynamic.Lesson 6 →
soft 404Soft 404
A page that shows 'not found' to the user but sends a 200 status, which can happen when notFound() runs after streaming has started.Lesson 6 →
static renderingStatic rendering
Building a page once at build time and serving the same ready file to everyone.Lesson 6 →
static shellStatic shell
The part of a page that does not wait for anything: layouts, static content and the Suspense fallbacks, sent first.Lesson 6 →

Next.js SEO and assets

canonical URLCanonical URL
The one official address of a page, given in a link tag, so search engines count one URL when several show the same page.Lesson 7 →
generateMetadatagenerateMetadata
A function a page exports that returns its title, description and other head tags, and can use params or data.Lesson 7 →
HTML-limited botHTML-limited bot
A crawler such as Twitterbot that reads the HTML but may not run JavaScript, so Next.js puts the title in the head for it.Lesson 7 →
JSON-LDJSON-LD
A small JSON block in a script tag that describes a page to search engines, such as 'this is a blog post by this author'.Lesson 7 →
metadataBasemetadataBase
The site's base URL, used to turn relative URLs in metadata (canonical, share images) into full ones.Lesson 7 →
next/fontnext/font
A Next.js tool that downloads fonts at build time and serves them from your own site, with a size-matched fallback to limit layout shift.Lesson 7 →
next/imagenext/image
A Next.js component that serves an image in the right size and a smaller format, and reserves space so the page does not jump.Lesson 7 →
Open GraphOpen Graph
Meta tags that chat apps and social sites read to build the card (title, text and picture) shown when you share a link.Lesson 7 →
robots.txtrobots.txt
A file that asks crawlers which paths not to visit. It does not hide a page and is not security.Lesson 7 →
sitemapSitemap
A file that lists the URLs you want search engines to find, made in Next.js by an app/sitemap.ts file.Lesson 7 →

Next.js deployment

env load orderEnvironment variable load order
The search order for a variable: the real environment, then .env.NODE_ENV.local, .env.local, .env.NODE_ENV, and .env, stopping at the first match.Lesson 8 →
inlineInlining (at build time)
Replacing a variable with its actual value inside the code during the build, like find and replace.Lesson 8 →
instrumentation.tsinstrumentation.ts
A root file with register() that runs once at server start and onRequestError() that reports server errors to your monitoring tool.Lesson 8 →
NEXT_PUBLIC_NEXT_PUBLIC_ prefix
A name prefix that makes Next.js copy an environment variable into the browser JavaScript at build time, where it can no longer change.Lesson 8 →
output file tracingOutput file tracing
Next.js following your imports to find which files each page needs, so it can copy only those into a deployment.Lesson 8 →
standalone outputStandalone output
A build mode that makes a small folder with only the files needed to run the server, started with node server.js.Lesson 8 →
version skewVersion skew
A browser running old code talking to a server running new code after a deployment, which a deploymentId helps to handle.Lesson 8 →

Next.js interview traps

NEXT_REDIRECTNEXT_REDIRECT
The special error that redirect() throws, which a careless try/catch can swallow so that no redirect happens.Lesson 9 →