专栏首页程序员的知识天地Web前端学习:移动Web加速技术

Web前端学习:移动Web加速技术

移动设备已经成为当下使用频率最高的电子设备,而移动Web依然是移动设备中使用频率最高的应用场景。

站点页面性能提升可以使得用户浏览站点时的体验得到良好改善,作为其中一条技术分支,移动Web加速技术的方法和技术方案在近几年得到了不断发展。无论是内容分发平台、浏览器提供商、网络提供商还是Web站点,都在通过各种各样的移动Web加速技术为用户提供更良好的页面浏览体验。

移动Web加速技术有哪些方向?

开始的前言内容中我们已经提到,参与移动Web生态的几个重要角色分别是内容分发平台、浏览器提供商和网络提供商以及Web站点。每个角色都在自己所擅长的领域通过技术创新来给用户提供更快速的移动Web体验。因此,移动Web加速的几个技术方向也和几个重要参与者的角色职能密不可分。

比较重要的技术方向分别是:

1. 页面加载与缓存

移动Web加速的其中一个重要技术方向是针对页面加载和缓存相关的加速技术。

在此方向中,页面分发端、浏览器和移动网络是主要的影响因素,页面加载相关的技术解决方案,也是从这三个影响因素为出发点,来进行技术设计和实现的。

页面加载加速主要聚焦在页面云加速(CDN Cache)以及移动端加速、页面预取/预渲染等相关技术点。

2. 页面构建

移动Web加速的另一个核心技术方向是通过明确页面的正确构建方法,来提升页面在渲染和浏览时的用户体验。

移动页面的渲染对用户体验的影响是非常巨大的,直接关系到用户在打开页面时能否很快的看到首先想要浏览的内容(首屏渲染)。

影响首屏渲染的因素非常多,通过正确的页面构建方法,可以进一步提升站点页面的首屏渲染性能并且不伤害用户的浏览体验。

相关技术介绍

在每期的网页加速技术月报中,我们都会为大家介绍相关的加速技术知识点。本期先为大家介绍页面云加速相关的技术知识。

页面云加速的主要核心其实就是使用云端缓存或代理的方案,让用户能通过更快的网络获取加载页面。主要的核心技术点有两部分:基于CDN的页面Cache或代理、基于端(Web容器或移动浏览器)与云端交互的协议机制。

1.基于CDN的页面Cache或代理

此技术其实在近几年已经非常成熟,无论是各种云服务解决方案还是CDN服务提供商都已经有非常成熟的技术能力。此项技术的思路是从Web服务提供者角度来提供更好的网络环境来进行移动Web加速。在此就不做更多的介绍。

2.基于端与云端交互的协议机制

最近两年开始兴起的新的云端加速技术方案,该技术在云端的Cache机制(主要是CDN)的基础上,使用端来代理用户页面加载行为,调用云端的Cache页面返回给端使用。此项技术的思路与前者不同的是它想解决用户在该端上(Web容器或移动浏览器)的所有移动Web站点的访问加速,而不是某一个站点或已经提供了CDN访问的站点。主要作用是可以提升用户在该端上的Web浏览体验,让用户体验优于其他竞品。

主要技术 有:Google AMP Cache、Baidu MIP Cache、UC浏览器云加速、QQ浏览器云加速等。

主要技术进展

1.AMP本月进展

AMP(Accelerated Mobile Pages)是谷歌提供的网页加速技术,其官方网站是:https://developers.google.com/amp/。AMP在本月不仅进行了技术方面的优化,还计划在全球范围内进行推广,具体如下。

(1) AdWords 支持AMP化广告落地页:AdWords是广告提供商,使用AMP落地页能够快速加载,提高广告转化率。AMP的表单,内容实时更新和统计支持,使AMP适用于广告落地页。

(2)CONDÉ NAST是如何使用AMP的: 

CONDÉ NAST拥有多个新闻业务,选择AMP不是因为原来页面慢,而是相信Google的服务和CDN; NAST公司将AMP和CMS结合使用,自动将新闻生成为AMP页面。

(3) AMP技术团队将要进行全球巡回推广:包括新加坡、悉尼、伦敦、北京、上海等地,感兴趣的读者可以关注。

2.MIP本月进展

MIP的官方网站是:https://www.mipengine.org/,GitHub地址是:https://github.com/mipengine/。MIP在本月也更新了诸多新功能,进行了一系列升级,具体如下。

