优化网站设计系列文章总结和导读

news/2024/5/10 14:15:27/文章来源:https://blog.csdn.net/weixin_34082177/article/details/93725791

摘自:http://www.cnblogs.com/chenxizhang/archive/2013/05/20/3088196.html

 

概述

其实想写这方面的文章由来已久,这个系列文章的想法是参照雅虎团队提供的35条性能优化的最佳实践(其实最早的时候是14条),再结合我自己多年的实际工作经验,结合具体的开发平台(ASP.NET),为读者提供既有理论知识、又有实践指导的参考资料,对于优化而言,本身是一个长期细致的工作(没有所谓的银弹),并且重在权衡利弊,选择最适合自己项目情况的解决方案。而要达到这样的目标,就需要对网站设计优化有较为系统的认识,知其然、也知其所以然,然后才可以熟练地运用它们。

我从4月30日开始写这个系列,到今天(5月20日)已经全部写完,主要利用了假日、周末以及晚上的时间),虽然比较辛苦,但自认为这个系列写的质量算是我迄今为止最好的,并且毫无疑问,我有理由借此机会对我的家人的支持表示感谢。

在这个过程中,我也对有关的知识温故而知新,所以说个人收获已经很大了,如果能对阅读者也能有所帮助,那是再好不过的了。

导读

这个系列的内容组织保持了雅虎团队当年所提出的35条原则的结构,以便大家对照起来进行学习。值得一说的是,这些文档虽然参照了原文,但不是对原文的翻译,更多的是加入了我的一些见解以及演绎,有些地方可能还与原文有不太一样的说明。

  1. 优化网站设计(一):减少请求数

  2. 优化网站设计(二):使用CDN

  3. 优化网站设计(三):对资源添加缓存控制

  4. 优化网站设计(四):对资源启用压缩

  5. 优化网站设计(五):在顶部放置样式定义

  6. 优化网站设计(六):在文档底部放置脚本定义或引用

  7. 优化网站设计(七):避免在CSS中使用表达式

  8. 优化网站设计(八):将脚本文件和样式表作为外部文件引用

  9. 优化网站设计(九):减少DNS查找的次数

  10. 优化网站设计(十):最小化JAVASCRIPT和CSS

  11. 优化网站设计(十一):避免重定向

  12. 优化网站设计(十二):删除重复脚本

  13. 优化网站设计(十三):配置ETags

  14. 优化网站设计(十四):使AJAX调用尽可能利用缓存特性

  15. 优化网站设计(十五):尽可能早地发送缓冲区内容

  16. 优化网站设计(十六):为AJAX请求使用GET方法

  17. 优化网站设计(十七):延迟或按需加载内容

  18. 优化网站设计(十八):预加载内容

  19. 优化网站设计(十九):减少DOM元素的数量

  20. 优化网站设计(二十):使用多个主机来平衡负载

  21. 优化网站设计(二十一):尽量少用iframe

  22. 优化网站设计(二十二):避免404错误

  23. 优化网站设计(二十三):减小Cookie的体积

  24. 优化网站设计(二十四):通过使用不同的主机减少对cookie的使用

  25. 优化网站设计(二十五):避免对DOM元素进行过多操作

  26. 优化网站设计(二十六):设计“智能”的事件处理程序

  27. 优化网站设计(二十七):使用link而不是@import导入样式表

  28. 优化网站设计(二十八):避免使用Filters(滤镜)

  29. 优化网站设计(二十九):优化图片

  30. 优化网站设计(三十):优化CSS sprites

  31. 优化网站设计(三十一):不要在页面中缩放图片

  32. 优化网站设计(三十二):使favicon.ico文件尽可能小并且可以缓存

  33. 优化网站设计(三十三):尽量使单个内容体积小于25KB

  34. 优化网站设计(三十四):将组件直接打包到页面

  35. 优化网站设计(三十五):避免将img的src属性设置为空白

 

