使用BigPipe提升浏览速度

合集下载

一键让你的浏览器提速3倍,亲测!

一键让你的浏览器提速3倍,亲测!
支持丰富 这 SpeedyFox 的名字,不知道的还以为和 FireFox 有啥说不清道不明的关系呢。 据队长考证,SpeedyFox 是个老牌浏览器优化工具了,当初和 FireFox 就是有点争锋相对的意 思。 但不要担心,0202 年的它,早就是个顶天立地的工具了,各种浏览器的它都可以。
这是官网给出的浏览器支持。 什么,没看到你平常用的 360 浏览器、QQ 浏览器? 可别担心,队长可是都测试过了。 只些国内常见的浏览器,它都 OK! 不会吧,不会吧,这么好的工具不会还有人说不棒吧?
我本以为提升上网冲浪速度这件事本身就是玄学,优化过后,谁也看不出啥变化。 谁能想今天的优化直接都肉眼可见了,仿佛过去的智商在被不停的摩擦。 打破沙锅问到底,一直都是队长的臭毛病。 这次也不例外,我去瞅了瞅原理,嗯,不太懂。 反正大意就是浏览器的 SQLite 数据库会随着你的使用产生大量碎片,进而导致浏览器的启动是 越来越慢。 而 SpeedyFox 能在不丢失任何数据的情况下,压缩数据库,达到优化运行速度的目的。 不管怎么样吧,它的优秀是毋庸置疑的,就像它官网介绍里说的。
效果显著 现在小伙伴们都知道,这个优化器叫 SpeedyFox 了吧。 你说这名字里都带有速度,那这软件是得有多嚣张,多自信啊。 队长我就抱着挑刺的态度试了试。 然后,我献上了膝盖。
嗯,没错,它真的超好用! 别着急,先让队长带你们瞅瞅它到底有多好用。 这是使用 SpeedyFox 清理之前的 Chrome(5~6s):
别忘了点那个【Add】,而且它还能自动帮你识别浏览器内核。
这下国产浏览器路径就添加成功了,剩下的就跟之前的优化过程一样。 对了,因为 SpeedyFox 识别不出来这些包装后的浏览器,所以在列表中只会按着内核显示,找 不到可别瞎着急。

如何使用Dreamweaver进行网页速度优化

如何使用Dreamweaver进行网页速度优化

如何使用Dreamweaver进行网页速度优化一、网页速度的重要性在当今互联网时代,网页速度对于用户体验和网站的排名都至关重要。

用户期望能够迅速打开网页并快速找到自己需要的信息,而搜索引擎也倾向于给予加载速度更快的网页更高的权重。

因此,对于网页设计师和开发人员来说,通过使用专业工具优化网页速度是至关重要的。

二、Dreamweaver的简介Dreamweaver是一款知名的网页设计和开发工具,由Adobe公司开发。

它可用于生成HTML、CSS和JavaScript代码,提供了丰富的设计和开发功能,并且与其他Adobe软件的集成非常紧密。

三、压缩和优化图像图像是网页加载速度的重要因素之一。

在Dreamweaver中,可以使用图像压缩工具对网页中的图像进行优化。

通过减小图像的文件大小,可以显著减少网页的加载时间。

另外,还可以采用响应式图像的方式,根据用户设备的不同加载不同大小的图像,以提高网页加载速度。

四、优化CSS和JavaScript文件CSS和JavaScript文件在网页中起着至关重要的作用,但它们的体积较大可能会导致网页加载速度变慢。

Dreamweaver提供了一些工具来优化这些文件。

可以使用CSS和JavaScript压缩工具来减小文件的体积,同时还可以通过合并多个CSS或JavaScript 文件来减少对服务器的请求次数,从而提高加载速度。

五、使用缓存和CDN缓存和内容分发网络(CDN)是另外两个可以优化网页速度的关键技术。

在Dreamweaver中,可以通过设置适当的HTTP头来启用浏览器缓存,并且使用CDN来分发静态资源,如图像、CSS 和JavaScript文件。

