网站优化——前端部分

开篇语

作为一个前端的菜鸟,总是在面试的时候被问及一些优化的问题,说实话,回答的时候总是心虚,因为确实没有真真正正做过优化对比,也不知道从何说起,今天在网上收集一些例子加以总结,日后若是开发用到,也能一一对照,把自己开发的网站做到最优化!

网站优化

一个网站的优化,前端只是很小的一部分。大到系统架构,小到页面HTML布局,无一不影响这一个网站的用户体验。由于现在知识面还比较窄,对架构方面的优化(服务器集群、业务分离、NOSQL、数据库设计、缓存设置、单点登录)理解不全面,本篇就先只总结前端的一些优化技巧,有不全或者不对的地方,还请各位留言指正,大神勿喷哦,小弟学习也不容易呢,O(∩_∩)O!

前端优化条例:(雅虎23条军规)

1. 减少HTTP请求次数 
合并图片、CSS、JS,改进首次访问用户等待时间。 
2. 使用CDN 
就近缓存==>智能路由==>负载均衡==>WSA全站动态加速 
3. 避免空的src和href 
当link标签的href属性为空、script标签的src属性为空的时候,浏览器渲染的时候会把当前页面的URL作为它们的属性值,从而把页面的内容加载进来作为它们的值。测试 
4. 为文件头指定Expires 
使内容具有缓存性。避免了接下来的页面访问中不必要的HTTP请求。 
5. 使用gzip压缩内容 
压缩任何一个文本类型的响应,包括XML和JSON,都是值得的。旧文章 
6. 把CSS放到顶部 
7. 把JS放到底部 
防止js加载对之后资源造成阻塞。 
8. 避免使用CSS表达式 
9. 将CSS和JS放到外部文件中 
目的是缓存,但有时候为了减少请求,也会直接写到页面里,需根据PV和IP的比例权衡。 
10. 权衡DNS查找次数 
减少主机名可以节省响应时间。但同时,需要注意,减少主机会减少页面中并行下载的数量。 
IE浏览器在同一时刻只能从同一域名下载两个文件。当在一个页面显示多张图片时,IE 用户的图片下载速度就会受到影响。所以新浪会搞N个二级域名来放图片。 
11. 精简CSS和JS 
12. 避免跳转 
同域:注意避免反斜杠 “/” 的跳转; 
跨域:使用Alias或者mod_rewirte建立CNAME(保存域名与域名之间关系的DNS记录) 
13. 删除重复的JS和CSS 
重复调用脚本,除了增加额外的HTTP请求外,多次运算也会浪费时间。在IE和Firefox中不管脚本是否可缓存,它们都存在重复运算JavaScript的问题。 
14. 配置ETags 
它用来判断浏览器缓存里的元素是否和原来服务器上的一致。比last-modified date更具有弹性,例如某个文件在1秒内修改了10次,Etag可以综合Inode(文件的索引节点(inode)数),MTime(修改时间)和Size来精准的进行判断,避开UNIX记录MTime只能精确到秒的问题。 服务器集群使用,可取后两个参数。使用ETags减少Web应用带宽和负载 
15. 可缓存的AJAX 
“异步”并不意味着“即时”:Ajax并不能保证用户不会在等待异步的JavaScript和XML响应上花费时间。 
16. 使用GET来完成AJAX请求 
当使用XMLHttpRequest时,浏览器中的POST方法是一个“两步走”的过程:首先发送文件头,然后才发送数据。因此使用GET获取数据时更加有意义。 
17. 减少DOM元素数量 
是否存在一个是更贴切的标签可以使用?人生不仅仅是DIV+CSS 
18. 避免404 
有些站点把404错误响应页面改为“你是不是要找***”,这虽然改进了用户体验但是同样也会浪费服务器资源(如数据库等)。最糟糕的情况是指向外部 JavaScript的链接出现问题并返回404代码。首先,这种加载会破坏并行加载;其次浏览器会把试图在返回的404响应内容中找到可能有用的部分当作JavaScript代码来执行。 
19. 减少Cookie的大小 
20. 使用无cookie的域 
比如图片 CSS 等,Yahoo! 的静态文件都在 yimg.com 上,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名 (yahoo.com) 的影响。 
21. 不要使用滤镜 
png24的在IE6半透明那种东西,别乱使,淡定的切成PNG8+jpg 
22. 不要在HTML中缩放图片 
23. 缩小favicon.ico并缓存

总结:以上每一条优化方式,网上都有相应的操作方法,个人觉的是在开发前熟记军规,避免二次开发。当然特殊情况除外,烧银子的优化得看自身情况喽!

测试篇:

智者千虑必有一失,膨大的项目开发完毕,避免不了会有疏忽的地方。这时我们需要通过一些测试工具进行专业性的测试,测试后再对症下药,做到力所能及的最大优化!

1、YSlow:YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化。

YSlow使用方式:

http://lusongsong.com/reed/362.html

YSlow跌评分规则:

(1)http://www.blueidea.com/tech/web/2008/6133.asp

(2)http://www.blueidea.com/tech/web/2008/6133_2.asp

2、Fiddler:Fiddler的功能很强大,它不仅可以查看HTTP的通信信息,也可以进行分析,从而发现通信过程中的问题,为优化网站页面和提高性能提供依据。

Fiddler优化案例:

http://www.cnblogs.com/lerit/archive/2010/11/03/1867898.html

总结:

感觉网站就像一个人一样,开发者作为父母,在塑造阶段就应考虑好给他一个健全的体魄,倘若迫不得已不能返工重建,至少我们应该带他去看病检测,以方便知道他哪里不舒服,好对症下药。总之,尽自己的所能塑造一个完美的个体,才能不辱使命说自己是一个合格的“造物者”!

时间: 2024-08-09 02:59:00

网站优化——前端部分的相关文章

网站优化——前端部分【转】

开篇语 作为一个前端的菜鸟,总是在面试的时候被问及一些优化的问题,说实话,回答的时候总是心虚,因为确实没有真真正正做过优化对比,也不知道从何说起,今天在网上收集一些例子加以总结,日后若是开发用到,也能一一对照,把自己开发的网站做到最优化! 网站优化 一个网站的优化,前端只是很小的一部分.大到系统架构,小到页面HTML布局,无一不影响这一个网站的用户体验.由于现在知识面还比较窄,对架构方面的优化(服务器集群.业务分离.NOSQL.数据库设计.缓存设置.单点登录)理解不全面,本篇就先只总结前端的一些

php网站优化-(ab测试)

前沿 最近要熟悉一下网站优化,包括前端优化,后端优化,涉及到的细节Opcode,Xdebuge等,都会浅浅的了解一下. 安装 ab是Apache的自带的工具,如果是window安装的,找到Apache的bin目录,在系统全局变量中添加Path,然后就可以使用ab了 ab的基本参数 -c 并发的请求数 -n 要执行的请求总数 -k 启用keep-alive功能(开启的话,请求会快一些) -H 一个使用冒号分隔的head报文头的附加信息 -t 执行这次测试所用的时间 ab基本语法 ab -c 5 -

优秀网站看前端 —— 小米Note介绍页面

刚开始经营博客的时候,我写过不少“扒皮”系列的文章,主要介绍一些知名站点上有趣的交互效果,然后试着实现它们.后来开始把注意力挪到一些新颖的前端技术上,“扒皮”系列便因此封笔多时.今天打算重开“扒皮”的坑,不过咱挂个优雅点的名字——“优秀网站看前端”,顾名思义的,也是寻觅一些值得玩味的趣味网站,来学习它们的前端技术和交互理念. 作为本系列的开篇,我们拿“买手机送国土”的小米来打头阵,缘由是鄙人有着更换手机的打算又刚好看上小米note高配版,于是逛了下小米note的介绍页面,感觉交互做的挺不错,特别

静态资源文件自动压缩并替换成压缩版本(大型网站优化技术)

原文:静态资源文件自动压缩并替换成压缩版本(大型网站优化技术) 这一次,我总结和分享一项大型网站优化技术,那就是在项目中自动压缩静态资源文件(css.js),并让网站自动加载压缩后的资源文件.当然,这项技术在雅虎35条前端优化建议里也有记载,但它那只是给出一个理论的方案而已,并且采用的是外部压缩工具去压缩,而在我的项目中,是直接通过自己的程序自动化去压缩所有css.js文件,然后让页面直接加载所压缩后的资源,接下来直接进入主题. 本次实验使用的是PHP脚本语言,版本是PHP5.6,是在LINUX

网站优化记录

网站优化实录 网站优化,从多方面优化,分为前端优化部分和服务器(后台)优化. 现在主要讲前端优化的部分,这是从我自己在做网站优化的时候记录下来的.首先的是,前端优化方面,从多个方面,主要是图片文件,文件链接,html代码结构,css优化等.使用工具比较多,先是用于检测网站性能的工具. 检测网站性能的工具和方法: 通过检测,可以更准确找出网站加载慢的愿意和改善的方案. 1.最简单的方法. webkit内核(谷歌)游览器 F12 - 调出调试工具--选中Network ,然后刷新网站,可以看到具体的

优化前端网页性能

综合来看,优化前端网页性能有以下几种方式: 网页内容.服务器.图片.cookie.css/js文件处理等方式. 1.网页内容: 通过减少http请求,减少DNS查询,延时加载不急切需要的内容,提前加载将要需要的内容,不要404页面,不用iframe等方式. 减少http请求次数:将文件捆绑打包,将图片合并. 减少DNS 查询:本地上可以清除DNS记录,但是这只能让本地浏览速度加快,服务器上怎么设置呢? 2.服务器: 通过设置服务器使得提高网页性能的方式并不是很熟练.主要有以下等方式:  CDN.

减少HTTP请求之合并图片详解(大型网站优化技术)

原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在了前端上,其中大部分时间都在下载页面上的各种组件:图片,样式表,脚本,Flash等等. 减少组件数必然能够减少页面提交的HTTP请求数.这是让页面更快的关键.减少页面组件数的一种方式是简化页面设计.但有没有一种方法可以在构建复杂的页面同时加快响应时间呢?嗯,确实有鱼和熊掌兼得的办法. 这里我们就拿雅

网站优化(SEO)的10大误区

前段时间大前端也有关于SEO的文章贡献给广大读者,今日,再发一文,网站优化(SEO)的10大误区.很多新手站长初次接触SEO,感受到SEO 的无穷魅力,想要做一位优秀的SEOer,然而新手朋友在进行SEO时难免会因为经验的缺乏做出一些错误 的做法,这里大前端就为您指出一些SEO中常见的新手易犯的错误之处,以供参考. 误区一:外链群发. 新手SEOer朋友往往对SEO了解不够全面,听说网站外链多了排名和权重就会上去,就搞一些论坛或者博客群发软件开始 群发外链,结果相当凄惨,网站轻则被降权,排名跌到

网站优化实战--解决网站动态压缩过程

本来想写一个网站优化的系列(前端到后端的数据库,垂直优化到分布式,后面会补上),但没有时间(借口),今天就总结一下前几天优化网站的过程. 网站优化重点在于找出出现性能问题的地方,往往是解决方案很简单,过程很艰辛. 先介绍一下场景:公司某网站产品的一个页面加载速度非常慢,完全加载完成大约8秒左右,要尽可能的提高网站加载速度. 线上环境:IIS6.0 +ASP.NET MVC4 解决思路: 对于网站优化我曾经总结过一套方法论:顺着HTTP请求方向追一排查,例如:浏览器->IIS服务器->ASP.N