分享好友 最新动态首页 最新动态分类 切换频道
网站移动端网页打开速度教程 秒杀"百度闪电算法"
2024-12-25 11:56

最近一项研究表明:80%的网民对移动端的浏览体验感到失望,同时,当体验提升时,他们会在智能手机上花费更多的时间。

由于64%的智能手机用户希望网站可以在4秒内加载完毕,但一半的网站花费了二倍以上的时间,达到了9秒,所以,今天海瑶seo工程师就为大家介绍一些提高网站在移动端打开速度的方法技巧。

1、移动端用户的下载速度

让我们来研究下究竟是什么影响了智能手机上的网页加载速度,最明显的原因是智能机的网速,最佳情况下,移动端用户使用3G与4G上网。

在美国,57%的用户使用3G上网,27%的用户使用4G;在加拿大,4G用户更少;而在英国,4G还是新鲜事物。Pcworld的研究表明:在美国,3G平均下载速度为2mbps,4G则为6.2mbps;ofcom的研究显示,在英国3G的下载速度为2.1mbps;北美和欧洲以外的连接速度一般较慢;1mpbs可换算为122kb每秒,或者0.12mb每秒,因此以上的数据可以转换如下:

244 KB/s 3G用户平均网速值 (0.24 MB/s)

756 KB/s 4G用户平均网速值(0.76 MB/s)

如果把上述值乘以移动用户等待时间4秒,这意味着网站对于3G用户来说最大为1mb,而4G用户为3mb。

然而下载速度并不是瓶颈,网络延迟及智能机的内存与cpu才是瓶颈,即使手机可以在4秒内下载完1mb,页面也要花费更长的时间去加载,因为手机需要接收并解析代码与图片。

在桌面端,下载文件只占显示网站时间的20%,其余时间花费在解析http请求,获取样式表,脚本文件及图片上,由于移动端的cpu,内存与缓存跟桌面端完全无法相提并论,这些在手机上会花费更长的时间。

2、怎样减少加载时间

构建一个快速的网站,就是一个做出艰难决定与砍掉非核心体验的过程,如果某一项需求价值不大,去掉之,这个原则适用于所有开发阶段,尤其是规划和编码时。

减少依赖文件:更少的文件意味着更少的http请求与更快的加载时间。

降低图片大小:适应与调整高分辨率图片,在额外的下载时间中占居榜首,占用了宝贵的内存与处理资源。

减轻客户端负担:最佳实践是重新思考你的javascript,并使之降低到最小尺寸。

3、怎样减少依赖文件

如果你想为移动端用户隐藏图片,display:none与visibility:hidden是不能阻止文件下载的,测试下面的代码:

你可以观察下面的瀑布图,图片容器设置display: none或visibility: hidden后仍然会被下载。

替代方案是利用css加载背景图片,之后利用media query媒体查询来通过条件隐藏图片,这个技术最初被Jason grigsby测试过,之后被tim kandlec进一步拓展,亚马逊独立的移动端页面使用了此种技术,根据设备来条件加载特定的图片。

 

你可以看到图片不加载的瀑布图:

4、保持最小数量的外联样式表

如果你已经根据断点来加载分开的样式表,你需要仔细思考这样的做法了,我们测试了以下的代码:

你可以看到这四个样式表在竖屏下(portrait mode)都被加载了。

因此无论如何这些样式表都会被加载,你需要把这些文件合并在一个文件里,减少http请求。

另一种方法,你可以通过后端处理,通过判断设备来自动插入样式表 (这种方式在wordpress的响应式网站中使用过)。

另一种方案可以使用内部样式,亚马逊独立的移动产品页面有一个6KB大小的外部样式表,连同一些内部样式,这只需要通过一个额外的HTTP请求来下载所有的页面样式,亚马逊的桌面版本并不是很高效,带有9个外部样式表,总共40KB。

5、利用CSS3代替图片

圆角,阴影,渐变填充等,这些样式不需要使用图片,可以减少http请求,加快加载时间。

CSS3可以减少http请求,但增加了处理负荷,我们创建了一系列的html文件,每个文件包含一个基本的css3特性,参考下面的图表,你可以发现css3带来的处理时间很小,但不能不考虑,特别注意box-shadow对处理时间的影响最大。

6、DATAURI来代替图片与WEB字体文件

Data uri方案可以不使用任何额外资源就可以向html及css中插入内容,这个技术可以在web页面中插入任何内容,通常被用于插入图片及web字体文件,这个技术最大的好处是可以减少http请求。

Data uri使用很简单,你可以按照下面的格式,使用base64编码过的数据直接插入html与css中代替图片文件。

