Php 如何减少HTTP请求?

Php 如何减少HTTP请求?,php,javascript,html,css,joomla2.5,Php,Javascript,Html,Css,Joomla2.5,我分析了我的站点,发现我的HTTP请求数量少的成绩为F级,描述如下: 此页面有6个外部Java脚本。尝试将它们组合成>一个。此页面有3个外部样式表。尝试将它们组合成>一个。此页面有18个外部背景图像。尝试将它们>与CSS精灵组合 我怎样才能发烧? 如何使用CSS精灵组合图像?它们是什么 图像精灵是放入单个图像中的图像集合。A. 包含许多图像的网页可能需要很长时间才能加载和生成 多个服务器请求。使用图像精灵将减少数量 减少服务器请求的数量并节省带宽 要使精灵选中此选项 针对您的javascript

我分析了我的站点,发现我的HTTP请求数量少的成绩为F级,描述如下:

此页面有6个外部Java脚本。尝试将它们组合成>一个。此页面有3个外部样式表。尝试将它们组合成>一个。此页面有18个外部背景图像。尝试将它们>与CSS精灵组合

我怎样才能发烧? 如何使用CSS精灵组合图像?

它们是什么

图像精灵是放入单个图像中的图像集合。A. 包含许多图像的网页可能需要很长时间才能加载和生成 多个服务器请求。使用图像精灵将减少数量 减少服务器请求的数量并节省带宽

要使精灵选中此选项

针对您的
javascript
css
问题。您需要的是一个
压缩机
。如果你真的想按照说明去做的话。这是一个例子(有其他的选择,快速将有帮助)

但我个人在将所有脚本放在一个文件中时遇到问题。请记住,最好只添加页面实际需要的外部脚本

我建议使用
cdn
帮助加快静态文件的服务速度。谷歌有一项服务(),但上一次我检查了一下,它仍然是受邀请的(刚刚检查了一下,它是在
有限免费试用版上进行的)。另一种选择是

干杯

你在干什么

图像精灵是放入单个图像中的图像集合。A. 包含许多图像的网页可能需要很长时间才能加载和生成 多个服务器请求。使用图像精灵将减少数量 减少服务器请求的数量并节省带宽

要使精灵选中此选项

针对您的
javascript
css
问题。您需要的是一个
压缩机
。如果你真的想按照说明去做的话。这是一个例子(有其他的选择,快速将有帮助)

但我个人在将所有脚本放在一个文件中时遇到问题。请记住,最好只添加页面实际需要的外部脚本

我建议使用
cdn
帮助加快静态文件的服务速度。谷歌有一项服务(),但上一次我检查了一下,它仍然是受邀请的(刚刚检查了一下,它是在
有限免费试用版上进行的)。另一种选择是


干杯

您需要查看使这项工作更容易的预处理器。预处理器可用于javascript外部文件以及css(SASS等)。另一种选择是自己组合样式表,但这些程序会自动完成,有些程序还会缩小样式表以提高速度


至于精灵图像,根据您的图像,将它们放入精灵中可能是不现实的。它适用于图标和本质上很小的东西,但对于大背景图像等东西来说是一件麻烦事。我这么说的原因是,您每次都必须修改和调整精灵,而不是进行简单的CSS更改。这是一个基于您节省多少请求时间的成本/收益分析。

您需要查看使这项工作更容易的预处理器。预处理器可用于javascript外部文件以及css(SASS等)。另一种选择是自己组合样式表,但这些程序会自动完成,有些程序还会缩小样式表以提高速度


至于精灵图像,根据您的图像,将它们放入精灵中可能是不现实的。它适用于图标和本质上很小的东西,但对于大背景图像等东西来说是一件麻烦事。我这么说的原因是,您每次都必须修改和调整精灵,而不是进行简单的CSS更改。这是一个基于您节省多少请求时间的成本/效益分析。

将图像转换为
base64
还可以减少HTTP请求,如果您利用
gzip
或其他压缩方法,也可以帮助减少文件大小。不确定您在后端使用什么语言来编写网站代码,但是如果您使用的是PHP,下面的函数可能会有所帮助

<?php
# get base64 image and put into URL
$imgStr = base64_encode_image("img.jpg","jpeg");
echo "<img src='$imgStr'>";

function base64_encode_image($filename=string,$filetype=string) {
    # encodes an image in base64, returns formatted data
    $imgData = '';
    # check input is not null
    if ($filename) {
        # get path information
        $imgInfo = pathinfo($filename);
        # find out image extension
        $filetype = $imgInfo['extension'];
        # open and read image
        $imgbinary = fread(fopen($filename, "r"), filesize($filename));
        # convert binary image input into base64 encoding
        $imgData = 'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary);
        # return formatted string
        return($imgData);
    }else{
        return(FALSE);
    }
}
?>

对于CSS,正如其他人所建议的那样,除了预先组合CSS文件之外,缩小它也会有所帮助。例如,下面的代码连接所有相关的CSS文件,缩小它,然后将其添加到页面中(最好是在页眉中)


将图像转换为
base64
还可以减少HTTP请求,如果您利用
gzip
或其他压缩方法,也可以帮助减少文件大小。不确定您在后端使用什么语言来编写网站代码,但是如果您使用的是PHP,下面的函数可能会有所帮助

<?php
# get base64 image and put into URL
$imgStr = base64_encode_image("img.jpg","jpeg");
echo "<img src='$imgStr'>";

function base64_encode_image($filename=string,$filetype=string) {
    # encodes an image in base64, returns formatted data
    $imgData = '';
    # check input is not null
    if ($filename) {
        # get path information
        $imgInfo = pathinfo($filename);
        # find out image extension
        $filetype = $imgInfo['extension'];
        # open and read image
        $imgbinary = fread(fopen($filename, "r"), filesize($filename));
        # convert binary image input into base64 encoding
        $imgData = 'data:image/' . $filetype . ';base64,' . base64_encode($imgbinary);
        # return formatted string
        return($imgData);
    }else{
        return(FALSE);
    }
}
?>

对于CSS,正如其他人所建议的那样,除了预先组合CSS文件之外,缩小它也会有所帮助。例如,下面的代码连接所有相关的CSS文件,缩小它,然后将其添加到页面中(最好是在页眉中)



@Sohrab\u Y69您可以在这里查看如何完成
css精灵
或在这里@Sohrab\u Y69您可以在这里查看如何完成
css精灵
或在这里