单个大缓存能力CSS与页面特定的小CSS片段

时间:2013-01-25 23:41:51

标签: php css caching latency minimize

现在我的CSS文件看起来像这样:

CSS files

然后我有一个看起来像这样的php片段:

<?php $Compress->folder(Configuration::get('Public').'/style/',
                        '.css',
                        Configuration::get('Public').'/style.css'); ?>

这最小化了目录public_html/style/中存储的所有css文件(如图所示),并在名为style.css的目录/public_html/中创建了一个文件。它仅在需要时运行,尽管在开发过程中始终如此。

然后我只包括大文件:<link rel="stylesheet" href="http://newfutureuniversity.org/style.css" type="text/css" media="screen" >

我专注于php开发,现在我实际上开始开发网站的设计,并希望优化它。据我了解,用户下载的文件越少,文件越小越好(因此我的加入和最小化类)。然而,当页面特定的CSS文件很少时,这就提出了另一个问题。为什么我的主页必须加载表单CSS文件?还是形成主页一?据我所知,有三个主要选择:

1。第一次下载所有内容。

用户第一次访问该网站时,他会下载整个最小化的css文件。第一次它会很慢,但每次访问它会更快。它也更容易配置。

2。首次下载公共代码,然后下载特定于页面的代码。

每次访问都有中等速度;第一个稍慢,然后下一个稍微快一点,但仍然不是最好的。第一次用户下载2个文件,并缓存公共文件以供下次访问。

3。每个页面都有不同的CSS文件。

每个页面的CSS是所需的CSS加上特定的页面,因此它不能存储在缓存中。比第一次更快,但后来慢了。


我只是猜测它取决于用户访问了多少页面以及页面特定代码的数量。如果普通用户访问1或2页,您需要第2或第3选项。但是,如果用户访问了您网站的20或30页,那么您需要第1个选项。

那么,哪种方法对服务器负载和用户延迟都更好?为什么?我正在处理的页面需要很小,因为预计会进行移动访问和远程位置访问。

2 个答案:

答案 0 :(得分:3)

就个人而言,下载一个大型CSS文件比发出多个HTTP请求更可取,特别是如果您的网页是通过浏览器查看的,该浏览器每个域只允许两个同时的HTTP请求。另外,样式表将被缓存以用于后续请求。

答案 1 :(得分:0)

我想第一次下载所有内容,我的论点是:

  • 即使是一个大的(> 50KB)CSS文件也不会损害您的浏览器,通过适当的缩小和压缩,它可以减少到大约15KB
  • 您/我们可能已经包含更大的文件(jQuery未经压缩的未压缩:~70KB)并且您/我们不会抱怨