MIP新增功能

(1)增加储存功能,使用localStorage和fetch实现。储存功能可用于代替cookie保存用户设置,登录状态,携带信息,与服务器进行数据通信。

(2)MIP-Cache链接全量上线二级域名,详细说明及影响见《MIP-Cache域名升级》。

MIP升级功能

(1) mip-video 视频组件升级。支持source多视频源播放。

(2)mip-showmore 折叠组件交互升级。支持展开后不再显示收起按钮(https://www.mipengine.org/examples/mip-extensions/mip-showmore.html)。

(3)mip.js 升级。修复a链接在mip-iframe中不能跳出的问题。

校验规则更新

在9月初,MIP更新了少量校验规则,对90%以上的MIP页无影响,保证MIP校验的严谨性。更新后的规则为:

(1) 对 head 中 base 标签增加了限制,避免cache改写后链接指向有问题。

(2)强制要求页面引用https 的 mip.js,避免脚本被不法劫持。

(3)认定src=” “(引号之间只有空格)情况等同于src=”“,视内容为空。

(4)升级template src校验,支持文档中src={{url}}的写法。

进行中

mip-bind 组件支持数据双向绑定。页面异步更新,可用于电商等复交互页面。

MIP-Cache 支持返回webp图片。使用压缩率更高的图片,减少图片大小。

四、总结

移动Web加速的下一个方向应该是探索页面加速上的标准策略分级,并影响内容分发平台、搜索引擎等流量入口使用标准的页面性能分级来进行更广泛层面的引导,提升真实用户接触到的互联网站点的页面体验。

感谢阅读

喜欢看小编文章的点个订阅或者喜欢!小编每天都会跟大家分享文章,也会给大家提供web前端学习资料。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为爬虫获取登录cookies:登录的恩恩怨怨

    讲到的新闻爬虫,是基本不受目标服务器限制的爬虫,技术上的挑战主要在抓取任务的管理、分配,并发的使用,提高效率等方面。而实际中,不同抓取目标的爬虫会遇到很多阻碍,...

    一墨编程学习
  • Python爬虫的法律边界(一)爬虫有风险,开爬要谨慎!

    从去年开始我看到好几起因为抓取数据而遭遇诉讼,有的锒铛入狱,有的被处罚金,从案件的模糊描述来看,我看得后背发凉,似乎每个爬虫选手都有被KO的风险。

    一墨编程学习
  • 月薪2万的爬虫工程师,Python需要学到什么程度?

    非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了。比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等……但是因为不是计算机专业的,也没学所...

    一墨编程学习
  • 学会运用爬虫框架 Scrapy (三)

    上篇文章介绍 Scrapy 框架爬取网站的基本用法。但是爬虫程序比较粗糙,很多细节还需打磨。本文主要是讲解 Scrapy 一些小技巧,能让爬虫程序更加完善。

    猴哥yuri
  • Spring常用jar包功能详解

    很多小伙伴包括我自己,在使用spring的时候导入了一堆jar包,但是并不明白每个jar的用途,使用spring的不同功能时也不知该导入哪个jar包,今天记录一...

    说故事的五公子
  • Balanced-工具类App原型分享

    Balanced是一款记事类的工具App,这类App在设计的时候讲究简单易用,如果操作太复杂,就不能做到记录事件的及时性和快速性。在制作原型时,这次尝试了将A...

    奔跑的小鹿
  • 看图说话:持久式XSS(跨站)漏洞示例

    读书与实践是获取知识的主要渠道,学习的权力只掌握在每个人自己手中,让学习成为一种生活的习惯,这比任何名牌大学的校徽重要得多!

    张树臣
  • H3C AP胖瘦互刷

    DHCP server's IP address is 192.168.0.253

    py3study
  • AngularJS的模板和数据绑定详解

    Angular应用中的模板只是一些HTML片段而已,我们可以从服务器上加载,或者在标签中定义,处理方式与所有其他静态资源相同。如果你需要UI组件,你可以在模板中...

    企鹅号小编
  • AMP自定义样式【ytkah英译AMP-3】

    AMP页面是网页;页面及其元素的任何样式都是使用常见的CSS属性完成的。在<head>中嵌入的样式表中使用类或元素选择器的样式元素,<style amp-cus...

    ytkah

扫码关注云+社区

领取腾讯云代金券