性能优化之优化加载资源

一个网页的加载一般都需要加载:HTMLCSSJavaScript图像等资源。资源总字节越大,则需要请求的次数就会越多,加载资源所需要的时间也会越长。因此,根据RAIL评估模型,我们想要在尽量在1s内加载完成网站,就必须要优化我们的加载资源,尽量减少下载次数。

优化加载资源主要有:

  1. 避免不必要的下载

  2. 资源的压缩和优化

  3. HTTP缓存,减少下载次数

    大专栏  性能优化之优化加载资源要的下载" class="headerlink" title="1.避免不必要的下载">1.避免不必要的下载

  • 查看网页自有资源和第三方资源,权衡它带来的价值和对网页性能影响的比来决定是否要保留这些资源。

    2.资源的压缩和优化

  • 启用GZIP压缩。
  • 对CSS,JS,HTML文件进行内容特定优化,比如:删掉注释减小网页大小,将CSS中重复选择器合折叠为一个,删除制表符和空格。
  • 如果可以的话尽量多利用CSS3效果来代替图像。

    3.HTTP缓存,减少下载次数

  • 确保服务器提供ETag:有了ETag,当服务器上的资源未发生变化时,可避免下载。
  • 确定中间缓存资源。
  • 为缓存资源确定适合的max-age时长,单位是

原文地址:https://www.cnblogs.com/lijianming180/p/12286272.html

时间: 2024-10-09 23:46:50

性能优化之优化加载资源的相关文章

移动网站性能优化:网页加载技术概览

性能一直是网站成功的关键.越来越多的研究已经证明,不管是小型电商,还是像沃尔玛那样的连锁店,即使是页面加载时间方面的细微改善,都可以带来更多的业务,更多的广告收入,更多的用户粘性和更多的客户满意度. 在过去几年,Web开发者都是基于改善硬件或者提高带宽速度来优化用户体验.但是最近几年,爆炸式的移动Web浏览器的使用打破了这个途径.低带宽,高延迟,小内存,低处理器性能的移动设备环境,迫使开发者不得不想办法通过优化前端页面的性能来满足用户的性能预期. 在强调如何解决移动端性能问题上,这篇文章总结了一

移动网站性能优化:网页加载(转)

原文链接:http://caibaojian.com/mobile-optimization.html 由于移动设备存在的环境限制,如低带宽,高延迟,小内存,低处理器性能的等,迫使开发者不得不想办法通过优化前端页面的性能来满足用户的性能预期.在强调如何解决移动端性能问题上,这篇文章总结了一些前端优化的案例,并且概括了一些加速页面的方法和策略.· 为什么性能会影响这么多 不论你的页面设计地多么有趣.漂亮.交互性好,不管是在桌面还是移动设备上,如果页面需要花2到3秒时间去渲染展示,那么用户都会很快变

Unity3D - 图形性能优化:优化着色器加载时间

Unity官方文档之"图形性能优化-优化着色器加载时间"的翻译,E文链接. Optimizing Shader Load Time 优化着色器加载时间 Shaders are small programs that execute on the GPU, and loading them can take some time. Each individual GPU program typically does not take much time to load, but shade

高性能网站优化-确保异步加载脚本时保持执行顺序

<高性能网站建设进阶指南> 脚本如果按照常规方式加载,不仅会阻塞页面中其他内容的下载,还会阻塞脚本后面所有元素的渲染.异步加载脚本可以避免这种阻塞现象,从而提高页面加载速度.但是性能的提升是要付出代价的.代码的异步执行可能会出现竞争状态.简单地说就是页面内部的脚本需要的标示符如果是在外部文件中定义的,而当外部文件异步加载的时候,如果没有保证外部文件和内部脚本执行顺序,很有可能会出现未定义标示符的错误 当异步加载的外部脚本与行内脚本之间存在代码依赖时,就需要通过一种保证执行顺序的方法来整合这两个

页面优化——js异步加载

同步加载 在介绍js异步加载之前,我们先来看看什么是js同步加载.我们平时最常使用的就是这种同步加载形式: <script src="http://XXX.com/script.js"></script> 同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像).渲染.代码执行.一般的script标签(不带async等属性)加载时会阻塞浏览器,也就是说,浏览器在下载或执行该js代码块时,后面的标签不会被解析,例如在he

Android应用程序UI硬件加速渲染的预加载资源地图集服务(Asset Atlas Service)分析

我们知道,Android系统在启动的时候,会对一些系统资源进行预加载.这样不仅使得应用程序在需要时可以快速地访问这些资源,还使得这些资源能够在不同应用程序之间进行共享.在硬件加速渲染环境中,这些预加载资源还有进一步优化的空间.Android系统提供了一个地图集服务,负责将预加载资源合成为一个纹理上传到GPU去,并且能够在所有的应用程序之间进行共享.本文就详细分析这个预加载资源地图集服务的实现原理. 老罗的新浪微博:http://weibo.com/shengyangluo,欢迎关注! 资源预加载

使用代码来加载资源和释放资源

资源不只是可以通过编辑器绑定获取. 其实他还可以使用代码来动态加载. cc.loader 1.它有3个默认的Pipeline(管道): (1)assetLoader:主要用于加载资源,加载asset类型资源和释放这些资源 (2)downloader:主要用于下载文件,文本,图像,脚本,声音,字体,自定义的download (3)loader:第三个是默认的Pipeline可以加载json,image,plist,fnt,uuid; 2.资源分为本地(assets目录下)和远程资源 3.加载分为同

[转]预加载资源研究

原文: http://www.otakustay.com/prefetch-resource/ 什么是预加载 所谓预加载,就是通过一定的编程方法,使浏览器在空间的时候,在后台通过HTTP请求访问某些资源.当用户在一段时间后真正使用这些资源的时候,相比一个完整的(返回200)的请求,可以更快地获得这些资源(返回304或者直接命中浏览器缓存). 预加载在部分情况下有着十分重要的意义,特别是当确定某些资源用户在短时间内会使用,如分页列表的上一页和下一页.以及一些常用的LOGO之类的图片等. 预加载资源

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自