在ZEND中缓存Javascript文件和CSS

时间:2012-02-23 01:02:08

标签: javascript css zend-framework caching

查看下面的图片,您可以看到我的应用程序中有很多javascript和css。 javascripts and css in my app http://i42.tinypic.com/zuiazk.jpg;

ZEND框架中是否有一种方法可以缓存所有这些内容,以便页面不会加载所有这些样式表和脚本?

1 个答案:

答案 0 :(得分:2)

问题实际上不是Zend Framework问题。它是指导客户端(很可能是一个Web浏览器)将内容缓存在其一侧,以便下次需要时,它不必请求它,服务器也不必提供它。 / p>

这通常通过从服务器向客户端发送缓存头来实现。您需要发送的精确标头取决于您希望浏览器缓存多长时间。 Google搜索会向您展示这些内容。

在“标准”Zend Framework应用程序中,这些外部javascript和css资源位于应用程序的public文件夹中,并由Web服务器直接提供。 Zend Framework甚至从未接触过它们。因此,发送这些缓存头的方法不依赖于Zend Framework,而是依赖于您的Web服务器。

例如,在Apache中,如果你有mod_expires模块,可以指示Apache本身发送正确的缓存头。将此类内容添加到.htaccess目录中的public/assets

ExpiresDefault "access plus 1 month"

有关详细信息,请参阅mod_expires documentation

当然,当您更新该public/assets目录中的任何内容时,您将希望所有客户端都请求新内容,而不是重新使用缓存的内容。通过附加查询字符串来更改所请求资源的网址 - 例如从http://example.com/assets/js/myscript.js更改为http://example.com/assets/js/myscript.js?v=20120223 - 将强制重新加载。