首先,让我们谈谈前端优化。80%的用户访问网页的等待时间发生在浏览器前端,尤其是页面和页面中各种元素(图片、CSS、JavaScript、flash…)的下载。因此,在许多情况下,与花费大量时间在困难和复杂的程序改进上相比,前端优化往往可以事半功倍。 利美网络
对于首次访问您的网站但尚未将您的网站内容缓存在浏览器缓存中的用户,我们可以执行以下操作:
利美网络
1) 减少页面访问生成的HTTP连接数
对于首次访问您的网站的用户,页面生成的HTTP连接数是影响性能的关键瓶颈。
利美项目圈
对策:
利美项目圈
-保持页面设计尽可能简单,尽量减少图片的使用,并通过放弃一些不必要的页面效果来减少JavaScript的使用。 copyright limeiseo
-使用一些优化技术,如利用图片的背景位移来减少图片数量;影像地图技术;使用inlineimages将CSS图像捆绑到网页中。
本文利美网络(www.limeiseo.com)整理发布
-尝试合并JS和CSS文件以减少独立文件的数量。
2) 将CSS放在页面顶部,将JS文件放在页面底部
利美网络
CSS引用应放在HTML的标题中,JS文件引用应尽可能放在页面底部标记的后面。其主要思想是尽快显示核心页面内容。但是需要注意的是,对于一些使用了大量JS的页面,底部的一些JS文件可能会导致一些不可预知的问题,可以根据实际情况适当使用。
具体来说,一些JavaScript压缩工具用于压缩JS脚本、删除空白字符和注释以及最小化变量名。基于gzip压缩,JS内容的压缩可以将性能再提高5%。 利美知识百科
3) 尽量减少使用外部脚本并减少DNS查询时间 利美网络
对于网站的频繁用户,主要的优化思想是很大限度地利用用户浏览器的缓存,以减少服务器的开销。 利美知识百科
4) 在标题中添加过期时间(expiresheader) 利美项目圈
向标头中的静态内容添加一个较长的过期时间,以便用户将来只能读取缓存中的文件,而无需与服务器进行任何交互。然而,这样做也存在一些问题。更新图像、CSS和JS文件时,如果用户不刷新浏览器,则无法获得更新。这样,当我们修改图像、CSS和JS文件时,我们必须重命名它们,以确保用户能够访问有价值的内容。这可能会给开发带来很多麻烦,因为这些文件可能会被站点中的许多文件引用。Flickr提出的处理方法是通过URL重写使不同版本号的URL实际指向同一个文件,这是一种聪明的方法,因为URL级别的操作效率很高,可以为开发过程提供很多便利。
要了解原因,您必须了解浏览器在访问URL时的工作方式: 利美项目圈
A.首次访问URL时,用户从服务器段获取页面内容,将相关文件(图像、CSS、JS…)放入缓存,并在文件头中保留过期时间、LastModified、ETag和其他相关信息。
本文利美网络(www.limeiseo.com)整理发布
B当用户重复访问URL时,浏览器首先检查缓存中是否存在同名文件。如果是,请检查文件的过期时间;如果文件未过期,则直接从缓存读取该文件,并且不再访问服务器。 利美项目圈
C如果缓存中文件的过期时间不存在或已超过,浏览器将访问服务器以获取文件的标题信息,检查LastModified、etags和其他信息。如果发现自上次访问以来本地缓存中的文件未被修改,则将使用本地缓存中的文件; 利美项目圈
根据我的经验,如果可能的话,试着遵循这个原则为静态文件增加过期时间,从而大大减少用户对服务器资源的重复访问。 利美项目圈
5) CSS和JS文件在单独的外部文件中引用 本文利美网络(www.limeiseo.com)整理发布
将CSS和JS文件放在单独的文件中,以便它们单独缓存,并且在访问其他页面时可以直接从浏览器的缓存中读取。有些网站的主页可能是例外。这些主页的自浏览量可能不大,但这是用户访问网站的***印象,也是引导用户访问其他页面的起点。这些页面本身也可能使用大量Ajax本地刷新和技术。此时,CSS和JS文件可以直接写入页面中。
利美项目圈
在ie中,包含重复的JS脚本将导致浏览器的缓存不被使用。仔细检查你的程序。删除重复的引用脚本应该不难。 limeiseo(加v分享)
除了标头中的人工重定向之外,网页重定向通常是无意中发生的,重定向的内容不会使用浏览器的缓存。例如,当用户正在访问时,服务器将转到/通过301,后跟“/”。如果服务器配置不好,也会给服务器带来额外的负担。通过配置Apache的别名或使用Mod_uurewrite模块和其他方法,可以尽可能避免不必要的重定向。 copyright limeiseo
还有其他一些,例如使用CDN分发机制、避免CSS表达式、避免ETag等。因为它们不常用,所以这里不再重复。 limeiseo(加v分享)
经过以上优化后,可以尝试用Yslow测试网页的性能得分,一般可以达到70分以上。 利美网络
当然,除了对浏览器前端和静态内容进行优化外,还对程序脚本、服务器、数据库和加载进行了优化。这些更深层次的优化方法对技术有更高的要求。本文的后半部分将重点讨论后端优化。 利美网络
本文利美网络(www.limeiseo.com)整理发布
本文利美网络(www.limeiseo.com)整理发布如何优化网站性能?针对前后端代码框架优化
利美项目圈
2、 后端优化
limeiseo(加v分享)