66597be8a7
### Reason for making this change https://yarnpkg.com/getting-started/qa#:~:text=yarn%2Finstall%2Dstate.,your%20workspaces%20all%20over%20again. In the official documentation of `yarn`, it is stated that `.yarn/install-state.gz` is an optimization file that developer shouldn't ever have to commit. However, currently, when running `create-next-app`, `.yarn/install-state.gz` is being commited. ### Remaining work I apologize for only modifying one template initially to initiate the discussion first. If this change is agreed upon, it should be synchronized with other `.gitignore` templates. Would it be possible to follow a similar approach as in https://github.com/vercel/next.js/pull/47241? I would appreciate any assistance in syncing this change. |
||
---|---|---|
.. | ||
pages | ||
.gitignore | ||
next-env.d.ts | ||
package.json | ||
README.md | ||
tsconfig.json |
Server-Side Rendering Caching Headers
This example uses stale-while-revalidate
cache-control headers in combination with getServerSideProps
for server-rendering.
pages/index.tsx
uses getServerSideProps
to forward the request header to the React component, as well as setting a response header. This cache-control
header uses stale-while-revalidate
to cache the server response.
pages/index.tsx
is considered fresh for ten seconds (s-maxage=10
). If a request is repeated within the next 10 seconds, the previously cached value will still be fresh. If the request is repeated before 59 seconds, the cached value will be stale but still render (stale-while-revalidate=59
).
In the background, a revalidation request will be made to populate the cache with a fresh value. If you refresh the page, you will see the new value shown.
Deploy your own
Deploy the example using Vercel or preview live with StackBlitz
How to use
Execute create-next-app
with npm, Yarn, or pnpm to bootstrap the example:
npx create-next-app --example ssr-caching ssr-caching-app
yarn create next-app --example ssr-caching ssr-caching-app
pnpm create next-app --example ssr-caching ssr-caching-app
Deploy it to the cloud with Vercel (Documentation).