这博客真的好久没写了, 太惭愧了~
这次写点有用的:PPPPP
最近手头有本书, 叫《High Performance Web Sites》, 图书馆借了一直放在手边, 一直没心思看, 现在乘着还有几天时间, 仔细看看这书, 也顺便做个读书笔记, 记录在这, 希望对其他人有用.
首先找了下网上资源
- 《High Performance Web Sites》作者stevesouders的网站http://stevesouders.com/
是不是我这儿网速太慢的问题, 这个网站打开也很慢~~ 还有他的博客http://www.stevesouders.com/blog/ - 这本书的在线课程, 含ppt和gdoc http://cs193h.stevesouders.com/
You're lucky to be holding this book. More importantly, your web site's users are lucky. ----Lucky, Lucky, and good starting
Preface中介绍组织结构, 里面主要有14条performance rules.
CHAPTER A介绍前台优化的重要性.
前台/后台优化
用户等待时间花费在哪里?
据下载yahoo.com首页分析得到统计图, 在无cache(缓存)情况下, 起始HTML页面(5%)->页面各部分下载(95%), 即是95%的时间是花费在等待下载页面的各个部分, 而对于HTML代码, scripts, stylesheets的解析是比较少的.
如果是primed cache下, HTML页面只占用12%的响应时间. 大多数页面部分不需要被下载下来, 因此节省了很多时间.
HTTP status codes and headers affect the brower's cache.
- 缓存, the cache.
- 并行地下载各个部分, Parallel Downloads
- 在大多情况下, browers block additional HTTP requests while they download scripts.
- there is more potential for improvement in focusing on the frontend. 大概意思是说, 如果我们能够减少一半的后台响应时间, 那最终用户会在整体上只减少5~10%的等待时间. 但是如果我们能够减少一半的前端时间, 那么可以降低整体响应时间的40~45%
- 前端性能的提高粗要更好的时间和更少的资源. less time and fewer resources.(如改变web服务器配置;将scripts和css in certain places within the page; 联合图片,scripts,css等) 而后端性能的提高可能会涉及到整个应用体系架构的改变, 代码改变, 分布式数据库, 或硬件修改..这需要更长的时间.
- frontend perfomance tuning has been proven to work.
CHAPTER B HTTP介绍
请求类型有GET, POST, HEAD, PUT, DELETE, OPTIONS, TRACE
一个HTTP响应对象包含status code, headers, body.
- 如果浏览器和服务器都支持compression(压缩) 那么, Accept-Encoding会显示为压缩的格式, 如gzip, deflate(请求) gzip(响应)
- Conditional GET Requests 如果缓存中的副本仍然有效, 则使用它. 这里头部中有个If-Modified-Since日期. -> "304 Not Modified" 跳过传输新的文件. 另外的标志有ETag和If-None-Match.
- Expires到期.
- Keep-Alive保持连接. "persistent connections" It lets browsers make multiple requests over a single connection. Http头的Connection: keep-alive Connection:close表关闭.
- 还有一个叫Pipelining, allows for sending multiple requests over a single socket without waiting for a response.优于persistent connections, 但它不被IE支持, 而在FF中默认是关闭的, 在FF中开启可以通过在地址栏中输入about:config, 修改network.http.pipelining为True.
1 comments:
自从事互联网工作以来,这本书很早就听说过,也很想读一读的。
挺羡慕你滴.......
发表评论