前端庞大,包括HTML、CSS、Javascript、Image、Flash等各种资源,前端优化复杂,各个方面都有不同的方法资源。那么,前端优化的目的是什么?Tips:个人博客排版,更好的UI;地址:https://haonancx.github.io/从用户的角度出发,优化可以让页面加载更快,用户的操作响应更及时,可以为用户提供更友好的体验。从服务商的角度来看,优化可以减少页面请求的次数,或者减少请求占用的带宽,可以节省可观的资源。总之,适当的优化不仅可以提升网站的用户体验,还可以节省可观的资源利用率。前端性能优化——雅虎前端性能团队总结的35条黄金法则雅虎ExcetionalPerformance团队总结了一系列可以提高网站速度的方法。它可以分为7大类35项(包括内容、服务器、CSS、JavaScript、cookies、图像、移动应用程序)。尽量减少内容部分的HTTP请求减少DNS查找避免跳转缓存Ajax延迟加载提前加载减少DOM元素的数量使用域名来划分页面内容尽量减少帧数避免404错误合并文件通过将所有脚本放在一个文件中来减少HTTP请求的方法。CSSSprites是减少图像请求的有效方法。缓存DNS查找可以提高页面性能。重定向是使用301和302代码实现的(但请记住,重定向会降低用户体验)。要提高性能,优化Ajax响应很重要。提高Ajxa性能的最重要措施之一是使响应可缓存。你可以好好看看你的网页,问问自己“页面渲染时必须先加载哪些内容?哪些内容和结构可以稍后加载?预加载和后加载看似相反,但实际上预加载使用的是加载实现另一个目的,预加载就是在浏览器空闲的时候请求以后可能用到的页面内容(比如图片,样式表,脚本),使用这种方式,当用户想要访问下一个页面时,最页面上的内容已经加载到缓存中,因此可以大大提高访问速度,复杂的页面意味着需要下载更多的数据,也意味着JavaScript遍历DOM的效率更慢。例如,当你添加一个事件循环遍历500和5000个DOM元素时,处理起来肯定不一样。将页面内容分成几个部分可以让你最大化并行下载。最小化iframe的数量,ifrmae元素可以在父文档中插入一个新的HTML文档。为了更有效地使用它,了解iframe的工作原理很重要。HTTP请求是耗时的,所以使用HTTP请求得到无用的响应(比如404页面未找到)是完全没有必要的,只会降低用户体验,没有任何好处。服务器部分使用CDN为文件头指定Expires或Cache-Control。Gzip压缩文件内容配置ETag以尽早刷新输出缓冲区。使用GET完成AJAX请求。将您的网站内容分布在多个位于不同地理位置的服务器上可以加快下载速度。为文件头指定Expires或Cache-Control。这个规则包括两个方面:对于静态内容:设置文件头的过期时间,设置Expires的值为“Neverexpire”(永不过期);对于动态内容:使用适当的Cache-Control标头来帮助浏览器发出条件请求。前端机制可以显着改善网络传输中的HTTP请求和响应时间。实际上,最终用户的带宽、Internet提供商、与对等交换点的距离等不在网站开发者的判断范围内。但是还有其他因素会影响响应时间。可以通过减小HTTP响应的大小来节省HTTP响应时间。实体标签(ETags)(entitytags)是网络服务器和浏览器使用的一种机制,用来判断浏览器缓存中的内容是否与服务器中的原始内容匹配(“实体”就是所谓的“内容”,包括图片、脚本、样式表等)。添加ETag为实体验证提供了比使用“最后修改日期”更灵活的机制。当用户请求页面时,在后台组织HTML文件需要200到500毫秒。(尽早刷新输出缓冲区)。雅虎!Mail团队发现,在使用XMLHttpRequest时,浏览器中的POST方法是一个“两步”过程:先发送文件头,再发送数据。所以使用GET是最合适的,因为它只需要发送一个TCP数据包(除非你有很多cookie)。IE中的URL最大长度为2K,所以如果要发送超过2K的数据,就不能使用GET。CSS部分将样式表放在顶部避免使用CSS表达式()使用而不是@import避免使用过滤器研究Yahoo!performance,我们发现把stylesheet放在文档的
