zoukankan      html  css  js  c++  java
  • 《高性能网站建设指南》读书笔记

    (一)绪言

      1、绪言A

      性能黄金法则:

        只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。

      2、绪言B

      HTTP概述:

        HTTP是浏览器和服务器通过Internet进行相互通信的协议。

        请求的类型:GET  POST  HEAD  PUT  DELETE  OPTIONS  TRACE。

        压缩:浏览器使用Accept-Encoding头来声明它可以支持压缩。服务器使用Content-Encoding头确认响应已被压缩。

        条件GET请求:如果浏览器在其缓存中保留了组件的一个副本,但并不确定它是否仍然有效,就会生成一个条件GET请求。

               基于响应中的Last-Modified头,浏览器可以知道组件最后的修改时间。

               使用If-Modified-Since头将最后修改时间发送给服务器。服务器返回304状态码并不发送响应体,表示缓存的副本有效。

               有点:条件GET请求和304响应有助于让页面加载的更快。  缺点:但仍需要在客户端和服务器之间进行一次往返确认,以执行有效性检查。

          Expires:Expires头明确指出浏览器是否可以使用组件的缓存副本。当浏览器看到响应中有一个Expires头时,它会和相应的过期时间组件一起保存到其缓存中。只要组件没有过期,浏览器就会使用缓存版本而不会进行任何的HTTP请求。

        Keep-Alive:持久连接,使用Connection头来指出对Keep-Alive的支持。Connection: close头来关闭连接。对于HTTPS来说甚至更为重要,因为建立新的安全socket连接要消耗更多的时间。

    (二)规则

      1、减少HTTP请求

        图片地图:使用<map>标签。缺点:在定义图片地图上的区域坐标时,如果采用手工的方式则很难完成且容易出错,而且除了矩形外几乎无法定义其他形状。通过DHTML创建的图片地图则在IE中无法工作。

        CSS Sprites:通过background-position属性指定CSS Sprites的偏移量。

        内联图片:通过使用data: URL模式可以在Web页面中包含图片但无需任何额外的HTTP请求。目前IE不支持。

        合并脚本和样式表

      2、使用内容发布网络(CDN)

        服务器离用户更近,请求响应的时间更短。性能,节省成本。

        CDN服务优点:缩短响应时间,服务包括备份、扩展存储能力和进行缓存。有助于缓和Web流量峰值压力。

            缺点:响应时间可能会受到其他网站——甚至很可能是竞争对手流量的影响。无法直接控制组件服务器所带来的特殊麻烦。如果CDN服务的性能下降了,工作质量也随之下降。

      3、添加Expires头(为组件添加长久的Epires头)

         最大化的利用浏览器的缓存能力来改善页面的性能。避免不必要的HTTP请求。

        Expires头的限制:因为使用一个特定的时间,要求服务器和客户端的时钟严格同步。过期日期需要经常检查,并且一旦未来这一天到来了,还需要在服务器配置中提供一个新的日期。

        HTTP1.1引入Cache-Control(具有优先权,避免时钟同步问题)头来克服Expires头的限制。Cache-Control使用max-age指令指定组件被缓存多久。mod_expires Apache模块通过Expires-Default指令来完成。

      4、压缩组件

        减小HTTP响应的大小来减少响应时间。

        gzip是目前最流行和最有效的压缩方法。

  • 相关阅读:
    云计算之路-阿里云上:基于Xen的IO模型进一步分析“黑色0.1秒”问题团队
    上周热点回顾(5.5-5.11)团队
    云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时团队
    云计算之路-阿里云上:读取缓存时的“黑色0.1秒”团队
    云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了团队
    云计算之路-阿里云上:神奇的“黑色30秒”再次出现,究竟是谁的错?团队
    上周热点回顾(4.28-5.4)团队
    云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析团队
    上周热点回顾(4.21-4.27)团队
    云计算之路-阿里云上:借助IIS Log Parser Studio分析“黑色30秒”问题团队
  • 原文地址:https://www.cnblogs.com/luodan/p/4978095.html
Copyright © 2011-2022 走看看