阅读约 13 分钟
HTTP 重定向状态码详解:301、302、303、307、308 等
详解每个 3xx 状态码的含义:从是否永久、是否保留请求方法、缓存和 SEO 影响 4 个方面对比 301、302、303、307 和 308 跳转,并附 nginx、Apache 和 PHP 配置示例。
阅读全文免费重定向工具
每一次重定向,都会让访问者在真正的页面加载之前多等一次往返。通过耗时瀑布图,准确查看重定向链中每一跳花了多长时间。
Cloudflare 边缘网络始终会验证证书,因此该选项无法跳过证书验证。证书问题会在检测结果中报告。
随第一个请求发送,最大 16 KB。除非设置了 Content-Type 请求头,否则 JSON 请求体以 application/json 发送,其他内容以表单形式发送。
可设为 1~50。浏览器会在 20 跳后停止。
网站可能会把手机、搜索引擎爬虫和链接预览爬虫重定向到不同的地址。
随重定向链中的每个请求一起发送。
未添加自定义请求头。
填写值后才会发送此请求头。请求头的值不会保存。
跟踪 HTML 页面中的 <meta http-equiv="refresh"> 标签和 Refresh 响应头。
跟踪页面脚本中简单、无条件的重定向,例如 location.href = "…"。
设置会保存在此浏览器中,但 Cookie、请求头的值和 POST 请求体始终不会保存。
一次重定向就是一次完整的额外请求。浏览器必须查询下一个主机名、建立连接、为新域名协商 TLS 并等待服务器响应,然后才能请求页面本身。同一主机名上的一跳可能只需几十毫秒,而一条经过短链接服务、跟踪域名和 HTTP 到 HTTPS 规则的重定向链,很容易就会增加半秒甚至更多,在移动网络上尤其如此。
重定向时间发生在所有其他环节之前,因此会直接计入 Time to First Byte(TTFB,首字节时间)和 Largest Contentful Paint(LCP,最大内容绘制)。正因为如此,Lighthouse 和 PageSpeed Insights 会对主文档上的重定向发出警告。
对于每一跳,TrueURL 测量从发出请求到收到响应头所用的时间。需要建立新连接时,其中包括 DNS 查询以及 TCP 和 TLS 连接建立的时间,再加上服务器的处理时间,但不包括下载页面正文的时间。瀑布图按顺序显示各跳,最慢的一跳一眼就能看出来。
测量是在执行检测的 Cloudflare 数据中心(通常是离您最近的那个)进行的,而不是在您的设备上。结果反映的是每台服务器的响应速度,而真实访问者在每一跳上还要加上自己的网络延迟。多次运行可以减少偶然波动:第一次运行可能包含 DNS 缓存尚未预热和新建连接的时间,之后的运行通常更接近稳定状态。
以下仅供粗略参考,也是 TrueURL 为每一跳耗时着色所用的标准:
最有效的优化方法是彻底去掉多余的跳。其次,要尽可能在离访问者近的地方响应重定向:CDN 或边缘规则的响应速度,远远快于仅为了发送一个 301 就必须启动的应用程序。
阅读约 13 分钟
详解每个 3xx 状态码的含义:从是否永久、是否保留请求方法、缓存和 SEO 影响 4 个方面对比 301、302、303、307 和 308 跳转,并附 nginx、Apache 和 PHP 配置示例。
阅读全文这取决于服务器和距离,但每一跳都是一次完整的往返:同一主机名上的边缘重定向通常需要几十毫秒,而重定向到新域名或来自缓慢应用程序的重定向则需要几百毫秒。移动网络还会增加更多延迟。在上方测量自己的重定向链,就能知道具体数值。
TrueURL 从 Cloudflare 数据中心进行测量,它与目标服务器之间的连接通常比您的设备更快。浏览器还可能复用连接、借助 HSTS 跳过某次重定向,或者使用缓存的 301。这些数值适合用来比较各跳,而不能精确预测每位访问者的实际体验。
对某个主机名的第一次请求通常包括 DNS 查询以及新建 TCP 和 TLS 连接,而同一主机名上的后续各跳可能会复用其中的部分工作。如果慢的是后面的某一跳,请查看那台服务器为生成重定向做了哪些处理。
如果想得到可靠的数据,就需要。单次测量结果会随网络状况和服务器负载而波动。多运行几次,看典型值,而不是某一个异常值;第一次运行预热的缓存,往往会让之后的运行更快。
会间接影响。对于经由重定向到达的访问者,重定向时间会计入 Time to First Byte 和 Largest Contentful Paint,而 LCP 是 Google 核心网页指标(Core Web Vitals)之一。在大型网站上,缓慢的重定向还会减少爬虫在同样时间内能够抓取的页面数量。
不是。它只是收到该跳响应头之前的时间。最终页面之后还要下载 HTML、样式、脚本和图片,因此重定向时间是叠加在正常加载之上的额外延迟。