`
suqing
  • 浏览: 183768 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

Quickling技术

阅读更多

 

 Doc的分享。

 

Quickling技术。

通过QuicklingFacebook将所有的用户点击访问自动地转变成AJAX调用,避免了大量的服务器端重复计算和客户端的重复渲染。

url访问自动转成ajax调用

比如:facebook.com/Home.php#!profile.php
用户其实想去个人信息页,实际会跑到首页。
#
后面是用户真正想去的页面
!
感叹号是为了搜索,因为不少网站用了quickling的技术,爬虫抓不到这些页面,所以谷歌和这些公司约定了一个标准,建议hash前有一个感叹号,区别这种带ajax请求的url

 

通过ajax提高用户体验性能。

网页在渲染的过程中大概可以分成3个部分:

1、在服务器端生成网页所花的时间

2、网络传输时间

3、到达客户端渲染时间

网页引用的静态资源jscss通过cdn,这些时间也会被算进来,有部分重叠。

 

网站越来越大,页面越来越多,页面的内容也越来越多,在页面中,有些内容是比较重要的。

在测量用户体验的过程中,希望那些最重要的内容,需要保证页面最重要的内容能最快的时间到达用户的浏览器,最快的速度呈现在用户面前。所以定义了一个性能参数Time to interactTTI)。页面中最重要的内容到达客户端被渲染完成所需要的时间。

 

观察用户使用网站的数据,研究用户的使用特性,是个黏性很强的网站。用户登录界面不是访问一两个页面就走了,通常要连续地访问十几,甚至几十个页面。这些页面之间包含很多相同的部分,比如头部导航和连接,这些和页面的具体内容没有什么关系。如果能去除这些固定的内容,就能节省服务器开销,而且能够降低页面过度的复杂度。2、用户访问很多页面,但是浏览器不知道页面之间的关系,从一个页面过渡到另一个页面,用户离开一个页面的时候需要卸载这个页面的资源,虽然有很多资源都是相同的,我们的jscss有很多都是相同的。请求重复的资源,都是相同的。浏览器不停的卸载资源重载资源,通过js技术让浏览器认为用户没有离开这个页面,让浏览器不需要卸载前一个页面的资源,加载下一个页面的时候,也不需要下一个页面的资源。页面内容的更换是通过ajax的技术来完成的。从用户的角度来看这个而技术,用户点击了一个链接,或者点击向前向后按钮,截获事件,

1、  清空内容区,替换内容区,整个过程都是通过javascript来完成。

2、  用户点击一个链接,或者浏览器的前进、后退按钮。 

3、  这个链接带有一个特殊标志(就是#!),页面js检索到这个标志,会向服务器发送一个ajax请求。

4、  服务器收到请求;

5、  仅仅清除内容区域(公共页头还留着)。 

6、  5、加载jscss 

7、  展示内容

避免浏览器重复操作,不停卸载资源加载资源。

页面过度的时候鼠标会变成沙漏,进度条。

Css资源积累太多,离开时

性能的提高,没有采用技术的延迟

页面上最重要的内容到达用户所需要的时间

内容的重要性大于导航。

分享到:
评论
1 楼 jozo 2015-09-17  
[color=orange][/color]    

相关推荐

    fis-smarty-bigpipe-plugin

    Quickling 基于fis支持quickling的smarty插件 Overview 插件支持两种渲染模式, 正常渲染模式 noscript,不需要前端库进行控制 Pipeline渲染模式 bigpipe,需要前端库控制渲染 #####noscript Render##### ######...

    bigpipe.smarty

    Quickling解决方案 介绍 Quickling解决方案,包括两部分 分片延迟渲染(LazyRender) 局部刷新 分片延迟加载 一个页面可以分成多次请求进行渲染,减少首屏渲染时间。 局部刷新 后端渲染方式下实现前端局新效果,实现一...

    her-pc-demo:在“她”上运行的演示。 基于 fis-pc-demo

    her-pc-demo 一个运行在Her框架下的fis pc-demo,我们在demo加入了quickling功能

    钢桁架结构振动特性渐变分析工具

    钢桁架结构振动特性渐变分析工具

    数据库实战-收集一些常见的 MySQL 死锁案例.zip

    数据库实战-收集一些常见的 MySQL 死锁案例.zip 数据库实战-收集一些常见的 MySQL 死锁案例.zip 在工作过程中偶尔会遇到死锁问题,虽然这种问题遇到的概率不大,但每次遇到的时候要想彻底弄懂其原理并找到解决方案却并不容易。这个项目收集了一些常见的 MySQL 死锁案例,大多数案例都来源于网络,并对其进行分类汇总,试图通过死锁日志分析出每种死锁的原因,还原出死锁现场。 实际上,我们在定位死锁问题时,不仅应该对死锁日志进行分析,还应该结合具体的业务代码,或者根据 binlog,理出每个事务执行的 SQL 语句。

    Android的移动应用与php服务器交互实例源码.rar

    Android的移动应用与php服务器交互实例源码.rar

    【滤波跟踪】基于matlab平方根容积卡尔曼滤波机器人手臂运动跟踪【含Matlab源码 4540期】.mp4

    Matlab研究室上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    计算BMI等一些关于热量和蛋白质摄入的小工具.zip

    蛋白质是生物体中普遍存在的一类重要生物大分子,由天然氨基酸通过肽键连接而成。它具有复杂的分子结构和特定的生物功能,是表达生物遗传性状的一类主要物质。 蛋白质的结构可分为四级:一级结构是组成蛋白质多肽链的线性氨基酸序列;二级结构是依靠不同氨基酸之间的C=O和N-H基团间的氢键形成的稳定结构,主要为α螺旋和β折叠;三级结构是通过多个二级结构元素在三维空间的排列所形成的一个蛋白质分子的三维结构;四级结构用于描述由不同多肽链(亚基)间相互作用形成具有功能的蛋白质复合物分子。 蛋白质在生物体内具有多种功能,包括提供能量、维持电解质平衡、信息交流、构成人的身体以及免疫等。例如,蛋白质分解可以为人体提供能量,每克蛋白质能产生4千卡的热能;血液里的蛋白质能帮助维持体内的酸碱平衡和血液的渗透压;蛋白质是组成人体器官组织的重要物质,可以修复受损的器官功能,以及维持细胞的生长和更新;蛋白质也是构成多种生理活性的物质,如免疫球蛋白,具有维持机体正常免疫功能的作用。 蛋白质的合成是指生物按照从脱氧核糖核酸(DNA)转录得到的信使核糖核酸(mRNA)上的遗传信息合成蛋白质的过程。这个过程包括氨基酸的活化、多肽链合成的起始、肽链的延长、肽链的终止和释放以及蛋白质合成后的加工修饰等步骤。 蛋白质降解是指食物中的蛋白质经过蛋白质降解酶的作用降解为多肽和氨基酸然后被人体吸收的过程。这个过程在细胞的生理活动中发挥着极其重要的作用,例如将蛋白质降解后成为小分子的氨基酸,并被循环利用;处理错误折叠的蛋白质以及多余组分,使之降解,以防机体产生错误应答。 总的来说,蛋白质是生物体内不可或缺的一类重要物质,对于维持生物体的正常生理功能具有至关重要的作用。

    IMG_20240520_180055.HEIC

    IMG_20240520_180055.HEIC

    基于java实现的智慧医院门诊管理系统项目源码+设计文档+实验报告+详细资料.zip

    基于java实现的智慧医院门诊管理系统项目源码+设计文档+实验报告+详细资料.zip

    JavaScript_网页复制工具,网页抓取预渲染和SEO提升.zip

    JavaScript

    batik-xml-1.7.jar

    Batik是为想使用svg格式图片来实现各种功能的应用程序和Applet提供的一个基于java的工具包

    node-v4.7.0-headers.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v14.19.0-headers.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v18.19.1-headers.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    JavaScript_DeFi开发人员路线图是一个精心策划的开发人员手册,其中包括DApps开发资源和参考的最佳工具列表.zip

    JavaScript

    node-v17.0.0-headers.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    CoordinateData.java

    CoordinateData.java

    JavaScript_命令行工具自定义Spotify客户端支持Windows MacOS和Linux.zip

    JavaScript

    头歌c语言实验答案.rar

    头歌c语言实验答案

Global site tag (gtag.js) - Google Analytics