Speed Up Your Website

原文地址:http://www.codeproject.com/Articles/26376/Speed-Up-Your-Website-By-Example

说在前面的:这个文章是08年的,比较老了,带着批判和找不同的心态去研究一下,会有收益的。

 

部分翻译:(翻译来自CSDN)

为什么减少请求数量
请求执行顺序:
e.g.: index.htm and then global.css, spring.css, logo.jpg, menu1.jpg, menu2.jpg, menu3.jpg, 1×1.gif, corner1.gif, common.js, validation.js etc…)
在加载页面时,浏览器从URL中(src)中提取头链接href={url},css文件链接和发送每个请求的资源。
大体上,浏览器在每台客户机提出页面请求时只并发下载2-4个资源请求,(取决于http和浏览器版本),一般来说,Firefox要比IE略好一些.
结论:请求与连接越少,则响应越快.
怎样减少请求数量?
减少文件数目(css,js,image)
合并文件(尽可能的)所有的CSS文件尽量合并归一,所有的JS文件尽量合并归一,

使用浏览器缓存
当第一次请求时,减少资源,之后将依靠cache机制,不必再请求资源。
使用”expires”头。

优化html
为什么优化它?
大体来说html只耗20%的时间而其它(CSS,Javascript,images)要消耗80%的时间
html包裹所有的对象(标签控件)和styles,这些都提供与浏览器进行解析,解包和render(生成).
由于浏览器之争(竞争)和x/html/css的兼容问题.浏览器被设计为两种模式:普通(快模式,信任模式),quirk模式(必须要验证HTML/CSS,找到和”原谅错误”)
怎么优化它?
1.减少下载时间
将冗长的一页尽量载减为多页
2.快速生成render
使用非常简单的设计
standard vs quirk mode两种模式的选择.
建立信任的standard模式(前提,设计者达到专业水平遵循标准)以使得浏览器使用最优化的解析
切换模式为标准模式

移除inline CSS改为外部CSS引用(减少内部脚本书写,如document.write())
如果遵循以上原则:浏览器会在生成内容与应用CSS和脚本改变布局之间踌躇,这种情况下会暂停内容的生成,所以要引用外部CSS,JS。
如果不遵循这条原则:外部文件意味着多了一个外部资源请求,如果主页CSS,JS很少,则用内联,减少请求数,加快响应速度。

减裁内容

少用table,转用div.为什么呢?浏览器不能生成实体控件对象(标签对应)直到捕捉到标签尾ie.</table>

若布局用bigger outer,(超多标签)

 

优化image
为什么要优化?
image消耗大量下载时间及带宽,在这方面节省时间会得到卓著的功效。
怎样优化?
1.减少图片的使用频率
2.使用css rollovers代替图片链接。
3.设置恰当的宽度与高度(尽量小)
4.仔细地选择图片的颜色与格式;
GIF: works best for solid colors and sharp-edged transitions from one color to other, Maximum colors: 256.
JPEG: works best for continuous gradations of many colors or grey tones.

 

5.避免动画与flash
6.背景尽量用颜色而不用图片
7.不要把图片放在服务器的多个目录上,(避免在两个请求中,得不到最优从第一次缓存图片)
8.在下载大图片时用进度条掩饰,这是个小把戏,但不会引起用户的反感.
9.尽量使用小于10kb的一张图片,尽量不要把大图裁成小图,因为这样会增加request的次数。
使用CSS Sprites或image maps代替
可以把零碎的一些小图拼成一张大图,然后使用css sprites或image maps。

 

Chrome下用jquery的load()无效问题

昨天晚上瞬间写出两个无刷新切页面的小程序,有点小开心。正在兴奋的时候,用Chrom测试页面毛都不显示,立时顿足。

最可恶的是jquery的其他内容正常运行,让我调错都不知道怎么调。

用尽各种方法,搞了2个多小时,终于…

Chrom下使用load()函数读取页面有个先决条件,就是要有个服务器环境,我把页面放在iis下面,就好了~

几十个网站统计数据的名词解释

浏览数Page Views:网页(含文件及动态网页)被访客浏览的次数。Page View的计算范围包括了所有格式的网页,例如:.htm、.html、.asp、.cfm、 asa、cdx、htmls、shtm、shtml、txt等等,可以由用户根据实际情况自己设定。

