zoukankan      html  css  js  c++  java
  • 关于web优化(一)

    我们所说的web,无非就是html,css(web font, image),JavaScript。

    HTML优化建议:

    1. 尽量不要用table进行布局。

    2. 尽量用最新的带有语义的h5标签,这样在解析跟渲染时更快。

    3. 使用块传输数据,web服务器响应头设置:Transfer-Encoding: chunked

    4. 预处理DNS,DNS缓存。可以通过link标签增加rel=“dns-prefetch”,如:<link rel="dns-prefetch" href="//google-analytics.com" >

    5. html压缩:

      a. 删除所有空白字符,包括spaces,tabs,newline等。

      b. 删除简单值的引号。

      c. 删除可选的关闭标签,如:</body>,</p>,</li>

      d. 尽量使用短一点的id标识

    CSS优化建议:

    1. 用外部CSS文件。

    2. 异步加载CSS,可以借助loadCSS,AsyncLoader等这些工具。或者动态创建link标签实现。

    3. 压缩CSS文件,包括web字体的压缩。

    4. 尽可能早的加载web字体,可以在html文件的style标签定义字体,如下:

    <style>
        @font-face{
            font-family: my-font;
            src: url(my-font.woff); 
        }
    </style>
    

    5. 可以使用FontFace API动态加载字体。

    JAVASCRIPT优化建议:

    1. JS压缩。

    2. 异步加载,可以借用requireJS,可以动态创建script标签。

    3. <script>:js在加载时会阻塞其他资源的下载渲染;<script defer>:js在加载时不会阻塞其他资源的下载渲染,js加载完不会立即执行,而是等到所有其他资源下载完成js才会执行,适合js有其他依赖的情况;<script async>:js在加载时不会阻塞,js加载完会立即执行,执行的时候回阻塞。

    4. DOMContentLoaded事件会在load事件之前触发。

    IMAGE:

    1. 给img标签设置宽度高度可以提升渲染性能,如:<img src="logo.png" width="300" height="100" alt="Logo">

    2. 对于小图标可以使用data url方式内联加载。转换为base64后的字符大小一般会比图片本身大30%,但有web服务器一般启用gzip,gzip会压缩base64进行传输,所以结果反而甚至会小很多。

    3. 选择正确的图片格式及图片压缩率,新的图片格式:jpeg-xr,webp,apng

    4. 合并图片减少请求数,需考虑图片个数与合并后图片的大小平衡问题,一般不要超过10个图片的合并。

    总结:

    1. 服务器端支持http/1.1,支持压缩(gzip等)。

    2. 尽量减少请求数量,实现资源共享。

    3. 支持块传输,以便尽可能早解析html并发现内联的请求。

    4. 支持DNS缓存,预查询DNS。

    5. 尽可能减少CSS文件大小及个数(CSS压缩)

    6. 使用新的高性能的js加载工具,如requirejs。

    7. 优化图片的大小,减少网络占用。

  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/ywxgod/p/6741161.html
Copyright © 2011-2022 走看看