看下面的图片,你可以看到我的应用程序中有很多javascript和css。 javascripts and css in my app http://i42.tinypic.com/zuiazk.jpg;缓存Javascript文件和CSS中的ZEND
ZEND框架中有没有一种方法可以缓存所有这些,以便页面不会加载所有这些样式表和脚本?
看下面的图片,你可以看到我的应用程序中有很多javascript和css。 javascripts and css in my app http://i42.tinypic.com/zuiazk.jpg;缓存Javascript文件和CSS中的ZEND
ZEND框架中有没有一种方法可以缓存所有这些,以便页面不会加载所有这些样式表和脚本?
这个问题不是真的不是Zend Framework问题。这是关于如何指导客户端(网页浏览器,很有可能)缓存内容,以便下次需要它时,不需要请求它,服务器也不必传送它。
这通常是通过从服务器向客户端发送缓存头来完成的。您需要发送的精确标题取决于您希望浏览器缓存多长时间。 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
目录中的任何内容时,您都希望所有客户端都请求新内容,而不是重新使用缓存的内容。通过附加一个查询字符串来更改请求资源的URL - 例如从http://example.com/assets/js/myscript.js
改为http://example.com/assets/js/myscript.js?v=20120223
- 会强制一个新的加载。
“cache”是什么意思,“ZEND中的一种方式”是什么意思?您可以让您的Web服务器指示客户端缓存文件。 ZEND是一家公司;目前还不清楚你所谈论的是哪些产品。 – 2012-02-23 01:37:59
感谢您的评论.. *更新我的问题* – rjmcb 2012-02-23 02:09:21