移动Web加速技术月报第2期

作者 | Brilliant Open Web 团队breezet、shdong
编辑 | 尾尾

为推进Web技术的发展,Brilliant Open Web团队特推出每月一期的《移动Web加速技术月报》,该月报将整理较流行的移动Web加速技术,并跟进各项技术的进展和发展方向,以期帮助开发者了解或选用相关的技术,把握技术发展趋势。欢迎关注【OpenWeb开发者】公众号并回复“加群”,一起探讨相关技术。

一、内容回顾

在上一期的月报中,我们梳理了移动Web加速技术的方向,并介绍了页面云加速相关的技术——页面云加速的主要核心其实就是使用云端缓存或代理的方案,让用户能通过更快的网络获取加载页面。主要的核心技术点有两部分:基于CDN的页面Cache或代理、基于端(Web容器或移动浏览器)与云端交互的协议机制。

本期,我们将聚焦到Web页面的预取和预渲染相关的技术上。

二、相关技术介绍:Web页面的预取和预渲染

页面快速加载是提升移动Web体验的一个非常重要因素。页面本身的渲染性能是很重要,但页面还有一些关于浏览器渲染性能以外的性能体验瓶颈。

当网站已经按照一些标准(类似AMP/MIP,或者简单的静态化基础HTML页面)进行构建之后,页面的渲染性能会被极大改善,如果希望页面能达到瞬时展现的体验,还依赖类似搜索结果页本身的内容分发平台提供更强大的预取和预渲染能力。

1. 浏览器预渲染/预取 API 的一些问题

移动浏览器下,点击搜索结果页所展示的某一结果,页面被渲染前有如下环节需要执行: 域名解析、建立连接、发起请求、处理请求、网络传输、页面渲染、资源加载。

对于移动互联网用户来说,这些环节太多,会耗费很多的时间,经过百度的实际测试,百度搜索结果中的站点平均首屏时间在3.5s左右。

类似AMP和MIP这类标准已经提供了CDN的缓存和渲染过程的优化,但是对于加载策略,预渲染控制,容器都还没有标准或者基于trick的实现,并没有办法达到瞬时打开的体验。

主要问题体现如下:

(1)预渲染策略

加载策略一方面考虑的是什么时候加载页面和资源,加载多少,从哪里加载以及加载的优先级。这一块更多的是业务应用上的考虑,不需要提供标准或浏览器的API。

另一方面考虑的是哪些页面适合被prefetch/prerender,以及prefetch/prerender对服务的HTTP请求的统计影响。而这一方面是需要有通用的标准(页面是否适合被prefetch/prerender)的,关于统计上的影响,也需要从浏览器发出的HTTP请求上考虑设计新的Policy(Policy Header)供服务端识别。

(2)对预取/预渲染的过程控制

link prefetch/prerender另一方面的问题是缺乏反馈机制,以及对过程的控制。百度对页面是否进行了prefetch/prerender会有一些产品策略上的需求(提供瞬时展现交互体验)和过程跟踪上的需求(帮助决策用户是否当前环境是否适合prefetch/prerender)。

上述两个问题都是目前link prefetch/prerender暂未提供的能力。

2. 技术展望

目前在百度搜索中,部分页面的预取/预渲染能力是通过JS资源请求 API的方式来满足的,从效果实现来看,能解决上述描述的大部分问题。

但类似更顺滑、更有效的预取/预渲染效果,我们希望能让更多的人享受到。所以从长期来看,推进预取/预渲染在浏览器标准实现上的能力增强,是一种更合理的方式。

三、主要技术进展

本月报将收录移动Web加速技术的主要进展,欢迎读者一起完善,投稿邮箱:openweb@baidu.com。

1. MIP本月进展

MIP的官方网站是:www.mipengine.org/ ,GitHub地址是:github.com/mipengine

MIP新增功能

(1)MIP bind双向绑定机制和组件上线,提供双向绑定的特性;能够允许页面实现数据驱动功能,开发者可以在任意场景修改数据,并驱动页面元素变动。

(2)支持头部async加载JavaScript脚本,脚本可以和页面DOM加载同步进行,减少了脚本加载时间的等待,加快了整个页面的渲染和展现速度。

