2014-03-12 29 views
0

当HTML需要加载JavaScript或CSS时,我使用Minify来减少http请求。不过,我想进一步减少http请求。
现在的问题是:如何在HTML文档加载JS或CSS时使用PHP减少http请求?

<?php 
header('Content-Type:Application/x-javascript;Charset=utf-8'); 
echo '<script src="text/javascript>'; 
foreach ($files as $file) { 
    echo file_get_contents(); 
} 
echo '</script>'; 
?> 

有什么用<script>标签和PHP输出之间的差别:使用PHP这样的输出内容是否有必要?

任何答案将有帮助,谢谢!

+0

如果是同一个网站内,则你可以这样做。 我在网站上使用它的一种方法是缩小所有CSS,并在标签中输出实际页面。这将HTTP请求减少为1.这是动态发生的,并且被缓存,直到CSS文件发生更改。 –

+3

我不知道你想问什么,但'application/javascript' mime类型多年来一直没有实验过(摆脱'x-'),JavaScript文件应该包含JavaScript而不是位HTML。 – Quentin

+0

@Quentin,谢谢!我感到困惑的是,当HTTP请求“获取”JavaScript或CSS文件时,是否使用PHP输出内容? –

回答

0

看一看Expiration Headers。使用这种方法您的客户端(浏览器)将加载JS/CSS文件仅适用于第一次,然后将其保存在高速缓存

示例如何使用.htaccess文件做到这一点: https://github.com/h5bp/html5-boilerplate/blob/dac15682b35ad69f519205e1b82694d0cab189ca/.htaccess#L192

记住,当客户端将文件存储在缓存中时,即使您更改了此文件中的内容,它们也不会再次发送该文件的请求,直到它过期为止。最好的办法是附加的东西,当你改变他们每一次文件名,例如:

<script src="path/to/js/file.js?t={TIMESTAMP}" type="text/javascript"> </script> 

其中{TIMESTAMP}是最后部署的时间戳/文件修改

相关问题