读<高性能网站建设指南>
绪言a:前端的重要性
a)跟踪Web网页性能:实现方式火狐direbug
b)时间花在哪了?
c)性能黄金法则
绪言b:HTTP概述
http是客户端(请求)/服务器(响应)协议,
请求类型:get,post,head,put,delete,options,trace
http的响应:响应码,头,响应体。
GET: 请求指定的页面信息,并返回实体主体。
HEAD: 只请求页面的首部。
POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT: 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE: 请求服务器删除指定的页面。
OPTIONS: 允许客户端查看服务器的性能。
TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。
响应码分五种类型,由它们的第一位数字表示:
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功地接受、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误,请求包含语法错误或者请求无法实现
5xx:服务器错误,服务器不能实现一种明显无效的请求
下表显示每个响应码及其含义:
100 继续
101 分组交换协
200 OK
201 被创建
202 被采纳
203 非授权信息
204 无内容
205 重置内容
206 部分内容
300 多选项
301 永久地传送
302 找到
303 参见其他
304 未改动
305 使用代理
307 暂时重定向
400 错误请求
401 未授权
402 要求付费
403 禁止
404 未找到
405 不允许的方法
406 不被采纳
407 要求代理授权
408 请求超时
409 冲突
410 过期的
411 要求的长度
412 前提不成立
413 请求实例太大
414 请求URI太大
415 不支持的媒体类型
416 无法满足的请求范围
417 失败的预期
500 内部服务器错误
501 未被使用
502 网关错误
503 不可用的服务
504 网关超时
505 HTTP版本未被支持
头标由主键/值对组成。它们描述客户端或者服务器的属性、被传输的资源以及应该实现连接。
四种不同类型的头标:
1.通用头标:即可用于请求,也可用于响应,是作为一个整体而不是特定资源与事务相关联。
2.请求头标:允许客户端传递关于自身的信息和希望的响应形式。
3.响应头标:服务器和于传递自身信息的响应。
4.实体头标:定义被传送资源的信息。即可用于请求,也可用于响应。
1.减少HTTP请求
a)图片地图:用一个图片添加多个超链接
1)服务端图片地图
2)客户端图片地图
b)CSS Sprites:支持背景图片的HTML元素
c)内联图片Inline Images:data:URL模式(包含在页面本身=不再需要另外请求)
d)合并脚本和样式表
2.使用内容发布网络(CDN):减少响应时间
3.添加Expires头
Expires头用一个特定的时间,他要求服务器和客户端的时钟严格同步,过期日期需要经常检查,过期后需要在服务器配置中添加新的日期
解决办法:mod_expries-Apache模块可以相对方式设置日期
Cache-Control使用max-age指定组件缓存多久,以秒为单位定义一个更新窗.
4.压缩组件:gzip
代理缓存需要添加vary让accept-encoding保存多个缓存版本,
5.将样式表放在顶部
a)将样式表放在顶部:1.速度会慢些.
b)将样式表放在底部:1.速度会快些.2.出现白屏(新窗口打开,重新加载,当作主页)和无样式内容闪烁(取决于浏览器)
6.将脚本放在底部:阻塞
7.避免CSS表达式:多次执行
8.使用外部JavaScript和CSS:1.使用缓存.2.合理性的分割外部脚本和css达到重用.两全其美,动态加载
9.减少DNS查找:1.在并行下载和浪费寻找DNS中间权衡.2.keep-Alive重用链接
10.精简JavaScript或CSS
1.JSMin删除不必要的空白.
2.合并相同的类,移除不使用的类
11.避免重定向
a)跟踪出站浏览使用XMLHttpRequest信标:将要跳转的地址分开两个变量保存,一个是原始地址,另一个是重定向地址。在重定向成功访问后使用callback函数触发跳转.
12.移除重复脚本
13.配置ETag
14.使Ajax可缓存
15.析构十大网站
综合:减少作用域链查找,CSS选择符解析是从右往左进行的,数组的length属性放入一个局部变量
开启:
#Expires设置
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
#Etag设置对应http:Etag
FileEtag INode Mtime Size
INode
文件的索引节点(inode)数
MTime
文件的最后修改日期及时间
Size
文件的字节数
#keepAlive设置对应Keep-Alive+时间,Connection:Keep-Alive
KeepAlive on 启用keepalive
MaxKeepAliveRequests 100 最大超时时间
KeepAliveTimeout 15 超时时间
产生问题.
1.cdn如何切割组件,从而进行缓存
2.ajax如何重用缓存
3.HTML Collection转换数据
#异步方式
4.script defer(IE only),script dom element(create element 之后用过setAttribute再用appendChild添加上去)
#广告前端优化
http://www.slideshare.net/taobaoued/ss-4888423
#apache核心
http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html
http://home.arcor.de/pangj/squid/
分享到:
相关推荐
高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf
高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf高性能网站建设指南.pdf
高性能网站建设指南 “如果实现了Steve这些建议中的20%,你的站点就能出现戏剧性的变化。有了这本书和YSlow扩展,实在是没有理由再构建出运行速度缓慢的网站了。” ——Joe Hewitt,Firebu9调试器和Mozilla的DOM...
### 高性能网站建设指南 #### 一、引言 在当今互联网时代,网站已经成为企业和个人展示自身形象、提供服务的重要平台。随着用户对网站访问速度和体验要求的提高,建设高性能网站成为必然趋势。《高性能网站建设...
在《高性能网站建设指南》中,作者给出了14条具体的优化原则,每一条原则都配以范例佐证,并提供了在线支持。《高性能网站建设指南》内容丰富,主要包括减少HTTP请求、Edge Computing技术、Expires Header技术、Gzip...
不过,我可以根据标题《高性能网站建设指南.pdf》和您提供的文件信息描述,推测可能涉及的知识点,并将其详细阐述。 高性能网站建设知识点: 1. 网站性能优化基础 网站性能优化是确保网站在用户访问时能够快速响应...
《高性能网站建设指南》系列是针对Web开发者的一套宝贵资源,旨在提供网站性能优化的最佳实践。这一系列包括两本书——《高性能网站建设指南》和《高性能网站建设进阶指南》,涵盖了从基础到高级的全方位优化技巧。 ...
这两本指南——《高性能网站建设指南》和《高性能网站建设进阶指南:WEB开发者性能优化最佳实践》将为我们揭示解决这些问题的关键策略。 首先,我们来探讨《高性能网站建设指南》中的核心概念。这本书强调了“速度...
《高性能网站建设指南》是一本深度探讨如何构建快速、高效、用户体验优秀的网站的专业书籍。这本书针对的是网站开发者、设计师以及对网站性能优化有兴趣的读者。它不仅涵盖了基础的网页设计原则,还深入剖析了提高...
《高性能网站建设指南》是一本专注于优化网站前端性能的电子书,以PDF格式提供,旨在帮助开发者和网站管理员提升用户体验,降低服务器负担。本书的核心内容涵盖了多个关键领域,旨在通过科学的方法和技术来加速网页...
《高性能网站建设指南》结合Web2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、...
《高性能网站建设指南》是一本深度探讨如何提升网站性能和速度的专业书籍。这本书涵盖了从前端到后端,从HTML到CSS的全方位优化策略,旨在帮助开发者和网站管理员构建快速响应、用户体验优秀的网站。以下是对其中...
高性能网站建设指南——前端工程师技能精粹(中文PDF版)