網站前端性能优化总结.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
網站前端性能优化总结

 一、服务器侧优化 1.?添加?Expires?或?Cache-Control?信息头? 某些经常使用到、并且不会经常做改动的图片(banner、logo等等)、静态文件(登录首页、说明文档等)可以设置较长的有效期(expiration date),这些HTTP头向客户端表明了文档的有效性和持久性。如果有缓存,文档就可以从缓存(除已经过期)而不是从服务器读取。接着,客户端考察缓存中的副本,看看是否过期或者失效,以决定是否必须从服务器获得更新。 各个容器都有针对的方案,,以?Apache?为例:ExpiresActive OnExpiresByType image/gif?access plus 1 weeks 表示gif文件缓存一周,配置可以根据具体的业务进行调整,具体配置可以参考:/Apache/ApacheMenu/mod/mod_expires.html 2.?压缩内容? 对于绝大多数站点,这都是必要的一步,能有效减轻网络流量压力。ifmodule mod_deflate.cDeflateCompressionLevel?9AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-phpAddOutputFilter DEFLATE html htm xml php css js/ifmodule 表示zlib在压缩时可以最大程度的使用内存,压缩html、文本、xml和php这几种类型的文件,指定扩展名为html、htm、xml、php、css和js的文件启用压缩。 具体配置可以参考:/Apache/ApacheMenu/mod/mod_deflate.html 3.?设置?Etags? 在使用etags之前,有必要复习一下?RFC2068?中规定的返回值?200?和?304?的含义:200--OK304--Not Modified 客户端在请求一份文件的时候,服务端会检查客户端是否存在该文件,如果客户端不存在该文件,则下载该文件并返回200;如果客户端存在该文件并且该文件在规定期限内没有被修改(Inode,MTime和Size),则服务端只返回一个304,并不返回资源内容,客户端将会使用之前的缓存文件。而etags就是判断该文件是否被修改的记号,与服务器端的资源一一关联,所以etags对于CGI类型的页面缓存尤其有用。 下图是优化前的首页:(注意,此时没有压缩首页图片,即使使用了缓存,仍需要5s左右的时间)化前的某页面 需要注意的是,使用etags会增加服务器端的负载,在实际应用中需要自行平衡。 二、Cookie优化 1.?减小Cookie体积 HTTP coockie可以用于权限验证和个性化身份等多种用途。coockie内的有关信息是通过HTTP文件头来在web服务器和浏览器之间进行交流的。因此保持coockie尽可能的小以减少用户的响应时间十分重要。 使cookie体积尽量小; 在合适的子域名上设置bookie,以免影响其他子域名下的响应; 设置合理的过期时间,去掉不必要的cookie。 下面对比一下各个网站的cookie:图中可以看出,6K的cookie显然是不必要的。 2.?对于页面内容使用无coockie域名 当浏览器在请求中同时请求一张静态的图片和发送coockie时,服务器对于这些coockie不会做任何地使用。因此它们只是因为某些负面因素而创建的网络传输。所以你应该确定对于静态内容的请求是无coockie的请求。创建一个子域名并用他来存放所有静态内容。 例如,域名是,则可以考虑可以在上存在静态内容。但是,如果不是在上而是在顶级域名设置了coockie,那么所有对于的请求都包含coockie。在这种情况下,可以考虑重新购买一个新的域名来存在静态内容,并且要保持这个域名是无coockie的。例如,使用的是,使用的是,使用的是等等。 性能方面的考虑还有使用带有www的子域名并且在它上面设置coockie,因为忽略www会把cookie设置到*.上去,使cookie带有一些不必要的信息。 三、JAVA SCRIPT?和?CSS 优化 1.?把?CSS?放到代码页上端? 这么做可以避免浏览器在解释一次之后,使用css进行第二次解释,因为用户对css裸奔日效果根本就不感兴趣。css裸奔节效果图(来源:网络)? 2.?避免?CSS?表达式? 凡是只有IE能用的东西,都不是好东西。 3.?从页面中剥离?JavaScript?与?CSS 剥离后,能够有针对性的对其进行单独的处理策略,比如压缩或者缓存策略。(css已经剥离,但js嵌入到html里面了,并且放在了html的上部,所以这货是正面+反面教材) 4.?精简?Jav

文档评论(0)

sd47f8cI + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档