文档请求延迟时间

Adam Raine
Adam Raine

发布时间:2025 年 3 月 27 日

网页的初始文档请求最重要,因为所有网络请求和网页内容都依赖于它。优化初始文档请求可提高性能。

此数据分析会检查的内容

该数据分析会检查以下任一情况是否影响了初始文档请求:

  • 导航请求被重定向了一次或多次。
  • 服务器响应请求所用时间超过 600 毫秒。
  • 响应未压缩。
开发者工具报告说,通过消除重定向,可以缩短文档延迟时间
Devtools 报告指出,通过消除重定向可以缩短文档延迟时间

避免重定向

重定向会降低网页加载速度。当浏览器请求已重定向的资源时,服务器通常会返回如下所示的 HTTP 响应:

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

然后,浏览器必须在新位置发出另一个 HTTP 请求才能检索资源。这种额外的网络传输可能会延迟资源的加载。

确保链接指向资源的当前位置。如果您使用重定向将移动用户转到网页的移动版,不妨考虑重新设计网站以使用自适应设计

缩短服务器响应时间

若要缩短服务器响应时间,第一步是确定服务器必须完成哪些核心概念任务才能返回网页内容,然后测量每项任务所需的时间。确定最长时间的任务后,找出加速这些任务的方法。

导致服务器响应缓慢的原因有很多,改进方法也有很多:

  • 优化服务器的应用逻辑,以加快网页准备速度。如果您使用的是服务器框架,该框架中可能会包含具体操作建议。
  • 优化服务器查询数据库的方式,或迁移到速度更快的数据库系统。
  • 升级服务器硬件,以增加内存或 CPU。
  • 使用 CDN 缩短网络延迟时间。如果文档可以缓存在 CDN 边缘节点,这种方法尤为有效。

如需了解详情,请参阅优化 TTFB 指南。

启用压缩

文本压缩可以缩减初始 HTML 文档的总大小。当浏览器请求资源时,它将使用 Accept-Encoding HTTP 请求标头指明它支持哪些压缩算法。

Accept-Encoding: gzip, compress, br, zstd

另请参阅优化基于文本的素材资源的编码和传输大小

您的服务器应返回 Content-Encoding HTTP 响应标头,以指明其使用的压缩算法。

开发者工具报告文档请求使用 gzip 压缩
DevTools 报告文档请求使用 gzip 压缩

特定于堆栈的指导

WordPress

  • 在 Web 服务器配置中启用文本压缩。
  • 选择一个轻量级主题(最好是区块主题),并实现全页缓存或静态网站解决方案。停用不必要的插件,以尽量减少服务器开销。
  • 考虑将托管服务升级为代管式服务或专用服务。

Drupal

  • 如果安装了 Redirect 模块,请检查并移除不必要的重定向。
  • 使用一个或多个 Drupal 缓存模块分流,例如 Internal Page CacheInternal Dynamic Page CacheBigPipe。将这些模块与 CDN 结合使用,以进一步缩短响应时间。您的托管服务器应使用 PHP OPcache。
  • 建议使用内存缓存(例如 Redis 或 Memcached)来缩短数据库查询时间。
  • 使用高性能主题、模块和更快的服务器,以缩短服务器响应时间。

回应

  • 如果您使用了 React Router,请尽量避免使用 <Redirect> 组件进行路径导航
  • 如果您在服务器端呈现任何 React 组件,不妨使用 renderToNodeStream()renderToStaticNodeStream() 来允许客户端接收并合成标记的各个不同部分,而不是一次性接收整个标记。

Joomla

  • 启用 Gzip 页面压缩设置(“系统”>“全局配置”>“服务器”)。
  • 模板、扩展程序和服务器规格都会影响服务器响应用时。建议您查找更优化的模板、仔细选择优化扩展程序或升级您的服务器。

Magento

资源