核心价值`stale-while-revalidate` 允许在过期后短期使用陈旧副本并后台更新,提升响应速度。`immutable` 适用于带指纹的静态资源,确保长时间缓存并避免不必要的再验证。API 响应治理export const runtime = 'edge'

export async function GET() {

const body = JSON.stringify({ list: [1, 2, 3], ts: Date.now() })

return new Response(body, {

headers: {

'Content-Type': 'application/json; charset=utf-8',

'Cache-Control': 'public, max-age=60, stale-while-revalidate=300',

},

})

}

指纹静态资源治理export const runtime = 'edge'

export async function GET() {

const buf = await fetch('https://cdn.example.com/app.abc123.css').then(r => r.arrayBuffer())

return new Response(buf, {

headers: {

'Content-Type': 'text/css; charset=utf-8',

'Cache-Control': 'public, max-age=31536000, immutable',

},

})

}

治理建议`stale-while-revalidate` 时段不宜过长,避免陈旧数据影响一致性;结合条件请求(ETag/Last-Modified)提升新鲜度协商效率。只有指纹化资源(内容变更会更换文件名)适合使用 `immutable`,避免对非指纹资源误用导致用户拿到过期内容。结论在 Next.js 15 的 Edge Route Handlers 中通过精细化的 Cache-Control 策略,可在保证数据一致性的同时显著提升性能与带宽利用率。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部