next.js
eb44c314 - docs: platform portability and infrastructure documentation (#91237)

Commit
3 days ago
docs: platform portability and infrastructure documentation (#91237) ## Summary Adds comprehensive documentation addressing platform partner feedback about Next.js portability, infrastructure requirements, and CDN caching. All technical claims verified against the codebase. **New pages (5):** - **Rendering Philosophy** — explains Next.js's component-level static/dynamic spectrum, framework comparisons, functional vs. performance fidelity definitions, CDN compatibility - **Deploying to Platforms** — feature support matrix (streaming/cache/edge requirements per feature), CDN infrastructure table, minimum requirements, adapter guidance - **How Revalidation Works** — tag system architecture (explicit + soft tags with `_N_T_` prefix), HTML/RSC consistency requirements, multi-instance coordination, graceful degradation - **CDN Caching** — cache variability (`Vary` headers, `_rsc` param), graceful degradation when headers are dropped, static prefetch caching (PPR-scoped), pathname-based cache keying direction - **PPR Platform Guide** — implementation tiers (origin-only through edge), resume protocol (`next-resume` header, POST + body), artifact storage, implementation checklist **Expanded pages (4):** - **Self-Hosting** — streaming infrastructure requirements, multi-instance cache coordination, CDN guide links, graceful shutdown details - **ISR** — multi-instance caveats, tag propagation, background regeneration billing, `x-nextjs-cache` monitoring - **Cache Handlers** — distributed tag coordination (Redis example), soft tags explanation, stream handling, error handling patterns - **Adapter API** — runtime integration context, PPR chain headers (`next-resume`), multi-instance cache entry propagation, fixed stale `x-nextjs-resume` comment ## Key corrections from code verification - Resume header is `next-resume`, not `x-nextjs-resume` (fixed in existing adapterPath docs too) - Resume requires POST with postponed state in body, not just a header - `x-nextjs-cache` has 4 values including `REVALIDATED`, only emitted outside minimal mode - Soft tags use `_N_T_` prefix with layout paths (`_N_T_/blog/layout`), not bare paths - `stale-while-revalidate` in Cache-Control is conditional on `expire` config - Static prefetch caching without state tree only works for PPR-enabled routes - Fastly product renamed from `Compute@Edge` to `Compute` --------- Co-authored-by: JJ Kasper <jj@jjsweb.site> Co-authored-by: Tim Neutkens <tim@timneutkens.nl>
Author
Parents
Loading