



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除高性能网站建设指南:性能提升的14个原则原则1 减少HTTP请求数构造请求、等待响应需要时间,因此请求数量越少越好。减少请求的总体思路就是合并资源,减少显示一个页面需要的文件数。1. Image Map通过设置标签的usemap属性与使用标签可以在一幅图片上切分出多个区域,指向不同的链接。比起使用多幅图片分别构造链接减少了请求数。2. CSS Sprite(CSS贴图整合/贴图拼合/贴图定位)通过设置元素的background-position样式做到。一般用于界面图标。典型的可以参考TinyMCE编辑器上方的那些小按钮。多个小图实质是从一个统一的大图通过不同的偏移量裁剪而来,这样加载界面上的众多按钮实际上只要请求一次(请求大图一次),从而减少HTTP请求数。3. Inline Image(内联图片)在的src中不指定外部图片文件的URL,而是直接将图片信息放入。例如src=/”data:image/gif;base64,R0lGODlhDAAMAL.”某些特殊情况下有用(例如一个不大的图片仅在当前页面用到)。原则2 利用多线路CDN为你的站点提供多种线路(例如国内电信、联通、移动)、多个地理位置(北方、南方、西部)的访问,使得所有用户都能够快速访问。原则3 利用HTTP Cache给不频繁更新的资源(例如静态图)加较长的Expires头信息,这些资源一经缓存,未来很长时间都可以不再重复传输了。原则4 使用Gzip压缩使用Gzip压缩HTTP报文,减小体积,减少传输时间。原则5 将样式表置于页面前部先加载样式表,这样页面渲染得以较早开始,给用户页面加载较快的感觉。原则6 将脚本置于页面尾部原因同5,先处理页面显示,页面渲染较早完成,而脚本逻辑稍后执行,这样给用户页面加载较快的感觉。原则7 避免使用CSS表达式过于复杂的Java脚本逻辑、DOM查找、选择操作将会降低页面处理效率。原则8 将Java与CSS作为外联资源这似乎与原则1中的合并思想相悖,但其实不然:考虑每个页面都引入了一个公共的Java资源(例如jQuery或是ExtJS这样的Java库),单就一个页面的表现来看,内联(即将Java嵌入HTML)页面将比外联(使用标签引入)页面加载更快(因为其较少的HTTP请求数)。但如果有很多页面都引入了这个公共Java资源,那么内联方案会造成重复传输(因为这个资源内嵌在每个页面中了,所以每次打开一个页面都要将这部分资源传输一遍,从而造成网络传输资源的浪费)。而将这种资源独立出来外联引用可以解决这个问题。由于Java和CSS相对稳定,我们可以对其对应的资源设置较长的失效期(参考原则3)。原则9 减少DNS查找作者给出的建议是:1. 使用Keep-Alive保持连接如果连接断开,那么下次连接又要执行DNS查找,即使对应的域名-IP映射已被缓存,查找也是要消耗一些时间的2. 减少域名每次请求新域名都需要进行通过DNS查找不同的域名,且DNS缓存无法发挥作用。因此应该尽量将站点组织在一个统一域名下,避免使用过多子域名原则10 压缩你的Java使用JS压缩工具压缩你的Java吧,很有效哦。看看jQuery的两个不同的发行版本就知道区别了:原则11 尽量避免重定向一次重定向意味着在你真正访问到想要看到的页面前加入了一轮额外的HTTP请求(客户端发起HTTP请求HTTP服务器返回重定向响应客户端对新URL发起请求HTTP服务器返回内容,下划线部分为额外的请求),因此消耗更多的时间(也就给人反应更慢的感觉)。因此除非必要,不要随意使用重定向。几个“必要”的情况:1. 避免URL失效旧站点迁移后,为了避免旧的URL失效,通常将对旧URL的请求重定向至新系统的对应地址。2. URL美化在可读性好的URL与实际资源URL之间转换,例如对于Google Toolbar,用户记得住这个对人类富有语义的地址,却很难记住/tools/firefox/toolbar/FT3/intl/en/index.html这个真正的资源地址。因此有必要保留前者,并且将对前者的请求重定向至后者。原则12 移除重复的脚本不要在一个页面中重复引入相同的脚本。例如脚本B和C都依赖于A,那么在使用了B和C的页面中就有可能存在对A的重复引用。解决方法,对于简单的站点手动检查依赖性,消去重复引入;对于复杂的站点则需要构建自己的依赖管理/版本控制机制。原则13 小心处理ETagETag是除Last-Modified之外的另一种HTTP Cache手段。通过hash的办法辨识资源是否被修改。但ETag存在一些问题,例如:1. 不一致:不同Web服务器(Apache, IIS等)定义的ETag格式不同2. ETag的计算是不稳定的(由于考虑过多因素),例如:1) 相同资源在不同服务器上计算出来的ETag不一样,而大型Web应用通常由不止一台服务器提供服务,这就导致客户端在服务器A缓存好的资源明明仍然有效,而在下次请求B时由于ETag不同而被认定为失效,导致相同资源的重复传输。2) 资源不变,而由于一些其他因素的变化,例如配置文件更改,导致ETag变化。直接后果是系统更新后客户端大规模发生Cache失效,导致传输量大增,站点性能下降。作者给出的建议是:要么根据你的应用特点改进已有的ETag计算方法,要么干脆就不用ETag,而改用最简单的Last-Modified.原则14 在Ajax中利用HTTP CacheAjax是异步请求,异步请求不会阻塞你现在的操作,而且当请求完成时,你马上就可以看到结果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国工业烤箱市场发展前景预测及投资战略咨询报告
- 中国智能条形显示屏行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 中国小麦行业市场调查研究及投资前景预测报告
- 2025年 甘肃招聘聘用制教师考试试题附答案
- 2025年中国电链锯行业市场全景分析及投资策略研究报告
- 2023-2029年中国装修板材行业市场深度评估及投资战略规划报告
- 中国大楔角Ⅴ带项目投资可行性研究报告
- 中国海南养老地产行业市场发展监测及投资潜力预测报告
- 中国养蚕及深加工行业市场全景调研及投资规划建议报告
- 卧铺车行业深度研究分析报告(2024-2030版)
- 呼吸科肺炎护理查房
- 2025-2030中国动物狂犬病疫苗行业发展现状及趋势前景分析报告
- 2025年云南省中考语文试卷真题
- 2025年广西公需科目答案02
- 湖南省首届财会知识大赛现场考试题库(含各题型)
- 4.2.1指数函数的概念 课件(共21张PPT)
- 《重症医学科建设与管理指南(试行)》
- 医用耗材一次性使用申请表
- 山东大学计算思维2022期末考试真题(每年80%都是原题)
- GB/T 42068-2022农村产权流转交易市场建设和管理规范
- GB/T 10095.1-2022圆柱齿轮ISO齿面公差分级制第1部分:齿面偏差的定义和允许值
评论
0/150
提交评论