(3)组件升级:mip-stats-baidu统计组件修复事件追踪、点出率等BUG;mip-form升级,去掉mip-form中的password和file限制。

MIP校验升级

(1)mip-vd-baidu组件校验升级,解决校验不一致的问题。

(2)script标签加载脚本校验,在head加载的JavaScript必须增加async属性。

2. AMP本月进展

AMP(Accelerated Mobile Pages)是谷歌提供的网页加速技术,其官方网站是:developers.google.com/amp/。

(1)amp-position-observer动画组件,使用这个组件来创建一系列的动画功能,如视差效果,微妙的缩放。

(2)amp-sidebar支持响应式设计。

(3)amp-analytics组件支持mip-video组件的数据统计。

(4)流式广告支持,能够在不知道广告尺寸的情况下加载广告。

(5)amp bind和amp list组件升级,以增强对新数据的支持。

(6)ampstart模板库上线,通过ampstart可以使用现成的AMP使用和分享AMP模板,模板,快速创建AMP页面,而不需要从头构建页面元素。

(7)AMP 项目启动两周年公布相关数据:AMP页面已达40亿个,AMP站点已达2500W个。

四、总结

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

Brilliant Open Web

BOW(Brilliant Open Web)团队,是一个专门的Web技术建设小组,致力于推动 Open Web 技术的发展,让Web重新成为开发者的首选。

BOW 关注前端,关注Web;剖析技术、分享实践;谈谈学习,也聊聊管理。

关注 OpenWeb开发者,回复“加群”,让我们一起推动 OpenWeb技术的发展!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis(十二):Redis事务的基本操作

1、Redis事务概念 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执行队列中的命令,其他客户端提交的命令请求不会插入到事务执行命令序列中。 总结说&…

大型网站HTTPS 实践(一)| HTTPS 协议和原理

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。本文就着重介绍了 HTTPS 协议涉及到的重要知识点和平时不太容易理解的盲区,希望能对大家理解 HTTPS 协议有帮助。百度 HTTPS 性能优化涉及到大量内容…

MongoDB(一):简介

1、MongoDB概述 MongoDB 是由C语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一款流行的开源文档型…

大型网站HTTPS实践:HTTPS对性能的影响

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS。百度 HTTPS性能优化涉及到大量内容,从前端页面、后端架构、协议特性、加密算法、流量调度、架构和运维、安全等方面都做了大量工作。本系列的文章将…

Redis(十三):Redis实现乐观锁

1、悲观锁与乐观锁 乐观锁和悲观锁是一种程序设计思想,而不是具体的代码。乐观锁和悲观锁应用的场景有很多,在数据库和多线程等等都会用到。 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次…

PWA将带来新一轮大前端技术洗牌?

作者 | 彭星 编辑 | 尾尾 一、回顾历史:移动时代之初,Web遭遇两大枷锁 Web 在移动时代遭遇两大枷锁1.Web 在移动时代遭遇两大枷锁 当 Web 自信满满,步入移动时代之时,它还没有做好充足的准备。 回顾 2014 到 2015 年那段时间…

Redis(十四):Jedis

Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件&#xff0c;必须对Jedis熟悉才能写成漂亮的代码&#xff01; 1、新建Maven工程&#xff0c;导入对应依赖 <dependencies><dependency><groupId>redis.clients</groupId>&l…

高级精致智能快捷的Web设计原则案例

作者 | 百度搜索用户体验中心 《Web设计指南》分为设计原则、基础规范两方面主要内容&#xff0c;同时会提供相应的实际案例及资源下载。关注OpenWeb开发者&#xff0c;回复“设计指南”&#xff0c;即可获取已发布资源。 设计原则之高级精致 简洁并不等于粗糙没有细节&#x…

Linux系列(一):简介与目录结构

1、Linux简介 1.1、起源 Linux出现于1991年&#xff0c;是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成 1.2、Linux特点 多用户&#xff0c;多任务&#xff0c;丰富的网络功能&#xff0c;可靠的系统安全&#xff0c;良好的可移植性&#xff0c;…

日常问题——解决mac下 ssh: connect to host localhost port 22: Connection refused

