文章分类 - 读书笔记-高性能网站建设指南
摘要:ETag : (Entity Tag 实体标签) 是web 服务器和浏览器用于确认缓存组件的有效性的一种机制服务器在检测缓存的组件是否和原始服务器上的组件匹配时有两种方式1. 比较最新修改日期2. 比较实体标签If-Modified-Since: Tue, 12 Dec 2006 03:03:59 gmtIf-None-Match: "10c234b-4ab-457e1c1f "3. 缺点当浏览器从一台服务器上获取了原始组件,之后,又向另外一台不同的服务器发起条件GET请求时,ETAG 是不会匹配的--而对于使用服务器群来处理请的网站来说,这是很常见的情况。ETag 还降低
阅读全文
摘要:重复脚本损伤性能的方式有两种:1. 不必要的HTTP 请求和执行javascript 所浪费的时间不必要的HTTP 请求会发生在IE 中,不会发生在 FF 中,在IE 中,无缓存模式:如果脚本被包含两次并且没有被缓存,浏览器会在页面加载期间产生两个HTTP 请求有缓存模式:如果单击浏览器刷新按钮,会产生两个HTTP 请求,尤其是产生两个GET 请求。
阅读全文
摘要:缺少结尾的斜线有一种重定向最为浪费,发生得也很频繁,它发生在URL 的结尾必须出现斜线的时候却没有斜线i.e. http://www.yahoo.com/ 如果最后没有斜杠则不会产生重定向。然后你在浏览器中看到的最终URL 是包含,这样做是浏览器在做GET 请求的时候必需指定一些路径如果没有路径的时候,则直接指向根路径(/) (很多的web 服务器都是这样,如apache)重定向的好处: 1. 连接两个网站,只要很少的额外代码2. 方便跟踪内部用户流量(当然也可以用referer ,一家公司的各站之前的流量一般用REFERER) 3. 跟踪出站流量 (替代办法是:使用信标。通常常是让用户拉取.
阅读全文
摘要:1.精简 JSMin2.混淆3.压缩4.CSS 精简
阅读全文
摘要:1.通常浏览器查找一个给定的主机名的IP 要20~120 毫秒影响DNS缓存的因素1.服务器表明记录可以被缓存多久。查找返回的DNS记录里包含了一个存活时间TTL值,该值告诉客户端可以对该记录缓存多久2.HTTP 协议中的keep-alive 特性可以同时覆盖TTL 和 浏览器的时间限制(只要浏览器和web 服务器愉快地通信着,并保持TCP 打开状态,没有理由进行DNS查找)3.浏览器对缓存的DNS记录的数量也有限制。IE : DNS 的TTL 值在注册表里有设置,缓存时间30分钟,正常情况下很短的TTL值(30分钟以下)在 IE 中不会增加DNS查找的数量keep alive 值: 默认情.
阅读全文
摘要:1.内联VS外置纯粹而言,内联快一些但是考虑到js ,css 被独立出来后,可以被浏览器强缓存如果用户在站点内停留的时间久,那么外置就越有优势2. 组件重用考虑到js ,css 的更新频率,把js,css 文件分类。
阅读全文
摘要:1.使用样式表时,页面逐步呈现会被阻止,直到所有的样式表被 下完成但是在使用脚本的时候,对于位于脚本以下的内容逐步呈现会被阻塞,所以脚本放在最下方,可以让更多的内容被逐步呈现。2.并行下载每个主机名并行下载两个组件的限制是一个建议,默认情况下,IE,FIREFOX 都遵守这个建议,但是用户可以重写该默认设置。IE 把这个值放在Registry editor 中,FIREFOX 自己配置中。(FF 对HTTP 1.0 默认设置是每个主机名并行下载8个组件)但是前端工程师也可以考虑把组件放在不同的主机名中Yahoo 的研究表明,使用2个主机名,比使用1,4,10 个主机名,能带来更好的性能3. .
阅读全文
摘要:1.Expires: Thu, 01 Dec 2014 16:00:00 GMTExpires 头: 被理解为这一日期之后,请求是无效的2.Max-Age 和mod_expires HTTP1.1 里引入了cache-control 头来克服Expires 头的限制。因为Expires 头使用一个特定的时间,它要用服务器与客户端的时钟严格同步 。并且过期时间还要时时检查,一旦这个时间到了还要在服务器配一个新的日期。但是max-age 换了一种方式: 如果从组件被请求开始过去的秒数少于max-age ,浏览器就使用缓存的版本一个长久的max-age 头可以设置未来10年。如果Expires 与.
阅读全文
摘要:1. 让Application Web Server 离用户更近,则HTTP 请求的响应时间缩短
阅读全文
摘要:1. 图片地图1.1 服务器端图片地图(server-side image maps) 将所有点击提交到同一个目标URL,向其传递用户单击的X,Y 坐标1.2 客户端图片地图(client-side image maps) 将用户的点击映射到一个操作,无需向后端应用程序发送请求 映射通过HTML的MAP 标签实现。缺点: 除了矩形之外无法定义其它形状,且通过DHTML 创建的图片地图无法在IE 中工作2. 用CSS Sprites 合并图片3. 内联图片通过 data:URL 模式可以在Web 页面中包含图片,但无需额外的HTTP 请求。尽管IE (直到IE7 )目前还不支持这种方式。4. .
阅读全文
摘要:只有10%-20% 的最终用户响应时间花在了下载HTML 文档上,其余的80%-90%时间花在了下载页面中的所有组件上
阅读全文