# CloudFront Functions 与 Lambda@Edge 场景对比与实践 ## CloudFront Functions(超轻量 JS,低延迟) ```js function handler(event) { var request = event.request // 简单重写与 header 处理 if (request.uri === '/'){ request.uri = '/index.html' } request.headers['x-cf-func'] = { value: '1' } return request } ``` ## Lambda@Edge(Node.js,功能更强) ```js exports.handler = async (event) => { const req = event.Records[0].cf.request // 可访问更丰富的 API,适合鉴权、签名等复杂逻辑 req.headers['x-edge'] = [{ key: 'x-edge', value: '1' }] return req } ``` ## 场景建议 - Functions:轻量路由、Header 处理、URL 重写;延迟更低、成本更小 - Lambda@Edge:鉴权、签名与复杂计算;部署到 Viewer/Origin 事件 ## 缓存与策略 - 利用 `Cache-Control` 与变体键(如 `Vary: Accept-Encoding`)降低源站压力 ## 总结 结合两者能力与成本模型选择合适层级进行逻辑处理与缓存优化。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部