限制页面中的服务器请求

时间:2011-05-25 13:11:50

标签: php javascript html css httpwebrequest

我认为每个人都会遇到这个问题。在我的页面中,我使用jQuery,jQuery UI和许多插件,通常所有这些插件(包括UI)都有自己独立的CSS。此外,我习惯按照不同文件中的模块分离我的CSS。

所以,现在每当我加载一个页面时,它都会向服务器请求包含stylesscripts的至少30个额外资源,不要忘记includesrequires的PHP。在速度较慢的PC中(据此我说的是1GB Ram的系统,我认为这应该足够了)我发现我的页面甚至在本地服务器上都很慢。

现在这真的是不可接受的,我需要认真解决这个问题。

4 个答案:

答案 0 :(得分:1)

如果网站对最终用户来说很慢,那么您需要找出具体原因。

  • 您可以衡量服务器端执行的时间 - 这可能是一个瓶颈。
  • 服务器的整体延迟可能是另一个瓶颈。
  • 您可以衡量客户端执行的时间长度 - 如果您注意到客户端性能下降,这很容易成为瓶颈。

削减不必要的Javascript数量以及你所包含的那种东西。如果您注意到客户端上的性能下降,则可能是导致问题的Javascript。你需要整个JQuery库吗?你用的全部吗?插件怎么样?

您的服务器是如何配置的?您是否正在使用PHP缓存?

您可以将CSS从文件加载合并为一个吗?你需要全部吗?

您还应该考虑使用require和include,因为它们会影响性能。

答案 1 :(得分:1)

呀。明确地。在绩效和模块化之间始终存在平衡。提供给客户端的理想xhtml可能包含css资源的单个组合和缩小版本,并且js资源也相同,但在开发过程中使用它会很糟糕。

我要做的就是使用在重启操作期间在部署服务器上运行的脚本,该操作执行xpath查询以查找视图模板中的所有css引用。然后它知道在服务器上找到它们的位置,找到它们,然后组合成一个,缩小它们并在文件系统上保存单个组合文件。然后,该脚本将视图模板重写为仅引用此单个资源。这很好,因为您不必在开发过程中考虑它,但仍然可以在部署时获得性能。我还没有解决未使用的css引用的问题....

你可以看一下mod_pagespeed:

http://code.google.com/speed/page-speed/docs/module.html

答案 2 :(得分:0)

您混合了不同的内容:includesrequires不会导致其他请求,也不会明显减慢您的网页速度。

除此之外,您的页面是否会变慢(可能是javascript过多?)还是加载速度慢(请求太多?)。在第二种情况下,首先要做的是在一个css和一个js文件中组合不同的css和js文件。

答案 3 :(得分:0)

为CSS和JS尝试GZIP压缩。您只需要几个htaccess文件,它会在浏览器中加载时压缩整个网站中的所有css和js。