2017-02-24 27 views
0

登录页面的页面加载时间本身是761ms。当我检查时,CSS文件的等待时间很长。我能做些什么来缩短等待时间? enter image description here服务器上CSS文件的高等待时间。如何减少它?

+0

包括页面或头底部的CSS? –

+0

@PraveenPuglia css在头 –

+0

认为最初的标记交付是第一个0.2秒。正确的时候收到文件,所有的css请求都被解雇了,这对我来说似乎是正确的。这可能是您需要减少的标记交付时间。 CSS做得很好。 –

回答

0

您将从此得到一个想法[Facebook的管道a.k.a BigPipe]

CLIENT

  1. 浏览器发送一个HTTP请求到Web服务器。
  2. Web服务器解析请求,从存储层中提取数据,然后 制定一个HTML文档并通过HTTP 响应发送给客户端。
  3. HTTP响应通过Internet传输到浏览器。
  4. 浏览器解析来自Web服务器的响应,构造DOM树 表示HTML文档,并下载CSS和文档引用的JavaScript资源。
  5. 下载CSS资源后,浏览器解析它们并将它们应用到DOM树。
  6. 下载JavaScript资源后,浏览器解析并执行它们。

SERVER

  1. 请求解析:Web服务器解析并健全检查HTTP 请求。
  2. 数据获取:Web服务器从存储层获取数据。
  3. 标记生成:Web服务器为 响应生成HTML标记。
  4. 网络传输:将响应从网络服务器传输到 浏览器。
  5. CSS下载:浏览器下载页面所需的CSS。
  6. DOM树构造和CSS样式:浏览器构造DOM树 的文档,然后在其上应用CSS规则。
  7. JavaScript下载:浏览器下载页面引用的JavaScript资源 。
  8. JavaScript执行:浏览器执行页面的JavaScript代码。

这是他们为提高速度而实施的Facebook管道背后的想法。

在短期

  • 页面拆分到多个div的
  • 负载的基本布局和加载JavaScript文件。
  • 在该JavaScript文件中,添加所需的JS和CSS文件名,然后使用DOM或使用XHR动态添加它,将响应文本添加到主页面。
  • 通过使用这个,基本页面将被加载,并在1或2秒(如果它是一个更快的连接),实际的页面将被加载。

你可以阅读更多关于Facebook管道Here

+0

可以尝试做到这一点。但在登录页面上几乎没有可以拆分的组件。该页面本身需要很长的加载时间 –

+0

如果您想要 –

+0

,那么您也可以将其拆分,其中只有一个登录表单。没有其他组件。 –

相关问题