我在我的项目中使用NextJS。对于每一个页面请求,它都会添加“s-maxage=31536000”,响应时重新验证缓存控制规则。这两条规则是如何一起工作的?
发布于 2021-08-09 04:25:17
s-maxage和stale-while-revalidate是指示web对象缓存的cache-control HTTP标头标准的一部分。
正如您的问题所暗示的那样,允许将它们分隔成逗号以实现您想要的缓存策略。
Cache-Control: s-maxage=1, stale-while-revalidate=60第一个值(s-maxage)是对象在秒内缓存的时间。它还“覆盖max-age或Expires报头,但仅用于共享缓存(例如代理),并被私有缓存忽略”-请参见HTTP过期。
第二个值(stale-while-revalidate),如果支持,是s-maxage过期后对象可以缓存多长时间,直到需要再次从站点请求对象为止。
示例
cache-control指令缓存。下面是如何设置Next.js中的缓存头。
下面是我制作的一个相关员额,它突出了Next.js中的ISR过程。
https://stackoverflow.com/questions/68706688
复制相似问题