顶部右侧 | 自行修改 西安网站推广
当前位置:网站首页 > SEO技术 > 正文

base64:URL背景图片与web页面性能优化

seo秀 2019-05-25 82 浏览 0 评论

一、base64百科,Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。,某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什么?,

一、base64百科

Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,可用于在HTTP环境下传递较长的标识信息。

某人: 唉,我彻底废柴了,为何上面明明是中文,洒家却看不懂嘞,为什么?

好吧,我也不喜欢专业术语的解释。你只要知道,base64编码就是长得像下面这样子的代码:

thunder://QUFodHRwOi8vd3d3LmJhaWR1LmNvbS9pbWcvc3NsbTFfbG9nby5naWZaWg==

上面代码大家都熟悉吧,迅雷下载链接哦(咳咳,该地址很纯洁),就是base64编码后的地址,所以以后看到这种:一堆连续字母,最后有1~2个“=”的代码就是base64。

base64:URL就是URL地址是base64编码的。

例如下面这个:

<img src="data:image/gif;base64,R0lGODlhAwADAIABAL6+vv///yH5BAEAAAEALAAAAAADAAMAAAIDjA9WADs=" />

二、base64与文件数据编码

在网络中,通过HTTP传输的文件还可以通过base64对数据进行编码进行传输。就如上面的这个base64的gif格式图片。当然,可以base64编码的文件不仅仅是图片,也可以是字体文件,例如(中间有缺省):

@font-face{

font-family: forTest;

src:url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAh4 ... RFERuENEGADl7JlY=) format('woff');

}

自然,对于background-image图片,我们也可以使用base64编码进行传输,例如:

background-image:url(data:image/gif;base64,R0lGODlhBAABAIABAMLBwfLx8SH5BAEAAAEALAAAAAAEAAEAAAICRF4AOw==);

而使用base64编码作为background-image图片就是本文要着重阐述的。

三、如何获得图片的base64编码

其实在我之前“基于HTML5的可预览多图片Ajax上传”以及“zSlide-基于CSS3/HTML5演示文档jQuery插件”实际上就与图片的base64编码的获取打过交道了。如下本地图片转换成可预览的base64编码的核心脚本:

var reader = new FileReader(), htmlImage;

reader.onload = function(e) {

htmlImage = '<img src="'+ e.target.result +'" />'; // 这里e.target.result就是base64编码

}

reader.readAsDataURL(file);

上面说的你只需要了解,实际上,目前base64编码工具不少,对于我们前端制作,下面这个本地图片 base64编码获取页面是值得推荐的:Encode Data URL By PuterJam

直接将桌面图片拖到条条里就有了响应的background-image url属性可用的base64地址了:

该转换页面的原理就是上面所说的HTML5 文件本地预览原理,具体可以自己查阅资料。

四、使用base64:URL的优缺点

个人觉得base64:URL传输图片文件的好处在于:

1.减少了HTTP请求

2.某些文件可以避免跨域的问题

3.没有图片更新要重新上传,还要清理缓存的问题

不足在于:

1.浏览器支持

使用base64编码图片作为背景图片的这种技术IE6/IE7浏览器是不支持的(IE9浏览器IE7模式下支持,这里被@前端的那点破事鄙视了 )。对于目前PC页面,兼容性问题使没有文件上传以及无需更新缓存的优点不存在了。

2.增加了CSS文件的尺寸

base64编码图片本质上是将图片的二进制大小以一些字母的形式展示,例如一个1024字节的图片,base64编码后至少1024个字符,这个大小会被完全嵌入到CSS文件中(不过幸运的是也可以被gzip了,而图片文件被gzip效果不明显)。

3.编码成本

图片完成后还需要base64编码,目前估计手工完成的多,因此,增加了一定的工作量,虽然不多。

相关推荐

让客户对你网站产生兴趣的办法!
让客户对你网站产生兴趣的办法!

大家好,欢迎来到西安蓝蜻蜓网络科技讲坛,今天我们讲述的是跟我们企业息息相关的话题,也是我们很多企业目前最头疼的问题,就是如何让客户对我们的企业或者个人网站产生兴...

6天前 小杨seo

中小型企业在网络营销上需要注意的问题
中小型企业在网络营销上需要注意的问题

众所周知,随着现在互联网的发展和进步,越来越多的企业包括个人都加入了互联网这个庞大的信息体系中,我们通过互联网也了解很多企业的成长及产品信息,从而完成产品上的交...

6天前 小杨seo

西安网络推广和线下推广的区别
西安网络推广和线下推广的区别

大家好,欢迎来到西安蓝蜻蜓网络讲坛,今天我们所讲的是,有关于我们企业线上和线下推广的共同点和不同点这方面的话题。随着互联网的进步,越来越多的企业入驻了互联网,同...

6天前 小杨seo

seo诊断费用有哪些方面?
seo诊断费用有哪些方面?

大家好,欢迎来到西安蓝蜻蜓网络讲坛,今天我们所讲述的是SEO诊断,什么是SEO诊断?SEO诊断是从哪几个方面诊断的?SEO诊断需要多少费用?一、什么是SEO诊断...

6天前 小杨seo

企业官网首页优化seo技术 优化知识有哪些!
企业官网首页优化seo技术 优化知识有哪些!

seo是搜索引擎优化的意思,那么大家seo技术有哪些吗?优化知识有哪些呢?新型黑帽技术包括有哪些呢?下面宝丞网给大家介绍一下关于seo技术的相关内容,有需要的朋...

6天前 seo秀

SEO技术,快速让你变成seo高手,干货需要收藏
SEO技术,快速让你变成seo高手,干货需要收藏

前言:本篇培训直击SEO精髓,为什么只打算用一节课讲SEO?因为SEO本身没有那么高深的东西。互联网知识泛滥成灾的原因主要是培训机构惹的祸。为什么学SEO?排名...

6天前 seo秀

SEO技术大全:SEO技术之经典30个白帽技术
SEO技术大全:SEO技术之经典30个白帽技术

SEO技术之经典30个白帽技术SEO技术之经典30个白帽技术,对于网络推广的人来说,如何让搜索引擎搜索到你的网站及让你的网站能在主流的搜索引擎上有良好的排名一直...

6天前 seo秀

网站优化SEO技术
网站优化SEO技术

大家日日都在用网站优化,SEO技术,日日不停的在做网站内容更新,外链制作等等,但是网站优化真的就仅仅是如此吗?为的是网站排名?网站流量还是网上营销额?也想问问我...

6天前 seo秀

什么是SEO高级技术?SEO教程教你如何运用
什么是SEO高级技术?SEO教程教你如何运用

今天SEO教程要介绍的是SEO站内优化的五大核心。主要包括:网站标题的写法,原创文章以及如何写原创文章,网站更新设置,网站全站链接,四处一词等相关内容。  第一...

6天前 seo秀

SEO是什么?SEO技术都包含哪些方面?

SEO是什么?百度百科上的解释如下:图一:什么是SEO简单的来说,就是通过优化手段来提升网站的排名。我们来举个例子说明一下,例如在百度搜索框中搜索SEO,如下图所示。图二:SEO的搜素结果我们看到,百...

取消回复欢迎 发表评论: