优化网站性能有哪些方法?网站性能优化的重点

浏览:/ 2020-01-14
  一、前端优化   网站功能优化是一个很归纳的论题,涉及到服务器的装备和网站前后端程序等各个方面,我只是从实际阅历出发,分享一下自己所尝试过的网站功能优化办法。之所以在标题上挂一个web2.0,是由于本文更偏重于中小网站的功能优化,我所运用的体系也是典型web2.0的LAMP架构。   首先讲讲前端的优化,用户拜访网页的等待时刻,有80%是发作在浏览器前端,特别是页面和页面中各种元素(图片、CSS、Javascript、 flash…)的下载之上。因此在许多情况下,相关于把很多的时刻花在艰苦而繁杂的程序改善上,前端的优化往往能起到事半功倍的作用。雅虎最近将内部运用的功能测验东西yslow向第三方公开,并发布了著名的网站功能优化的十三条规则,主张你下载并装置yslow,并作为测评网站优化作用的东西。下面我挑其间特别有价值的具体说明一下优化的办法:   关于第一次拜访您网站,尚未在浏览器cache中缓存您网站内容的用户,咱们能够做的作业包括:   1)削减一个页面拜访所发作的http连接次数   关于第一次拜访你网站的用户,页面所发作的http连接次数是影响功能的一个要害瓶颈。   对策:   - 尽量简练的页面规划,最大程度削减图片的运用,经过抛弃一些不必要的页面特效来削减javascript的运用。   - 运用一些优化技巧,比方利用图片的背景位移削减图片的个数;image map技能;运用Inline images将css图片捆绑到网页中。   - 尽量合并js和css文件,削减独立文件个数。   2) 运用gzip紧缩网页内容   运用gzip来紧缩网页中的静态内容,能够显著削减用户拜访网页时的等待时刻(据说可达到60%)。主流的web服务器都支撑或供给gzip紧缩,假如运用apache服务器,只需求在装备文件中敞开 mod_gzip(apache1.x)或mod_deflate(apache2.x)即可。凡是静态的页面,运用gzip紧缩都能够显著进步服务器功率并削减带宽支出,留意图片内容本身已经是紧缩格式了,有必要不要再进行紧缩。   3)将CSS放在页面顶端,JS文件放在页面底端   CSS的引证要放在html的头部header中,JS文件引证尽量放在页面底端标签的后边,首要的思路是让中心的页面内容尽早显示出来。不过要留意,一些很多运用js的页面,可能有一些js文件放在底端会引起一些难以预料的问题,根据实际情况恰当运用即可。   4)使JS文件内容最小化   具体来说便是运用一些javascript紧缩东西对js脚本进行紧缩,去除其间的空白字符、注释,最小化变量名等。在运用gzip紧缩的基础上,对js内容的紧缩能够将功能再进步5%。   5)尽量削减外部脚本的运用,削减DNS查询时刻   不要在网页中引证太多的外部脚本,首先,一次dns的解析进程会耗费20-120毫秒的时刻;其次,假如在页面中引证太多的外部文件(如各种广告、联盟等代码),可能会由于外部文件的响应速度而将你的网站拖得很慢。假如不得不必,那么就尽量将这些脚本放在页脚吧。不过有一点需求提及,便是浏览器一般只能并行处理同一域名下的两个请求,而关于不同子的域名则不受此限制,因此恰当将本站静态内容(css,js)放在其他的子域名下(如 static.xxx.com)会有利于进步浏览器并行下载网页内容的才能。   关于您网站的经常性拜访用户,首要的优化思路便是最大限度利用用户浏览器的cache来削减服务器的开支。   1)在header中增加过期时刻(Expires Header)   在header中给静态内容增加一个较长的过期时刻,这样能够运用户今后拜访只读取缓存中的文件,而不会与服务器发作任何的交互。不过这样做也存在一些问题,当图片、CSS和js文件更新时,用户假如不改写浏览器,就无法获得此更新。这样,咱们在对图片、css和js文件修改时,必需要进行重命名,才能确保用户拜访到最新的内容。这可能会给开发形成不小的麻烦,由于这些文件可能被站点中的许多文件所引证。flickr提出的解决办法是经过url rewrite使不同版本号的URL事实上指向同一个文件,这是一个聪明的办法,由于url等级的操作功率是很高的,能够给开发进程供给不少便当。   要了解为什么这样做,必需要了解浏览器拜访url时的作业机制:   a. 第一次拜访url时,用户从服务器段获取页面内容,并把相关的文件(images,css,js…)放在高速缓存中,也会把文件头中的expired time,last modified, ETags等相关信息也一起保留下来。   b. 用户重复拜访url时,浏览器首先看高速缓存中是否有本站同名的文件,假如有,则检查文件的过期时刻;假如尚未过期,则直接从缓存中读取文件,不再拜访服务器。   c. 假如缓存中文件的过期时刻不存在或已超出,则浏览器会拜访服务器获取文件的头信息,检查last modifed和ETags等信息,假如发现本地缓存中的文件在上次拜访后没被修改,则运用本地缓存中的文件;假如修改过,则从服务器上获取最新版本。   我的经验,假如可能,尽量遵从此原则给静态文件增加过期时刻,这样能够大幅度削减用户对服务器资源的重复拜访。   2)将css和js文件放在独立外部文件中引证   将css和js文件放在独立文件中,这样它们会被独自缓存起来,在拜访其他页面时能够从浏览器的高速缓存中直接读取。一些网站的主页可能是破例的,这些主页的自身浏览可能并不大,但却是用户拜访网站的第一印象以及导向到其他页面的起点,也可能这些页面本身运用了很多的ajax部分改写及技能,这时能够将 css和js文件直接写在页面中。   3)去掉重复的脚本   在IE中,包括重复的js脚本会导致浏览器的缓存不被运用,细心检查一下你的程序,去掉重复引证的脚本应该不是一件很难的作业。   4)防止重定向的发作   除了在header中人为的重定向之外,网页重定向常在不经意间发作,被重定向的内容将不会运用浏览器的缓存。比方用户在拜访,服务器会经过301转向到/,在后边加了一个“/”。假如服务器的装备不好,这也会给服务器带来额外的负担。经过装备apache的 alias或运用mod_rewrite模块等办法,能够防止不必要的重定向。

阅读"优化网站性能有哪些方法?网站性能优化的重点"的人还阅读

上一篇:SEO排名技巧:企业网站关键词排名优化

下一篇:静态,伪静态和动态页面对于SEO的区别