php - 需要将 css/js 文件放入 PHP 以减少 HTTP 请求数

标签 php javascript css performance import

我一直在考虑一种方法,通过减少下载文件的数量来减少加载页面时完成的 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/

相关文章:

javascript - 如何从Kinvey获取所有用户

html - 透明形状,上 Angular 有箭头

php - 将 mysql DB 时间戳转换为 PHP touch 的 int 时间

php - $_SERVER ['REMOTE_USER'] 是否被视为 'safe' ?

javascript - 下拉菜单中的 ng-change 指令会影响另一个 HTML 元素的类

javascript - jQuery 尚未准备好,但仍在实例化

css - 不确定如何为我的导航栏修复我的 css

javascript - 根据数据库中的值动态设置背景颜色

javascript - 延迟点击事件直到 AJAX 完成

PHP不打印MySQL图像