核心价值使用 `HEAD` 返回资源元信息,配合 `ETag/Cache-Control` 提供一致性与再验证信号。对 SEO 抓取与链接探测降低传输成本,提高站点响应效率。Route Handlerexport const runtime = 'edge'
async function strongETag(input: string) {
const data = new TextEncoder().encode(input)
const digest = await crypto.subtle.digest('SHA-256', data)
const bytes = new Uint8Array(digest)
let b64 = ''
for (let i = 0; i < bytes.length; i++) b64 += String.fromCharCode(bytes[i])
return `"sha256-${btoa(b64)}"`
}
export async function HEAD() {
const etag = await strongETag('posts-index-v1')
return new Response(null, {
headers: {
ETag: etag,
'Cache-Control': 'public, max-age=60, s-maxage=300, must-revalidate',
},
})
}
治理建议对目录页与静态数据提供 `HEAD`;对动态接口优先条件请求与 304 回应。仅返回必要头字段,避免冗余信息泄露。结论在 Next.js 15 中使用 `HEAD` 可提升抓取与探测效率,结合 ETag 与缓存策略实现一致性与成本优化。

发表评论 取消回复