1. 对图片,尽量指定图片的width和height,让浏览器提前渲染。
2. 图片,css,js的gzip压缩:
tomcat
<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中添加
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