权衡

我多次提到权衡这个词,就好比一个架构师被问到“什么才是最好的架构?”这样的问题的时候,最合理的回答可能真的是“这个得看情况”(虽然这样的回答可能显得有点像外交辞令),因为技术是很多的,架构也很多,没有哪个架构对所有业务场景都是合适的。

同理,我们提到了很多原则,这些原则各自有它的侧重点。很显然,他们可能还互相有冲突。那么,这能说明什么呢?这难道说明这些原则不合理吗?当然不是,正好相反,这才是合理的。

为了帮助大家更好地了解这些原则之间的关系,抑或是互斥的、抑或是互补的,我整理了一个表格如下,给大家参考。

 

image

图中红色标识出来的原则就是或多或少会有互斥的。遇到这些原则,你需要兼顾到其他的原则,两害相权取其轻,做出最适合于你的实际情况的选择。

没有标识颜色的,标识这些原则是有互补性的,或者至少不冲突。

 

工具

我在编写本系列文章的时候,用到如下的工具

  1. 开发工具:Visual Studio 2012。我用的是2012,但如果想要跟着做练习,有2010也就可以了。
    • http://www.microsoft.com/visualstudio/chs/downloads
  2. 调试工具:
    1. Fiddler: :http://fiddler2.com/home 这是一个独立的网络测试和调试工具。
    2. IE 自带的开发工具(通过F12调出):我用的是IE 10,最好你至少有 IE 9. http://msdn.microsoft.com/en-us/library/ie/gg589507(v=vs.85).aspx
    3. Chrome自带的开发工具(通过F12调出):使用最新版本即可。https://developers.google.com/chrome-developer-tools/
    4. Chrome中安装的Yslow插件:https://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh
      • 关于Yslow的详细信息(包括计分规则等)请参考:http://yslow.org/ruleset-matrix/
      • Google自己也开发了一个类似的插件(功能很像):Page speed insights https://chrome.google.com/webstore/detail/pagespeed-insights-by-goo/gplegfbjlmmehdoakndmohflojccocli

 

最后,希望这个系列文章对大家有些帮助!

转载于:https://www.cnblogs.com/zhuwenlubin/p/3920527.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_820723.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SharePoint 2013 配置我的网站 图文引导

博客地址:http://blog.csdn.net/FoxDave 本篇我们来讲述一下关于SharePoint中我的网站(My Sites)相关的东西。 我的网站是SharePoint 2013中面向终端用户(End User)的平台,在2013版本中它是SharePoint功能中…

【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器

一、反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请…

网络的四层架构与网站的数据库的用户信息表的设计

转载于:https://www.cnblogs.com/sengling/p/5222532.html

网站性能扩展案例:每天30-50亿请求,300K QPS是如何炼成的