访问数Visits:也称为登陆数,一个登陆是指客户开始访问网站到离开网站的过程。其中:相邻两次点击页面时间间隔在30分钟以内(系统默认30分钟,用户可以修改默认值)为一次登陆,大于30分钟为两次登陆。

用户数Unique Visitors:也称为唯一客户数,是指一天内访问本网站的唯一IP个数。

点击数Hits:是指日志文件中的总记录条数。

停留时间Visiting Times:也称为访问时长,是用同一个访问过程中最后一个页面的访问时间减去第一个页面的访问时间,得到此访问在网站上的停留时间。

首页浏览数:网站首页被访客浏览的次数。

过滤浏览数Filter Page Views:网站中的某些页面并不是独立的页面,而是附属于某个页面,如滚动条页面就是附属于首页的页面,用户可以将这些附属页面设置为过滤页面,过滤页面被访客浏览的次数即为过滤浏览数。

有效浏览数Effective Page Views:去除过滤页面后的其他所有页面被访客浏览的次数,即有效浏览数=浏览数-过滤浏览数。

平均访问浏览数:一次访问平均产生的浏览数,即平均访问浏览数=浏览数÷访问数。

重复访问数Returning Visits during a day:一天内访问两次以上的用户数。

曝光数:广告弹出次数。

广告点击数:用户点击弹出广告的次数,即Click数。

返回数:通过电子邮件进行市场推广时,用户通过点击邮件中的链接地址访问网站的次数。

注册数:用户通过电子邮件和广告访问本网站,并最终转换为注册用户的数量。

返回率:广告弹出后,被用户点击的程度,即返回率=点击数÷曝光数×100%。

客户转化率:客户转化率包含两方面含义:用户通过广告访问本网站,并最终转化成注册用户的程度,即客户转化率=注册数÷点击数×100%;用户通过邮件上的链接地址访问本网站,并最终转化成注册用户的程度,即客户转化率=注册数÷返回数×100%。

发送字节数:从服务器端向客户端发出的字节数。

接收字节数:服务器端从客户端接收的字节数。

总字节数:是发送字节数和接收字节数的总和,即总字节数=发送字节数+接收字节数。

行为/路径:在一个访问过程中,客户访问过的所有页面的轨迹称为路径,或称为行为。

特定行为:由用户自行定义的行为,包含若干行为步骤,其中行为步骤不受限制,即可以任意设定行为步骤。进而分析出满足设定行为的发生次数及各个步骤之间的转化率。

特定行为转化率:在特定行为中,两个步骤之间的转化率。

行为入口:客户开始访问网站的第一个页面。在Web-IA中,根据入口给出典型行为分析。

行为出口:客户访问网站的最后一个页面。在Web-IA中,根据出口给出典型行为分析。

沉默时间:注册用户最后一次访问网站到分析日的天数。

沉默用户:在沉默时间内未访问网站的注册用户。

重复访问用户比例:一天内访问两次以上用户占总用户数的比例,该值越大表明用户品质越高,理想值为100%。

用户粘着度指数:一天内的总访问数与总用户数之比,该值越大表明用户品质越高。

重度访问用户:按每次访问的停留时间划分,把停留时间超过20分钟的用户归为重度访问用户;也可以按照每次访问产生的浏览数划分,把一次访问浏览超过10个页面的用户归为重度访问用户。对于重度访问用户,包括以下四个指标,每个指标值越大,表明用户品质越高。

重度用户比例(次数)=(浏览数≥11页面的访问数)÷总访问数

重度用户比例(时长)=(》20分钟的访问数)÷总访问数

重度用户指数=(》20分钟的浏览数)÷(》20分钟的访问数)

重度访问量比列=(》20分钟的浏览数)÷总浏览数

轻度访问用户:按每次访问的停留时间划分,把停留时间不超过1分钟的用户归为轻度访问用户。对于轻度访问用户,包括以下三个指标,每个指标值越小,表明用户品质越高。

轻度用户比例=(0-1分钟的访问数)÷总访问数

轻度用户指数=(0-1分钟的浏览数)÷(0-1分钟的访问数)

轻度访问量比例=(0-1分钟的浏览数)÷总浏览数

