我一直在考虑一种方法,通过减少下载文件的数量来减少加载页面时完成的 HTTP 请求数量,但仍然保留服务器的单独文件。
想法是:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">@import url("../CSS/main.css.php") screen;</style>
<script type="text/javascript" src="../JS/main.js.php"></script>
</head>
<body>
</body>
</html>
在服务器端:
CSS/ foler :
- main.css.php
- main.css
- some_css1.css
- some_css2.css
JS/ folder :
- main.js.php
- main.js
- some_js1.js
- some_js2.js
main.css.php :
<?php
require('main.css');
require('some_css1.css');
require('some_css2.css');
?>
main.js.php :
<?php
require('main.js');
require('some_js1.js');
require('some_js2.js');
?>
这种导入文件的方式是否会缩短页面下载时间?服务器要求这些文件需要很长时间吗?下载时间的增加(如果有的话)是否大于服务器进行的额外计算造成的时间损失?我应该或不应该那样做的任何原因?
提前致谢:)
最佳答案
您可能通过减少 HTTP 请求获得的任何 yield 很容易被 PHP 脚本默认情况下不发送缓存友好 header (最后修改等)这一事实所抵消,因此用户最终将为每个页面下载这些文件他们在您的网站上查看。您也可以修改 PHP 脚本来处理 header ,但确实有更好的方法来执行此操作。
相反,我会考虑进行一次性作业,在部署时合并文件。另请查看对文件进行 gzip 压缩(如果您尚未这样做),并为静态文件发送过期 header ,这会完全删除后续页面请求中的 HTTP 请求。
关于php - 需要将 css/js 文件放入 PHP 以减少 HTTP 请求数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11708260/