data:[MIME-type][;charset=encoding][;base64],[data]

举个例子,下面的小图标就是用data uri创建的:

代码在这:

Wordpress的响应式网站使用这个技术插入了图片及字体,波士顿环球报的响应式网站也使用了这个技术,他们的网站在智能手机上,四秒内就加载完毕了。

使用这项技术,从此不用为外部图片及字体文件劳心费神,也需要测试与比较是否值得应用这项技术来代替传统方式。

7、可缩放矢量图形(SVG)而不是图片

就像data URIs可缩放矢量图形(SVG)可以被嵌入到一个页面来减少HTTP请求数,例如,下面的图片是一个内联SVG:

这是代码:

width="17.812px" height="28.664px"

viewBox="296.641 381.688 17.812 28.664"

enable-background="new 296.641 381.688 17.812 28.664"

xml:space="preserve">

SVG文件可以通过一个矢量图形编辑器,如Adobe Illustrator创建,一旦创建,在文本编辑器中打开文件并把其代码拷贝出来(减去任何不必要的数据)。

上面的代码在HTML文件中会生效,但不会在样式表中生效,若在一个样式表中嵌入SVG文件,需要先将它转换为一个数据URI,如果这样做,我们需要从编辑器中(一定要包括元数据)拷贝出,用base64编码,然后使用以下格式嵌入样式表:

data:image/svg+xml[;base64],[data]

这是代码:

background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0i

MS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx

1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOi

A2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL

0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8x

LjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzE

iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Im

h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3a

WR0aD0iMTcuODEycHgiIGhlaWdodD0iMjguNjY0cHgiIHZpZXdCb3g9IjI5Ni42NDEg

MzgxLjY4OCAxNy44MTIgMjguNjY0Ig0KCSBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDI

5Ni42NDEgMzgxLjY4OCAxNy44MTIgMjguNjY0IiB4bWw6c3BhY2U9InByZXNlcnZlIj

4NCjxwYXRoIGZpbGw9IiNFRTFDNEUiIGQ9Ik0zMTQuNDI4LDQwMS4wODJjLTAuNDQzL

TUuNDg5LTUuMTQ2LTkuNTIyLTcuNTItMTQuMTg2Yy0wLjgxNi0xLjU5Ny0xLjM1Mi01

LjIwOC0xLjM1Mi01LjIwOA0KCXMtMC41NTUsMy43OTItMS4zODgsNS40MjVjLTIuMjM

zLDQuMzcxLTcuMTI3LDguOTk5LTcuNTA3LDE0LjA0N2MtMC4zNiw0Ljc5NCw0LjEwMS

w5LjE5MSw4Ljg5Niw5LjE5MQ0KCUMzMTAuNDksNDEwLjM1NCwzMTQuODE2LDQwNS45N

DEsMzE0LjQyOCw0MDEuMDgyeiIvPg0KPC9zdmc+DQo=);

8、Sprites图

Sprites(雪碧图)技术可以把经常使用的图片合成为一张图片,从而减少http请求,比如当你将四张图片合成到一个sprite中后,http请求从4减少到1,需要显示的图片利用background-position属性来控制。

9、字体图标

字体图标是利用字体文件来包含符号和图表(如Wingdings或Webdings 都是某种图标字体),可以用来代替加载一个图像文件,例如,下面的图标不是一个图像,而是Wingdings字体中的“h”字符:

Wingdings和Webdings有点过气了,现在有其他更专业的Web字体可用的,可以通过font-face加载。

单独的Web字体,对于所有图标来讲,HTTP请求的数量可以减少到一个,如果Web字体使用数据URI(如上所述)嵌入页面,HTTP请求可以减少到零,这正是WordPress使用的技术,这是他们样式表中嵌入的web字体:

WordPress访问所有这些图标,不会有任何额外的HTTP请求,因为图标通过数据URI,以Web字体的方式嵌入到WordPress的样式表中。

同时,字体图标可以使用CSS3关键帧动画(这很有用,比如“加载”图标(小菊花)),主要的缺点是,字体图标做成的CSS sprites只能是某个纯色,亚马逊的css雪碧图包括彩色图标,因此它不能使用这种技术。

如IcoMoon之类的工具可以很方便的建立一个自定义Web字体,所需要的只是每个图标的SVG文件。

10、避免内联iframe

每一个内联框架(iframe)都会生成一个HTTP请求,这是在iframe内没有另外依赖资源的情况下,这是我们做一个快速测试,比较一个iframe只含有文本。

包含一个iframe增加了将近0.2s的加载时间,为了保证web站点加载迅速,最好不要使用iframe。

11、移动先行