拒绝率:一次访问只访问一个页面的访问次数占总访问数的比例,比例越小,表明用户品质越高。

拒绝率(一个页面)=只访问1个页面的访问数÷总访问数

拒绝率(首页)=只访问首页的访问数÷总访问数

地区:访问客户的来源地区,是根据IP地区对照表,查询访问客户的IP地址落在哪个IP区段内,而得到其对应的地区。地区包括国内地区和国外地区,国内地区以省为单位,国外地区以国家为单位。

时段:按照一天24个小时自然时间段进行划分。

趋势:趋势分为两种,第一种是以时段为单位的一天24小时发展趋势。第二种是以日为单位的周、月、以及指定区间发展趋势。

IP地址:IP地址由4个数组成,每个数可取值0~255, 各数之间用一个点号“。”分开,例如: 202.103.8.46。

页面:网站中的所有格式的网页(含文件及动态网页),例如:.htm、.html、.asp、.cfm、 asa、cdx、htmls、shtm、shtml、txt等等,可以由用户根据实际情况自己设定属于页面的文件格式。

特定页面:对于需要特殊分析的页面,通过设置,从众多页面中独立出来,进行特定分析的页面。

过滤页面:网站中的某些页面并不是独立的页面,而是附属于某个页面,如滚动条页面就是附属于首页的页面,用户可以将这些附属页面设置为过滤页面。过滤后的浏览数方能真正反映网站的访问情况。

离开页面:客户访问网站的最后一个页面。

未定义页面:页面功能没有定义的页面,即没有归类到任何频道的页面。

频道/栏目:将网站中的各种内容根据功能归类,划分出若干逻辑上的频道或栏目。

网站:网站是由Web Server组成,专业版一个网站只有一个Web Server,企业版和商务版一个网站至少由一个Web Server组成。

热点:将一个网页中包含的各个链接根据功能归类划分出若干板块,比如新闻板块、财经板块、体育板块、科技板块等,每个板块成为一个热点。进而分析出该页面上的各个热点板块被点击的情况。

汇总:对多网站的分析进行汇总。

同期比较:对任意两个日、周、月、以及指定区间的浏览数(或访问数、或用户数、停留时间)进行比较。比较对象可以是页面、频道、栏目、广告、地区等。

聚合:对日期的聚合,比如周聚合就是将7天的数据合在一起为一个分析项,聚合目的就是以聚合项为单位分析网站发展的趋势。

环比:在趋势分析中,当前日期数据与上一日期数据的比成为环比。

跳转:状态代码为302的访问请求。(301的访问请求应该也是属于跳转吧)

热门:最受欢迎的页面或频道,即浏览数排名前若干位(可由用户自行定义)的页面或频道。

冷门:最不受欢迎的页面或频道,即浏览数排名后若干位(可由用户自行定义)的页面或频道。

广告:通过在别的网站上弹出窗口等方式介绍本网站的一种商业活动。

邮件:通过发送电子邮件,邮件中包含链接地址,吸引用户通过点击邮件中包含的链接地址访问本网站,实际上也是广告的一种。

搜索引擎:在互联网上为您提供信息“检索”服务的网站。

关键字:通过搜索引擎“检索”的内容。

Excel输出:将分析结果以Excel表格形式输出。

网站拓扑结构:网站的拓扑结构是由网站汇总、网站分析和频道分析三类节点构成。其中,网站汇总下可以有部门汇总,网站分析下可以有子网站,频道分析下可以有子频道。用户根据网站拓扑结构,来查询所需要的分析结果。

匿名用户:登陆网站不用确认身份,便可访问网站内容的用户。

认证用户:通过身份认证后,方可访问网站内容的用户。一般情况,用户通过注册成为认证用户。

日志文件:在Web-IA中,日志文件是指被分析网站的工作日志。

浏览器:客户端通过什么浏览器访问网站。

操作系统:客户端通过什么操作系统访问网站。

运营商:客户端接入互联网的服务提供商,比如中国电信、中国网通、教研网等。

接入方式:客户端接入互联网的方式,比如拨号、专线、ISDN、ADSL等。

状态代码:也称作错误代码,是为服务器所接收每个请求(网页点击)分配的 3 位数代码。