这样可以减少请求的数量并提高文件的加载速度。

六、优化HTML代码优化HTML代码也是提高网页速度的重要一环。

通过减少HTML文件的大小,可以加快文件的下载速度。

Dreamweaver可以自动帮助我们清除HTML代码中不必要的空白字符和注释,以减小文件体积。

如何使用浏览器扩展程序提升网络浏览效率

如何使用浏览器扩展程序提升网络浏览效率

如何使用浏览器扩展程序提升网络浏览效率随着互联网的快速发展,人们越来越依赖网络进行工作、学习和娱乐。

然而,浏览网页时常常会遇到一些繁琐的操作,比如广告弹窗、页面加载缓慢等问题,这些都会降低我们的浏览效率。

幸运的是,现在有许多浏览器扩展程序可以帮助我们提高网络浏览效率。

本文将介绍一些常用的浏览器扩展程序,并探讨如何使用它们来提升网络浏览效率。

广告拦截器是一种非常常见的浏览器扩展程序,它可以屏蔽网页上的广告内容。

广告不仅会分散我们的注意力,还会占用网页加载的时间和带宽。

通过使用广告拦截器,我们可以过滤掉大部分广告,提高页面加载速度,并且减少不必要的干扰。

市面上有很多广告拦截器可供选择,例如Adblock Plus、uBlock Origin等,用户可以根据自己的需求选择合适的扩展程序。

除了广告拦截器,还有一些其他的浏览器扩展程序可以帮助我们提升浏览效率。

例如,有些扩展程序可以自动填写表单,省去了我们重复输入个人信息的麻烦。

有些扩展程序可以提供即时翻译功能,帮助我们阅读外文网页。

有些扩展程序可以管理我们的书签,帮助我们快速找到需要的网页。

这些扩展程序都可以根据个人需求进行选择和安装,以提升我们的网络浏览效率。

另外,一些浏览器扩展程序还可以帮助我们更好地管理时间和注意力。

例如,有些扩展程序可以提供网站屏蔽功能,帮助我们屏蔽一些容易让我们分心的网站,让我们能够更专注地工作或学习。

有些扩展程序可以提供定时提醒功能,帮助我们合理安排时间,避免过度沉迷于网络。

这些扩展程序可以帮助我们养成良好的上网习惯,提高工作和学习效率。

当然,使用浏览器扩展程序也需要注意一些问题。

首先,我们应该选择可靠的扩展程序,避免安装一些不安全或恶意的软件。

其次,我们应该定期更新扩展程序,以确保其功能和安全性都得到最新的保证。

此外,我们还应该注意扩展程序对浏览器性能的影响,避免安装过多的扩展程序导致浏览器变慢或崩溃。

总之,浏览器扩展程序是提升网络浏览效率的有力工具。

10个能提升WordPress网站速度的最佳插件

10个能提升WordPress网站速度的最佳插件

10个能提升WordPress网站速度的最佳插件WordPress网站速度一直是许多网站管理员重视的问题。

快速加载时间可以提高用户体验和搜索引擎排名。

为了加速您的WordPress网站,您可以使用一些最佳插件。

下面是10个能提升WordPress网站速度的最佳插件:1. WP Fastest CacheWP Fastest Cache插件可以快速缓存您的WordPress网站,从而提高网站速度。

它具有非常简单的设置,可以轻松设置缓存选项,包括从网站中排除不需要缓存的页面和文件。

2. W3 Total CacheW3 Total Cache插件是另一个强大的WordPress缓存插件,提供利用浏览器缓存和CDN,从而大大减少页面加载时间。

3. WP-OptimizeWP-Optimize插件是WordPress优化数据库的插件。

它可以从数据库中删除未使用的数据和垃圾文件,并提供快速优化数据库。

4. SmushSmush是一个优秀的WordPress图像优化插件,可以减少图像大小,从而提高网站加载速度。

它还可以对动态图像GIF进行优化。

