什么是加载时间更重:css或php请求?

时间:2010-06-30 17:00:32

标签: php css wordpress-theming pagespeed load-time

我正在使用cms(Wordpress)并且我在每个页面上加载了一大堆外部样式表,尽管这些样式表中的一些是特定于页面的。总的来说,我从Yslow和Page Speed获得了不好的分数,所以我正在考虑添加一些php条件,告诉浏览器只在必要时加载页面特定的css文件。但是,我想知道我是否真的会减少加载时间,因为我将为浏览器添加更多PHP请求。

7 个答案:

答案 0 :(得分:3)

你应该只有1(2个)全局CSS文件

之后,如果您需要特定于页面的CSS,则可以使用另一个1或2

不要将PHP文件加载为CSS,因为启动PHP解释器的行为比提供静态CSS文件要强几百倍。因此,在CSS中添加PHP条件并重命名.PHP不是答案

您可能想要调查的是将所有CSS文件合并为一个并使用特殊类来触发它们

例如,

,而不是这样做:

的main.css

body { background-color: black; color: white; }

MY-定制page.css

body { background-color: white; color: black; }

这样做:

的main.css

body { background-color: black; color: white; }
body.custompage { background-color: white; color: black; }

并在您想要该行为时将class =“custompage”添加到您的BODY元素

因为body.custompage有更多的限定符而不仅仅是body,它将具有更高的优先级并覆盖您之前的声明。你也可以做

.custompage a { color: red; }
.custompage p { font-weight: bold; }

然后你可以为你的所有页面进行一次相同的CSS调用

和浏览器缓存喜欢那个

答案 1 :(得分:1)

通过添加一些php条件,您不会为浏览器添加更多PHP请求。
老实说,PHP根本不向浏览器发出请求。

在PHP代码中添加一些条件将不会影响性能。但是将浏览器保存在不必要的CSS请求中 所以,当然会更好。

答案 2 :(得分:1)

在这种情况下,我不确定你的PHP请求是什么意思,虽然听起来你正在权衡PHP条件语句与浏览器请求的性能影响。

它几乎总是会产生更大的影响(实际上是一个更大的影响),以尽可能减少浏览器请求的数量。除非您的条件陈述非常复杂,否则可能会有数量级的差异。

在相对简单的网站(例如,不会产生大量服务器端网络请求或进行复杂的服务器端计算的网站)的情况下,大多数页面加载速度改进可以在客户端完成。我强烈推荐Steve Souders的书High Performance Web Sites以获取更多有关此事的信息。

页面加载分析器(例如,Firebug的“网络”选项卡或Safari / Chrome的“资源”选项卡)也将最终告诉您优化是否值得。虽然它们在技术上仅从浏览器的角度衡量性能,但也包括服务器处理和响应请求所花费的时间。如果对HTML文档的请求减慢(我怀疑它会),那么这可能是由于额外的PHP代码。我希望甚至可以消除一个不必要的样式表请求,这将远远抵消条件语句对性能的影响。

答案 3 :(得分:1)

将你所有的css汇总到一个css中。

+ - 2 kb不重要,但少了一个请求很重要。

csstidy可以胜任这项工作。

同样适用于javascript。对性能的巨大影响。

答案 4 :(得分:0)

这取决于您的服务器硬件,样式表的大小以及是否安装了任何操作码缓存PHP扩展(例如eaccelerator)。

但在大多数情况下,网络是一个主要的瓶颈,因此添加这些条件可能是一个好主意。

答案 5 :(得分:0)

这在很大程度上取决于网络人口统计。但是,网络几乎总是比CPU时间慢,所以如果你可以删除额外的HTTP请求,你会更好。

请记住,浏览器一次只能从一个给定的主机下载4个(或6个或8个)文件,因此如果您可以将CSS组合到一个文件中,那么它也会表现得更好。

答案 6 :(得分:0)

Google表示,90-95%的网页加载时间发生在客户端:YouTube