zoukankan      html  css  js  c++  java
  • 【性能】web提升性能的小总结

    1. 异步加载js文件,判断文件是否已加载,不重复加载

                if (typeof echarts === 'undefined') {
                    console.log('异步加载echarts');
                    $.getScript(_relyScripts, function () {
                        _this.showWhLatencyData();
                    });                
                }else {
                    console.log('已加载echarts');
                    _this.showWhLatencyData();
                }

    2. 合并文件

    合并css文件及图片;

    切割js文件,分清类别:1)初始加载,  2)按需加载

    3. 服务器端 , 配置以apache为例

    1)启用gzip 压缩传输文件

    开启模块:

    LoadModule deflate_module modules/mod_deflate.so

    LoadModule headers_module modules/mod_headers.so

     备注:deflate模块采用的是哈夫曼编码

    服务器配置增加:

    <IfModule mod_deflate.c>
    SetOutputFilter DEFLATE
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI .(?:pdf|doc|avi|mov|mp3|rm)$ no-gzip dont-vary
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
    AddOutputFilterByType DEFLATE application/x-java script
    <IfModule mod_headers.c>
    Header append Vary User-Agent
    
    <FilesMatch ".(html|htm)$">
    Header set Cache-Control "max-age=86400"
    </FilesMatch>
    
    <FilesMatch ".(js|css|txt)$">
    Header set Cache-Control "max-age=259200"
    </FilesMatch>
    
    <FilesMatch ".(jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=259200"
    </FilesMatch>
    
    <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
    Header unset Cache-Control
    </FilesMatch>
    
    
    </IfModule>
    </IfModule>

    2) 加入失效时间,没验证成功

    开启模块:

    LoadModule expires_module modules/mod_expires.so

    服务器配置:

    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault A600
    ExpiresByType image/x-icon "access plus 2 month"
    ExpiresByType application/x-javascript "now plus 2 day"
    ExpiresByType text/css "now plus 2 day"
    ExpiresByType image/gif "access plus 2 month"
    ExpiresByType image/png "access plus 2 month"
    ExpiresByType image/jpeg "access plus 2 month"
    ExpiresByType text/plain "access plus 2 month"
    ExpiresByType application/x-shockwave-flash "access plus 2 month"
    ExpiresByType video/x-flv "access plus 2 month"
    ExpiresByType application/pdf "access plus 2 month"
    ExpiresByType text/html  "now plus 1 day"
    </IfModule>
    计划、执行、每天高效的活着学着
  • 相关阅读:
    BigDecimal工具类处理精度计算
    Redis的简单使用和介绍
    数据库优化知识总结
    js弹出QQ对话框在线交谈
    火焰灯menu修改之后,可以实现数遍点击小方块停留在当前页面
    js作用域的一个小例子
    js中this的四种调用模式
    jquery火焰等效果导航菜单
    appserver配置虚拟主机
    一个类似百度文库选中弹出个小框的效果
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/4341419.html
Copyright © 2011-2022 走看看