5. Lazy Load by WP RocketLazy Load by WP Rocket是一个智能加载图像的插件。

它可以防止所有图像在页面加载时都加载,而是当用户滚动到图像位置时单独加载每个图像。

这可以显着提高网站速度。

6. AMP for WPAMP for WP插件可以为您的WordPress网站添加Google AMP 支持,实现更快的移动体验和更好的搜索引擎排名。

7. WP Smush ProWP Smush Pro是另一个优秀的图像优化插件,可以更全面地优化图像。

它提供了更多的自定义选项和文件格式选项。

8. BJ Lazy Load与前面的Lazy Load插件类似,BJ Lazy Load可以减少您的页面加载时间。

这与懒加载插件不同,可以在整个站点上加载,而不仅仅是图像。

提高网页加载速度的技巧与调整方法

提高网页加载速度的技巧与调整方法

提高网页加载速度的技巧与调整方法在互联网时代,网页加载速度成为了用户体验的重要指标之一。

一个加载速度慢的网页不仅会让用户感到不耐烦,还可能导致用户流失。

因此,提高网页加载速度对于网站运营者来说至关重要。

本文将介绍一些提高网页加载速度的技巧与调整方法,帮助网站运营者优化用户体验。

1. 优化图片图片是网页中常见的元素之一,但是过多或者过大的图片会导致网页加载速度变慢。

因此,优化图片是提高网页加载速度的重要一环。

首先,可以使用图片压缩工具来减小图片的文件大小,保持图片质量的同时减少加载时间。

其次,选择正确的图片格式也很重要。

对于图像颜色较少的图片,可以选择使用GIF格式,而对于颜色较丰富的图片,可以选择使用JPEG格式。

另外,使用CSS Sprites技术可以将多个小图片合并成一张大图,减少HTTP请求次数,提高加载速度。

2. 压缩代码网页中的HTML、CSS和JavaScript代码可以通过压缩来减小文件大小,从而提高加载速度。

可以使用在线工具或者压缩软件对代码进行压缩,去除空格、注释和多余的字符。

另外,可以将CSS和JavaScript代码放在外部文件中,并使用压缩工具进行压缩,然后再通过链接引入,减少HTML文件的大小,提高加载速度。

3. 使用缓存使用缓存是提高网页加载速度的有效方法之一。

通过设置HTTP响应头中的缓存策略,可以让浏览器在第一次访问网页后将一些静态资源(如图片、CSS和JavaScript文件)缓存到本地,下次再访问同一网页时直接从缓存中加载,减少了服务器的负载和网络传输时间,提高了加载速度。

可以通过设置Expires和Cache-Control等响应头字段来控制缓存的时间和方式。

4. 延迟加载延迟加载是一种将网页中的某些内容推迟加载的技术。

例如,当用户滚动到某个区域时,再去加载该区域的图片或者其他资源。

这样可以减少首次加载的内容量,提高网页的响应速度。

可以使用JavaScript库如LazyLoad.js来实现延迟加载。

详解世界知名网站的发展历程

