• 网站性能优化


    简要总结:

    1.资源压缩合并,减少http请求

    2.非核心代码异步加载(异步加载方式,异步加载区别)

    异步加载到方式

      • 动态脚本加载
      • defer
      • async

    异步加载的区别

      • defer是在HTML解析完之后执行,如果有多个,按照加载的顺序依次执行
      • async是在加载完立即执行,如果有多个,执行顺序和加载顺序无关

    3.利用浏览器缓存(缓存的分类,缓存的原理)

    响应头
    1.强缓存
      Expires: Thu,21 Jan 2017 23:39:02 GMT
      Cache-Control: max-age=3600. (秒)
    2.协商缓存
      Last-Modified If-Modified-Since(Last-Modified Wed,26 Jan 2017 00:35:11 GMT)
      Etag If-None-Match (内容hash)
    跟缓存相关的http头

    4.使用CDN

    5.与解析DNS

      <mata http-equiv="x-dns-prefetch-control" content="on">   // https 协议下开启a链接的prefetch(http协议下会默认开启)

      <link rel="dns-prefetch" href="//host_name_to_prefetch.com">

    //=========================================================================

    • content方面

      1. 减少HTTP请求:合并文件、CSS精灵、inline Image
      2. 减少DNS查询:DNS缓存、将资源分布到恰当数量的主机名
      3. 减少DOM元素数量
    • Server方面

      1. 使用CDN
      2. 配置ETag
      3. 对组件使用Gzip压缩
    • Cookie方面

      1. 减小cookie大小
    • css方面

      1. 将样式表放到页面顶部
      2. 不使用CSS表达式
      3. 使用<link>不使用@import
    • Javascript方面

      1. 将脚本放到页面底部
      2. javascriptcss从外部引入
      3. 压缩javascriptcss
      4. 删除不需要的脚本
      5. 减少DOM访问
    • 图片方面

      1. 优化图片:根据实际颜色需要选择色深、压缩
      2. 优化css精灵
      3. 不要在HTML中拉伸图片
  • 相关阅读:
    Unity之串口通信(基于三姿态传感器)
    Unity3d win7协议多点触控
    大大的蛋项目 第二篇 第三关
    大大的蛋项目
    Unity3d 调用C++的DLL
    有梦想的小鸟
    【Unity3D插件】NGUI屏幕自适应 .
    【Unity3d】使GUI适应屏幕分辨率
    unity自动保存项目
    BloomFilter——大规模数据处理利器
  • 原文地址:https://www.cnblogs.com/vicky24k/p/11780734.html
Copyright © 2020-2023  润新知