移动先行也适用于前端开发,编码时以移动用户作为第一考虑,然后为平板电脑和桌面逐步增强,减少不必要的依赖。

另外一种方式为桌面端优先,重型组件默认加载,然后为小屏幕隐藏这些组件(称为“优雅降级”)。

下面例子为桌面端优先的编码:

 

在上面的代码中,默认是显示图像,然后在移动设备上通过媒体查询隐藏了图片。

下面的例子为移动端优先的编码:

 

默认情况下,图片不显示,之后使用媒体查询对更大的屏幕进行渐进增强。

12、拆分到多个页面(单独的移动网站)

保持你的核心内容在页面上,之后提供到次要内容的链接到次要内容,这将减少HTML的加载负担,同时防止相关的资源被下载。

亚马逊的移动产品页面有通用的产品信息,同时提供链接到“用户评论”、“描述和细节”和“新&使用提供。

这就减少了三张图片的HTTP请求,且HTML的大小减少45KB。

13、保持最少重定向(单独的移动网站)

亚马逊有一个重定向,来引导游客到单独的移动页面,这带来了0.4秒的延迟,与之相比,戴尔的网站有两个重定向,带来了1.2秒延迟。

14、如何缩小图片尺寸

响应式图片的思路是让访客图像只下载那些最适合他们的设备的图片,对于智能手机,,使用低分辨率图像,可以快速下载和渲染。

亚马逊的独立的移动产品页面使用响应式图像技术,利用媒体查询分配一个特定的背景图像到一个div,这是亚马逊的代码:

尽管亚马逊在内部样式中有八个产品图片,在竖屏模式下的iPhone 4或Nexus S只有两个被下载。

《波士顿环球报》的响应式网站,采用了利用不同的data-fullsrc来加载图片的响应式图像技术,这是一个html标记和一个服务器端JavaScript重定向规则的组合:

src是手机上使用的图像,确保网站默认为尺寸较小的版本(移动先行),而data-fullsrc是全尺寸的图像,JavaScript用来检测设备的屏幕大小,之后写入cookie。

对于大屏幕,JavaScript利用data-fullsrc上的高分辨率图像替换较小的图片,服务器也使用Apache重写规则,来在图像文件的名称中检查.r.(mobile用的图片带有.r.),同时显示一个备用GIF,而不会使用较小的移动图像(从而防止手机大小的图像被下载到桌面)。

微软的响应式网站使用的斯科特·杰尔的Picturefill技术:

 
 
 
 
cript>cript>

注意:上面的代码片段中,data-picture= ""应该是data-picture,没有= ""(=字符是smashing magazine的所见即所得编辑器自动插入的),利用这种技术,JavaScript扫描页面的代码,发现包含data-picture属性的div,然后根据data-media属性插入一个新的img标签。

这些响应式图像技术的主要好处有:

(1)、小屏幕下载低分辨率的图像,而大屏幕下载高分辨率图像。

(2)、只下载所需的图片,而不需要的图片不在后台加载。

另外,还有各种各样的其他技术实现响应式图像。

15、如何减少客户端处理

星巴克的响应式网站在chrome下禁用javascript后,桌面端良好的网络环境下花费了3.53秒加载完毕,而启用javascript后,花费了4.73秒,增加了34%。

Javascript对加载时间的影响,在移动端较小的内存,cpu及缓存下会表现得更明显,通常,我们要重新思考javascript的使用,并保持其在最小尺寸。

一个很好的例子是BBC移动网站的JavaScript,网站不使用外部JavaScript文件——都是内联,内联脚本仅限于几行,没有显著影响内存,HTML文件和所有内联JavaScript花费0.78秒加载完毕,就像BBC那样,亚马逊的移动产品页面也没有外部JavaScript文件,而使用最少的内联脚本,HTML文件和所有内联JavaScript花费0.75秒加载完毕。

请注意:jQuery不是一个轻量的替代方案,事实上是jquery本身的补充。

这两个网站在iPhone 4下均在4秒内加载完毕,使用一个JavaScript框架前,考虑它是否真的有必要,在某些情况下,使用少量的JavaScript比调用一个框架更有效。

16、避免组件

组件对实际加载时间的影响是灾难性的,为了验证这一点,我们创建了一系列简单的HTML文件,每个文件包含默认的嵌入代码,一个小部件,你可以看到下面的结果多糟糕。

注意,这不是一个完美的测试,因为这些都是在模拟环境中的可控实验,不过结果比较有意思。

在单个页面中,结合他们为一个小部件,结果只包含这个部件的情况下,加载时间长达4秒。

17、服务器端(后端)技术