详解世界知名网站的发展历程
详解世界知名网站的技术发展历程
来源:CSDN 颖而出者,这些网站多数都已存在了接近10年或10年以上,在如此长时间的发展过程中,除了业务上面临的挑战,在技术上也面临了很多的挑战。我挑选了一些Alexa排名较前的网站(排名截止到2012年4月21日),看看它们在技术上是如何应对业务发展过程中的挑战的。
大量使用Memcache-以及访问量的不断上涨,导致访问Memcache-的网络流量太大,交换机无法支撑,Facebook通过改造采用UDP的方式来访问Memcache-,以降低单连接上的网络流量。除此之外,还有其他一些改造,具体信息可以查看http://on.fb.me/8R0C。
PHP作为脚本语言,优势是开发简单、易上手,劣势是需要消耗较多的CPU和内存。当Facebook的访问量增长到了一定规模后,这个劣势就比较突出了,于是从2007年起,Facebook就尝试多种方法来解决这个问题,最后诞生于Facebook Hackathon的HipHop产品成功地脱颖而出。HipHop可以自动将PHP转化为C++代码,Facebook在使用HipHop后,同等配置的机器,可支撑的请求量是之前的6倍,CPU的使用率平均下降了50%,从而为Facebook节省了大量主机。将来Facebook还会对HipHop进行再次改进,通过HipHop将PHP编译为byteco-e,放入HipHop VM中执行,再由HipHop VM来编译为机器代码,方式与JIT类似。
从2009年开始,Facebook尝试自行设计DataCenter以及服务器,以降低其运行成本,并对外开放了其构建的PUE仅1.07的DataCenter的相关技术。Facebook在技术方面的基本原则是:“在能用开源产品的情况下就用开源,根据情况对其进行优化并反馈给社区”。从Facebook的技术发展历程上可以看到这个原则贯彻始终,Facebook的技术改造也主要是围绕在可伸缩、性能、成本和可用性4个方面。

前端性能优化的十个实用工具

前端性能优化的十个实用工具在前端开发中,性能优化是一个非常重要的课题。

随着互联网的飞速发展,用户对网页加载速度的要求也越来越高。

本文将介绍十个实用的前端性能优化工具,帮助开发人员提升网页性能。

一、WebpackWebpack是一个现代化的静态模块打包工具。

它可以将多个前端资源文件打包成一个或多个bundle文件,并通过代码分割和懒加载等策略来提高网页加载速度。

同时,Webpack还提供了许多优化插件,如压缩代码、去除无用代码等,使得打包后的代码更加轻量化。

二、GulpGulp是一个前端自动化构建工具。

通过配置任务流,Gulp可以自动完成一系列的开发任务,如代码压缩、图片优化、CSS预处理等。

通过使用Gulp,开发人员可以简化开发流程,提高开发效率,并且生成优化后的代码。

三、BabelBabel是一个JavaScript编译器,用于将ES6及以上版本的代码转换成向后兼容的JavaScript代码。

通过使用Babel,开发人员可以在不同浏览器和环境中运行最新的JavaScript语法,并提高代码的性能和可读性。

四、ESLintESLint是一个开源的JavaScript代码检查工具。

它可以帮助开发人员发现和修复代码中的错误和潜在问题,提高代码的质量和可维护性。

通过配置合适的规则,ESLint还可以辅助开发人员优化代码,并遵循最佳实践。

五、LighthouseLighthouse是一个由Google开发的网页性能分析工具。

通过提供全面的性能评估和优化建议,Lighthouse帮助开发人员了解网页的性能瓶颈,并提供相应的解决方案。

开发人员可以使用Lighthouse来评估网页的性能表现,并通过优化来提高用户的体验。

六、PageSpeed InsightsPageSpeed Insights是另一个由Google提供的网页性能评估工具。

通过分析网页的加载速度和性能优化建议,PageSpeed Insights帮助开发人员找到提高网页性能的关键点。

网络优化的实用工具推荐

网络优化的实用工具推荐在网络优化的过程中,有许多实用工具可以帮助我们提升网站的性能和用户体验。

本文将为大家推荐几个常用的网络优化工具,帮助您更好地进行网站优化。

以下是几个实用工具的介绍和使用方法。

第一个推荐的工具是Google PageSpeed Insights(谷歌网页速度测试)。

它是一个免费的在线工具,可以评估您的网站在移动设备和桌面设备上的加载速度和性能。

使用PageSpeed Insights,您只需输入您的网站链接,它将为您生成一个关于网站性能的报告。

报告中将包括一个综合的得分(0到100)和一些具体的优化建议。

这些建议通常包括压缩图像、优化CSS和JavaScript以及减少HTTP请求等。

根据这些建议,您可以针对性地优化您的网站,以提高网页加载速度和用户体验。

另一个推荐的工具是GTMetrix。

它是一种全面的网站性能监测和优化工具。

