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