Web 性能既直接关系到用户体验,也直接关系到搜索排名,是十分重要的指标,而短链接的重定向处理正是性能优化中最容易被忽视的瓶颈。根据 Google 的调查,移动页面的加载时间从 1 秒增加到 3 秒时,跳出率会上升 32%,达到 5 秒时更会飙升至 90%。经由短链接的访问会产生两个阶段的通信:用户的浏览器首先连接到短链接服务的服务器,接收重定向响应,然后再连接到重定向目标的服务器。这一额外的往返通信 (round trip) 必然会增加页面显示所需的时间。根据 HTTP Archive 在 2025 年 3 月的数据,包含重定向的页面请求,其延迟中位数比不含重定向的请求长 310 毫秒,在移动环境下更是产生了 480 毫秒的差距。
重定向链的层数对性能的影响并不与层数成正比,而是随着层数增加而加速恶化。在 1 层重定向 (短链接到最终 URL) 的情况下,额外延迟相当于 DNS 解析加 TCP 连接加 TLS 握手加 HTTP 响应各一套,大致为 100 到 300 毫秒。但在 2 层重定向 (短链接到中间 URL 再到最终 URL) 的情况下,除了两套通信之外,浏览器的重定向处理开销还会累积,额外延迟可达 250 到 700 毫秒。一旦到了 3 层以上,就会接近 Chrome 和 Safari 的「重定向循环检测」功能被触发的阈值,浏览器会插入额外的验证处理,延迟因此进一步增大。Akamai 的 2024 年性能报告指出,重定向达到 3 层以上的请求中有 12% 以超时或错误告终。使用短链接时,把重定向链的总层数控制在 2 层以内是铁则。
对 Core Web Vitals 的影响,在 LCP (Largest Contentful Paint) 与 INP (Interaction to Next Paint) 这两个指标上尤为明显。LCP 是衡量页面主要内容显示所需时间的指标,Google 把 2.5 秒以内定义为「良好」。由于短链接的重定向处理发生在 LCP 开始计测之前,重定向的延迟会原封不动地加到 LCP 的数值上。也就是说,如果重定向耗费 500 毫秒,即使重定向目标页面在 2.0 秒就达成了 LCP,用户体感到的 LCP 也会变成 2.5 秒,正好卡在「良好」的阈值边缘。对 INP 的影响是间接的,但重定向处理过程中存在浏览器主线程被阻塞的情况,重定向之后用户操作的响应有可能出现延迟。建议定期分析 Google Search Console 的数据,确认经由短链接的流量与直接访问的流量在 Core Web Vitals 的数值上是否存在显著差异。
优化重定向性能的技术手段有多种。第一是引入边缘重定向。如果在 CloudFront、Cloudflare Workers、Fastly Compute@Edge 等 CDN 边缘执行短链接的重定向处理,重定向响应就会从离用户最近的边缘节点返回,从而消除到源服务器的往返通信。边缘重定向的平均延迟为 10 到 30 毫秒,与在源服务器上重定向 (100 到 300 毫秒) 相比快了一个数量级。第二是恰当选择 HTTP 状态码。使用 301 (永久重定向) 时,浏览器会缓存重定向目标,第二次以后的访问不再产生重定向的往返通信。而 302 (临时重定向) 不会被缓存,因此每次都会产生重定向的往返通信。请对重定向目标固定的短链接使用 301,对重定向目标可能变更的短链接使用 302。第三是活用 DNS 预取。事先用 `<link rel="dns-prefetch" href="//example.com">` 解析短链接的重定向目标域名,就能削减重定向时的 DNS 解析时间 (通常为 20 到 120 毫秒)。
对重定向链的监控与计测,是性能优化中不可缺少的持续工作。虽然在 Chrome DevTools 的 Network 面板中可以确认重定向的层数与延迟,但在大规模运营中需要自动化的监控。请把 Lighthouse CI 纳入部署流水线,定期执行包含经由短链接访问的性能测试。如果建立起重定向延迟超过阈值 (建议为 200 毫秒) 时发出警报的机制,就能及早发现性能劣化。引入真实用户监控 (Real User Monitoring, RUM) 工具 (Google Analytics 4 的 Web Vitals 报告、New Relic Browser、Datadog RUM 等) 之后,就能持续计测真实用户环境下的重定向性能,并可按地区、设备、网络环境进行详细分析。