GTMetrix提供了关于网站性能的详细报告,包括页面加载时间、页面大小、HTTP请求次数等指标。

此外,它还提供了一些优化建议,如优化图片、延迟加载内容以及压缩CSS和JavaScript等。

GTMetrix还允许您与其他网站进行比较,了解您的网站在性能上的相对位置。

通过使用GTMetrix,您可以深入了解您的网站性能,并采取相应的措施进行优化。

第三个推荐的工具是Pingdom。

Pingdom是一个监测网站可用性和性能的工具。

它可以帮助您监测网站的状态,并提供有关网站性能和可用性的报告。

Pingdom还提供了一个性能分析工具,可以帮助您找到导致网站速度缓慢的问题,并给出相应的优化建议。

通过使用Pingdom,您可以及时发现并解决可能影响用户体验的问题,从而提高网站的可用性和性能。

下一个推荐的工具是YSlow。

它是一个由Yahoo开发的浏览器插件,可以评估网站的性能,并提供一些建议来改善网站的性能。

YSlow会对网站进行分析,例如检查HTTP请求次数、压缩页面内容、添加缓存等。

提高网页加载速度网页优化工具推荐

提高网页加载速度网页优化工具推荐在当今信息爆炸的时代,快速加载的网页成为了用户对于网站的重要要求。

毫无疑问,网页加载速度的快慢直接影响着用户的阅读体验和满意度。

因此,为了提高网页加载速度,网页优化工具成为了不可或缺的利器。

本文就是要为大家推荐几款优秀的网页优化工具,来帮助您提高网页加载速度。

一、工具一:优化图片大小图片是网页中不可或缺的元素,同时也是造成网页加载速度较慢的主要因素之一。

为了优化图片大小,减少加载时间,我们可以使用一些专业的工具来进行处理。

1. TinyPNGTinyPNG是一款应用广泛的在线工具,可以将图片的大小减小,而不损失图片的质量。

您只需上传图片到TinyPNG官网,工具会自动压缩和优化您的图片,并提供下载链接。

通过使用TinyPNG,您可以大幅度地减少图片的大小,提高了网页的加载速度。

2. ImageOptimImageOptim是一款适用于Mac系统的优化图片工具。

它使用高级的压缩算法来减小图片的尺寸,同时保持高质量的图像。

您只需要将图片拖放到ImageOptim的窗口中,它会自动为您进行优化。

通过使用ImageOptim,您可以轻松地减小图片的大小,加快网页的加载速度。

二、工具二:压缩网页文件除了优化图片大小外,压缩网页文件也是一种提高网页加载速度的有效方法。

以下是两款常用的压缩工具,可以帮助您减小网页文件的体积,加快网页的加载速度。

1. GzipGzip是一种在传输过程中压缩网页文件的方法,它可以减小文件的体积,提高网页加载速度。

大多数现代的Web服务器都支持Gzip压缩,您只需在服务器上进行简单的配置即可启用Gzip。

通过启用Gzip,您可以有效地减小网页文件的大小,加速网页的加载。

2. HTML压缩器HTML压缩器是一款专门用于压缩HTML文件的工具。

它通过去除HTML文件中的空格、注释和无用的字符来减小文件的体积,从而提高网页的加载速度。

您只需将HTML文件导入HTML压缩器,点击压缩按钮,即可得到压缩后的HTML文件。

bigjpg使用方法 -回复

bigjpg使用方法-回复Bigjpg使用方法Bigjpg是一款强大的图片放大工具,它采用了深度学习技术,能够将低分辨率的图片放大至高清的效果。

下面,我们将一步一步地介绍Bigjpg的使用方法。

第一步:注册和登录要使用Bigjpg,首先你需要注册一个账号。

打开Bigjpg的官方网站,点击注册按钮,填写相关信息,并创建一个账号和密码。

注册成功后,你可以使用你的账号登录到Bigjpg平台。

第二步:上传图片登录到Bigjpg平台后,你会看到一个上传图片的界面。

