网站性能优化

1. 对图片,尽量指定图片的width和height,让浏览器提前渲染。
2. 图片,css,js的gzip压缩:

   tomcat

Java代码
1.     <Connector port="80" maxHttpHeaderSize="8192" 
2.2                maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
3.3                enableLookups="false" redirectPort="8443" acceptCount="100" 
4.4                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" 
5.5                   compression="on" 
6.6                compressionMinSize="2048" 
7.7                noCompressionUserAgents="gozilla, traviata" 
8.8                compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  /> 
     <Connector port="80" maxHttpHeaderSize="8192"
2                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
3                enableLookups="false" redirectPort="8443" acceptCount="100"
4                connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8"
5                   compression="on"
6                compressionMinSize="2048"
7                noCompressionUserAgents="gozilla, traviata"
8                compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  />
  
   Apache:
   1)针对Apache2.0之前的版本,它原本是不支持的,不过可以通过添加第三方的module_gzip模块来启用
    2)针对Apache2.0及之后的版本,Apache提供支持, 不过不叫gzip,而叫mod_deflate
下面就对Apache2.0及之后的版本作一个说明
1) 去掉#LoadModule headers_module modules/mod_headers.so前面的注释#,
2) 添加LoadModule deflate_module modules/mod_deflate.so
3) 在VirtualHost中添加

Java代码
1.1    <Location "/">  
2.2         SetOutputFilter DEFLATE  
3.3         BrowserMatch ^Mozilla/4 gzip-only-text/html  
4.4         BrowserMatch ^Mozilla/4\.0[678] no-gzip  
5.5         BrowserMatch \bMSIE !no-gzip !gzip-only-text/html  
6.6         SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary  
7.7         Header append Vary User-Agent env=!dont-vary  
8.8    </Location> 
1    <Location "/">
2         SetOutputFilter DEFLATE
3         BrowserMatch ^Mozilla/4 gzip-only-text/html
4         BrowserMatch ^Mozilla/4\.0[678] no-gzip
5         BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
6         SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
7         Header append Vary User-Agent env=!dont-vary
8    </Location>

3. 设置图片.css等的缓存:
  
引用
使用.htaccsee来强制浏览器缓存,主要使用ExpiresActive系列指令。

这套指令包括以下三个指令:

    * ExpiresActive:模块开关
    * ExpiresByType:按类型缓存
    * ExpiresDefault:默认缓存

其中,ExpiresActive是必须开启的,然后选择第二或第三个指令来决定如何缓存。

我推荐使用的是ExpiresByType,即按文件的不同类型来设置缓存。如我这次优化后的论坛,其缓存部分是这么写的:

ExpiresActive on
ExpiresByType text/css M78844000
ExpiresByType text/javascript M78844000
ExpiresByType image/gif M78844000
ExpiresByType image/jpeg M78844000
ExpiresByType image/png M78844000
ExpiresByType application/x-javascript M78844000

ExpiresDefault的作用就是设置默认缓存值,无论什么类型的文件,都会先按照ExpiresDefault的设置进行缓存,之后如果有ExpiresByType设置,则按照ExpiresByType进行缓存。

通常html/text类型是不需要缓存的,因此ExpiresDefault使用的比较少,但也有部分网站将ExpiresDefault设置成较小的值,如1分钟、30秒之类的来提升网站的速度。


4. 增加尽可能多的二级域名,是浏览器并行下载

5. 压缩js,css,并合并到尽可能少的文件夹

6. 调整加载顺序,css-> image -> js

你可能感兴趣的:(JavaScript,apache,tomcat,css,浏览器)