问题描述&#xff1a; 今天使用ssh 登陆本地时即使用ssh localhost出现了 ssh: connect to host localhost port 22: Connection refused 错误&#xff01; 然后在网上看了很多的解决方案&#xff0c;也都是千篇一律&#xff0c;大多数是针对ssh安没安装的&#xff1f;那肯定是…

大型网站的HTTPS实践:基于协议和配置的优化

作者 | 百度HTTPS技术支持团队 百度已经上线了全站 HTTPS 的安全搜索&#xff0c;默认会将 HTTP 请求跳转成 HTTPS。百度 HTTPS性能优化涉及到大量内容&#xff0c;在前端页面、后端架构、协议特性、加密算法、流量调度、架构和运维、安全等方面都做了大量工作。本系列的文章将…

初识Hadoop:大数据与Hadoop概述

1、大数据概述 大数据&#xff08;big data&#xff09;&#xff0c;IT行业术语&#xff0c;是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合&#xff0c;是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信…

W3C近期要闻:W3C战略重点报告新版发布

作者 | W3C中国 「OpenWeb开发者」依托于BOW&#xff08;Brillant Open Web&#xff09;团队&#xff0c;是一个专门的 Web 技术建设小组&#xff0c;致力于推动 OpenWeb 技术的发展&#xff0c;将不定期为读者同步W3C要闻。 注&#xff1a;由于微信不支持外链&#xff0c;了解…

Hadoop的安装及配置

PS:最新安装教程请参考Hadoop的安装与配置&#xff08;设置单节点群集&#xff09;详细教程 1、Hadoop安装前准备工作&#xff1a; 在开始Hadoop安装与配置之前&#xff0c;需要准备的环境&#xff1a;Linux系统、配置JDK环境变量。 2、安装 我们可以到Apache Hadoop的官网ht…

在 PWA 中使用 App Shell 模型提升性能和用户感知体验

作者&#xff5c;潘宇琪 编辑&#xff5c;Daisy 在构建 PWA 应用时&#xff0c;使用 App Shell 模型能够在视觉和首屏加载速度方面带来用户体验的提升。另外&#xff0c;在配合 Service Worker 离线缓存之后&#xff0c;用户在后续访问中将得到快速可靠的浏览体验。 在实践过…

【转】超酷的 mip-infinitescroll 无限滚动(无限下拉)

写在前面 无限滚动技术&#xff08;又叫做无限下拉技术&#xff09;被广泛应用于新闻类&#xff0c;图片预览类网站。对用户来讲&#xff0c;使用无限滚动的页面有源源不断的信息可以预览&#xff0c;增加用户在页面的停留时长。技术上原理也很简单&#xff0c;在页面加载时加…

日常问题——Mac下新建目录报Read-only file system

问题描述&#xff1a; 今天在根目录下&#xff0c;新建目录时出现了Read-only file system提示为只读的错误。电脑最近并没有非正常关机之类可能导致文件损伤的操作&#xff0c;但是最近倒是进行了一次系统更新。 解决方案&#xff08;过程&#xff09;&#xff1a; 从系统更…

MongoDB(二):MongoDB的安装

这里以OSX系统为例&#xff0c;window和linux可以参考https://www.runoob.com/mongodb/mongodb-linux-install.html 1、我们使用 curl 命令来下载安装&#xff1a; # 进入 /usr/local cd /usr/local# 下载 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_…

百度推出 MIP Baidu Path链接

在站长将站点 MIP 化时&#xff0c;需要关注 URL 的一共有三个&#xff1a;MIP URL, MIP-Cache URL 以及 MIP Baidu Path。 从 URL 说起 在互联网中&#xff0c;URL 定义页面的地址&#xff0c;每个 URL 对应一个页面。而 MIP URL 则是 MIP 页的原始地址&#xff0c;指向托管…

Postman接口测试(超详细整理)

常用的接口测试工具主要有以下几种 Postman&#xff1a;简单方便的接口调试工具&#xff0c;便于分享和协作。具有接口调试&#xff0c;接口集管理&#xff0c;环境配置&#xff0c;参数化&#xff0c;断言&#xff0c;批量执行&#xff0c;录制接口&#xff0c;Mock Server, …