你可以点击“选择文件”按钮,从你的电脑中选择一张低分辨率的图片,或者直接将图片拖拽到上传区域。

第三步:选择放大方式在上传成功后,你将看到一个放大方式的选项。

Bigjpg提供两种放大方式,分别是“快速模式”和“高质量模式”。

快速模式将在短时间内生成放大后的图片,而高质量模式需要更长的时间,但能够生成更加清晰的结果。

第四步:开始放大选择放大方式后,你可以点击“开始放大”按钮,让Bigjpg开始处理你的图片。

在处理过程中,你可以在页面上看到进度条,以及预计处理时间。

请耐心等待,不要关闭浏览器或离开该页面。

第五步:下载放大后的图片当Bigjpg处理完成后,你将在页面上看到放大后的图片。

你可以将鼠标移动到图片上,点击右键,选择“另存为”来保存生成的高清图片。

你也可以直接点击页面上的“下载”按钮,将图片保存到你的电脑中。

第六步:评价和反馈使用完Bigjpg后,你可以选择对其进行评价和反馈。

你可以点击页面上的“评价”按钮,填写你对Bigjpg的评价,并提供任何有益的反馈意见。

除了网页版的Bigjpg,你还可以下载并安装Bigjpg的桌面应用程序。

桌面应用程序提供了更多的自定义选项和功能,能够更方便地进行图片放大操作。

总结:在本文中,我们介绍了Bigjpg的使用方法。

通过注册和登录账号,上传你想要放大的图片,选择放大方式,开始放大,下载放大后的图片,以及评价和反馈,你就可以使用Bigjpg来放大低分辨率的图片了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用BigPipe提升浏览速度
新浪微博 - 技术部 - 吴侃 @v4ria wukan@
题外话
• /
2
Estimation
Estimation
• 30 mins
: @v4ria Email : wukan@ gaoweiwukan@
15
BigPipe使服务器端和浏览器端 并发处理
16
BigPipe介绍
BigPipe带来什么
• 后端程序无需等到页面所有 Pagelet 的API 都读取执行完,才输出到浏览器,服务器 端不浏览器端并行处理,加快了页面显示。 • Pagelet的输出顺序可以由后端程序控制, 及早输出用户关心的模块。
pl2
pl1
仅有一个HTTP请求 前端无需写代码 模块输出由后端程序控制 返回内容为JavaScript代码,自 劢调用显示Pagelet功能
31
不传统Ajax比较
链接为真实URL
Ajax方式
BigPipe方式
32
不传统Ajax比较
• 拦截页面请求,转换成ajax pipe
url
• 拦截页面请求
7
传统网页处理模型
浏览器
发送请求
服务器
返回HTML
8
BigPipe网页处理模型
浏览器
发送请求
返回HTML 数据1 数据2
服务器
……
9
基本概念 – 流水线技术
CPU的流水线技术 (Pipeline)
10
基础概念 – 低标量CPU的处理过程
• 低标量CPU的处理过程
11
基础概念 - CPU 的指令流水线技术
28
不传统Ajax比较

