Sometimes, you may need to change the default value of the Cache-Control response header returned when a page of your deployment is requested. An example of that is when you want to set up Incremental Static Regeneration and you are not using Next.js. If you are using Next.js, it is recommended to use getStaticProps as explained here.
Before you get started, you should have:
- A Vercel Project deployed with at least one front-end page accessible using the framework of your choice.
- An understanding of configuring your project with a vercel.json file or a next.config.js file.
- An understanding of Vercel Functions.
Let's say you have a page in your deployment called about. When this page is requested at yoursite.com/about, you would like to return the Cache-Control header with value s-maxage=1, stale-while-revalidate=59 so that Incremental Static Regeneration happens on this page for all subsequent requests based on the specified stale-while-revalidate value.
This guide shows three different methods of setting this Cache-Control header value on the about page.
This applies if your project is not based on Next.js.
Add the following code to your vercel.json file.
Next, deploy your project and go to yoursite.com/about in your web browser.
Finally, inspect the Network tab in the developer tools to view the response headers for this page and look for the Cache-Control value.
**NOTE: **You can also use the curl command to get the response headers from the command line by running the following command:
This applies if your project uses Next.js
Add the following code to your next.config.js file.
Next, deploy your project and go to yoursite.com/about in your web browser.
Finally, inspect the Network tab in the developer tools to view the response headers for this page and look for the Cache-Control value.
You can also use the curl command as explained above.
This applies if your project uses a Vercel Function to return the response.
- Create an API route. For example, in a Next.js App Router project, create
app/api/about/route.js. - Add the following code to your route file:
- Deploy your project and request the API route in your web browser.
- Inspect the Network tab in the developer tools to view the response headers for this route and look for the
Cache-Controlvalue.
You can also use the curl command as explained above.