除了优化前端,服务器端技术也可以用来加速加载时间,这些技术都值得考虑,如以下几点:

(1)、缓存HTTP重定向来加速重复访问。

(2)、合并HTTP重定向链来减少重定向。

(3)、使用HTTP压缩来减少数量的字节(Gzip或缩小)。

18、借助于第三方软件工具和服务

借助于第三方软件工具或者服务来实现对网页的预加载、适配和网页加速

(1)、MIP官网_移动网页加速器_MIP(Mobile Instant Pages) . mipengine. org/

(2)、云适配(AllMobilize Inc.) --全球领先的HTML5企业移动化解决方案供应商 . yunshipei. com/

(3)、使用CDN加速或者域名加速等第三方cdn节点缓存技术达到快速访问效果

Enweitech博客点评:

最新文章
企业老板必知的 seo 服务收费模式大揭秘
2. 7种SEO关键词排名优化收费模式很多企业主想要推广自己的网站,但又觉得百度的竞价费用太高。他们想找SEO服务商来做网站的自然排名。他们会发现每个SEO服务商的收费模式都不同,可以说是多种多样。也有很多企业主在寻找服务商之前,会上
360排名优化价格如何以最优成本提升网站排名?
关键词是影响排名优化价格的关键因素之一。如果目标关键词竞争激烈,需要投入更多的优化资源,价格自然会上涨。例如,对于一些热门行业或细分领域的关键词,竞争非常激烈,这就需要更多的时间和精力进行优化,因此价格会相对较高。网站的优
公众号图文设计_今日公众号图文优化设计教程
摘要:公众号图文设计,今日公众号图文优化设计教程,新片场素材小编李亮公众号图文设计,今日公众号图文优化设计教程相关内容整理,如果您对公众号图文设计,今日公众号图文优化设计教程感兴趣欢迎访问免费阅读。公众号图文设计,今日公众号图
SEO 短视频网页入口网站推广,助力企业提升品牌知名度
在当今数字化时代,企业要想在激烈的市场竞争中脱颖而出,品牌知名度至关重要。而 SEO 短视频网页入口网站推广成为了提升品牌知名度的有效手段之一。将深入探讨 SEO 短视频网页入口网站推广的重要性,并分享一些实用的策略,帮助企业有效提
WordPress Akina主题模板:轻盈美观设计实战指南
Akina主题凭借其独特的设计理念和卓越的性能,已经成为众多用户喜爱的WordPress主题之一。以下是关于Akina主题核心特性的详细介绍。1.1.1 理念起源与设计思路 Akina主题的设计理念源于打造一个简洁、直观且易于使用的网站环境。开发
二开苹果cms视频网站源码模板_可封装双端app
thinkphp开源商城 含支付宝微信支付 三级分销商城:(一) 系统管理:菜单权限、前台菜单、角色管理、职员管理、登录日志、操作日志、图片空间、商城消息、风格设置、计划任务(二) 基础设置:商城配置、导航管理、广告管理、广告位置、银行管
利用智能优化文案,可全方位应对内容创作与搜索引擎优化需求。智能在关键词优化、文案结构优化、语言风格优化和搜索引擎优化等方面具有显著优势。通过实践,咱们可发现智能在提升内容品质和搜索排名方面具有巨大潜力
在当今互联网时代内容创作与搜索引擎优化(SEO)已成为企业网络营销的关键环节。为了升级内容品质和搜索排名多企业开始尝试利用智能优化文案。本文将详细介绍怎样去利用智能优化文案技巧全方位解决内容创作与搜索引擎优化需求。以下将从四
如何让关键词快速上百度首页
  让网站关键词排名快速上首页是每个站长的期望,但由于我们的操作总是事与愿违导致怎么努力排名也上不去,最后自己也垂头丧气的对于优化没有信心。有的人甚至为此换了工作。其实让关键词快速上百度首页很容易,只是我们没有掌握技巧和窍
【路径规划】遗传优化模拟退火算法避障路径规划【含Matlab源码 889期】
🚅座右铭:行百里者,半于九十。 🏆代码获取方式: CSDN Matlab武动乾坤—代码获取方式 更多Matlab路径规划仿真内容点击👇 ①Matlab路径规划(进阶版) ⛳️关注CSDN Matlab武动乾坤&#
中文AI写作:让创作效率翻倍72
在当今信息爆炸的时代,高效的内容创作至关重要。随着人工智能技术的不断发展,AI写作工具的面世给中文写作带来了革命性的变化,为创作者提供了事半功倍的解决方案。本文将深入探讨高效AI写作,介绍其优势、使用方法以及未来发展趋势,帮助
相关文章
推荐文章
发表评论
0评