请求数减少:多个chunk合成一个请求
29
不传统Ajax比较
异步加载显示模块的方式:
Old Way
$.Ajax(url1,function(){ $('#pagelet1').html(html1); }); $.Ajax(url2,function(){ $('#pagelet2').html(html2); });
• 基本的流水线结构
12
基础概念 - Chunk
Chunk
HTTP1.1 Transfer-Encoding: chunked
13
基础概念 - Chunk 和 Flush
Flush() 让页面分块,逐步呈现
14
Big新设计的劢态网页服务体系。 • 将页面分解成一个个Pagelet,然后通过Web 服务器和浏览器之间建立管道,进行分段输出 (减少请求数)。 • BigPipe丌需要改变现有的网络浏览器或服务 器。
• 文档中只有前31个link或style标记关联的CSS能够应用。 • 一个style标记或css文件只有前31次@import指令有 效应用。
• IE中每个style标签或css文件的选择符个数丌能超过 4095
• @import指令下层叠限制丌能超过4层
39
模块带来的问题
文件请求数变多
• 理想情况下,每个Pagelet会包含1个JavaScript文件、1个CSS 文件 • 新浪微博首页会包含26个PageLet,就会增加
<script type="text/javascript" charset="utf-8"> pl.v(html_ pagelet_1, "pagelet_1",[pagelet_1.css'], ["pagelet_1.js "]);PageLet信 息 </script> ……. //以下省略PageLet2、3等等 Chunk2、3、4
52
个HTTP请求。
40
模块带来的问题
• css阻塞重要模块
Pagelet加载流程
• JavaScript异步加载css文件
CSS
• 当css文件下载完成
HTML
• 将html放入页面空DIV
JavaScript
• 启劢JavaScript,绑定事件等
41
模块带来的问题
• css阻塞重要模块
42
23
BigPipe实践
PageLet1信息
• • • •
Php生成拼合好的页 面html代码
页面框架中的空 Html:html_ pagelet_1, DIV之ID Box:"pagelet_1", Css:[‘module/pagelet_1.css'], CSS文件路径 Js: [“pl/pagelet_1.js "]);
943
+93%
1372
-13%
+45%
19
BigPipe实践
• BigPipe页面输出信息
• BigPipe的三种模式
• 不传统Ajax方式比较
20
BigPipe实践
<body>
<script>
21
切分页面
PLC
22
输出信息
<body>
<link rel="base.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8" src="base.js"></script>
17
BigPipe带来什么
服务器 Pagelet1、2、3
网络
浏览器 Pagelet1、2、3
18
BigPipe给微博带来什么
First Impression [ms]
On Client [ms]
BigPipe in 1965 1Mbps Original 2759
1783
922
-29%
BigPipe in 1214 10Mbps Original 1403
JS路径
24Βιβλιοθήκη BigPipe实践25
BigPipe实践
BigPipe体系的三种模式
• 支持BigPipe • 丌支持BigPipe • 劢态刷新PageLet
26
BigPipe实践
27
不传统Ajax比较
• 减少HTTP请求数:多个模块更新合成一个请求 • 减少开发成本:前端无需多写JavaScript代码 • 降低管理成本:模块更新由后端程序控制 • URL优雅降级:页面链接使用真实地址 • 代码一致性:页面加载不劢态刷新模块代码相同
基础css和 JavaScript
</body>
<div id='frame'><!--框架开始--> <div id="top">...</div><!--顶部导航--> <div id="menu">...</div><!--左侧--> <div id="content"><!--此处为下面的PageLet占位--> Chunk1 <div id="pagelet_1"></div> 框架DIV <div id="pagelet_2"></div> </div> <div id="right">...</div> <div id="bottom">...</div><!--底部--> </div><!--框架结束-->
劢态刷新模块
<script>
pl.View('pagelet1','pl1.css','pl1. js', '<span>Here is pagelet1</span>');
</script>
pl.View('pagelet1','pl1.css','pl1. js', '<span>Here is pagelet1</span>');
ajax
• 转换成Ajax请求,/home?ajaxpagelet=1
• 渲染后端输出的模块
show
33
不传统Ajax比较
• 优雅向下兼容
• 任意链接随意切换BigPipe模式或传统模式
34
不Ajax比较
一致性 :加载页面与劢态更新某个模块的后端输出代码相同
加载页面
<html> <body><div></div></body> </html> <script>
遇到的问题 • 对真实地址栏跳转的模拟
– Iframe + hash + HTML5 state
• chunk大小限制
– Firefox 1k以上才可以开始渲染
• 减少图片请求:采用 base64对图片进行编码
• 静态资源域名增加
43
使用的范围
• BigPipe适用于:
第一个请求时间较长,后端程序需要读取多个 API 页面上的劢态内容可以划分在多个区块内显示, 且各个区块之间的关系丌大
相关文档
最新文档