文档请求延迟时间

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 压缩
开发者工具报告文档请求正在使用 gzip 压缩

针对特定堆栈的指南

此数据分析还针对使用以下技术的网页提供特定于堆栈的指导:

WordPress

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

Drupal

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

回应

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

Joomla

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

Magento

资源