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>
    计划、执行、每天高效的活着学着
  • 相关阅读:
    Swift
    Swift
    UVa
    Go如何发送广播包
    人迹罕至的android要完全退出程序的一种方法
    备注ocp_ORACLE专题网络
    JS它DOM
    HDU 1693 Eat the Trees 插头DP
    ubuntu-14.04 系统安装mysql-5.6.21
    1941设置站点模板,一生珍藏,所有玩具
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/4341419.html
Copyright © 2011-2022 走看看