网站性能扩展案例:每天30-50亿请求,300K QPS是如何炼成的 Reduce Data广告服务网站(http://reducedata.com)如何扩展到每天300K QPS请求?分享经验如下: 1. 为大规模而设计,广告服务平台从一开始增长就很惊人&#xff0…

文件设置索引_咻咻SEO:上线3个月迟迟未收录,找大神才知道网站地图是错的,如何设置robots、sitemap...

一、网站地图/sitemap制作流程:XML:主要针对搜索引擎制作,提高网站各页面收录率;HTML:主要针对用户制作,索引用户浏览网站内容。Sitemap:谷歌制定规则,100个网页链接地址。提高蜘蛛工…

程序员经常去的网站

收集了一些程序员平时经常去的网站,还希望大家集思广益,多做补充 csdn http://www.csdn.net/java 中文站 http://www.java-cn.com/博客园 http://www.cnblogs.com/开源中国社区 http://www.oschina.net/安卓巴士 http://www.apkbus.com/看…

浅谈SEO翻倍提升网站流量

本文是在简单了解并且熟悉SEO技术的基础上加上自己的总结归纳,对于SEO还是一个长期的工程不是一天就能一下优化排名第一。下面就是我对SEO的一些见解: 一、关键字选择 内容相关搜索次数多,竞争小主关键词不可太宽泛主关键词也不可太特殊商业价…

网站开发div在Jquery中的鼠标事件失去焦点

网站div在Jquery中的鼠标事件失去焦点,今天在做网站开发的时候遇到了个问题,就是我在用Jquery做导航的时候,用到了Jquery的鼠标事件mouseout,但问题出来了,我有两个div,A的div包含了B的div,本来…

使用C#实现网站用户登录

我们在写灌水机器人、抓资源机器人和Web网游辅助工具的时候第一步要实现的就是用户登录。那么怎么用C#来模拟一个用户的登录拉?要实现用户的登录,那么首先就必须要了解一般网站中是怎么判断用户是否登录的。 HTTP协议是一个无连接的协议,也就…

小网站架构优化:从100并发抗到4000并发

前言: 很久前,在512M内存Access的VPS里,写过了一个经典的秋色园技术原理解析系列。后来的某一天,换上了1G内存MSSQL2000,秋色园又跑过了一个多年头。之后,秋色园和 CYQ.Data,也在一直默默的优化…

【系统架构】大型网站架构系列:缓存在分布式系统中的应用(二)

原文地址 缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 本文是缓存在分布式应用第二篇文章,介绍分布式缓存,Memcache,Redis&#xff0c…

python 抓取小说网站,制作电子书。

分析目的(或者说要达到的效果) 实现一个小说下载器,输入小说的名字然后抓取小说的全部章节,制作成文档。 需要的知识:使用BeautifulSoup或正则解析网页,使用requests下载网页。 搜索小说 直接用小说的站内搜…

【转】最实用的IT类网站及工具大集合

转自:http://www.cnblogs.com/annie00/p/5753507.html 1.聚合数据 大家在开发过程中,可能会用到各种各样的数据,想找一些接口来提供一些数据。比如天气预报查询,火车时刻表查询,彩票查询,身份证查询等等。有…

大型网站架构演变和知识体系

from http://www.blogjava.net/BlueDavy/archive/2008/09/03/226749.html 之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什…

关于动画培养灵感的网站

直接点解图片就能进入对应的国外的网站: 下面这个网站是视频播放的哦,挺好看的。 当然这个英文网站在国内也有翻译的blog:http://www.jianshu.com/p/1858a8733ba3

大型网站技术架构 大纲

本文内容大部分来自《大型网站技术架构》,这本书很值得一看,强烈推荐。网站系统架构层次如下图所示:1.前端架构前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。浏览器优化技术并不是优化…

knewone最新分享购物网站模板

演示效果:http://www.erdangjiade.com/templates/390 效果图片:

DTCMS 网站管理系统

dtcms适合开发一些简单小型网站 开发的过程中遇见了各种问题,下面总结下我遇见的问题 1.遇见提示未开启生成静态功能 在系统设置里面将“伪URL重写”为“生成静态”可以解决 2.在生成静态页面的时候提示生成页面完成,但是右下角却显示失败 这个可能是在新…

oracle em 此网站,Oracle 11g em启动报此网站的安全证书有问题的解决方案

今天配置完Oracle 11gR2 em后,在IE中输入https://kermart:1158/em直接报错,打不开提示:“证书错误,此网站安全证书有问题”,在网上找了好久没有找到解决的方案,其中有人说要卸载win7的windows补丁3KKB26612…

商城模板网站html5手机端_网站建设商城模板设计排版不同,但不可缺少的重要板块都会有 - 企业建站...

有的企业建网站,是为了宣传产品、树立企业形象,此类多为建设企业官方网站;有的企业建网站,销售产品是根本,此类都建设商城网站。建设网站又有两种方法,一类模板建站,一类定制建站。对于网站建设…