最早的时侯,网站内容是通过在主机空间中放置大量的静态网页实现的。为了方便对这些分散在不同目录的静态网页的管理,(一般是通过FTP),象 frontpage/dreamweaver这样软件甚至直接提供了向主页空间以FTP方式直接访问文件的功能。以静态网页为主的网站最大的困难在于对网 页的管理,在这种框架里,网页框架和网页中的内容混杂在一起,很大程度地加大了内容管理的难度。为了减轻这种管理的成本,发展出了一系列的技术,在笔者的 理解中,甚至连css本身,原本也是针对这种乱七八糟的网页维护而设计的,目的就是把网页表达的框架和内容本身抽象分离出来。
使用动态网页的技术是从几年前兴起,目前已经进入衰老期的网站技术,也是BS系统的核心技术。 这种技术称为动态网页,就是因为一般是在共用的网页框架下面通过程序接口抽取放在数据库或其他存储媒体中的内容,从而真正实现了把网页框架和内容提取分离 的目的。也就是传统中的php,asp,jsp,servlet等。这种技术的发展一直以逻辑反复抽象,直到把几乎所有的系统业务逻辑合并到各个组件、控 件中,网页代码仅仅完成最后对象属性读取的任务。在JSP中,标签结合EL语言就是这种发展方向的极致了。这种技术实际上就是不同的(不限数量的)内容共 用网页框架,从而将网页维护成本下降到接近可以忽略的程度。在这种技术面前,象frontpage/dreamwever这种软件,实际上已经多少显得过 时了。
但为什么现在又要把动态网页以静态网页的形式发布呢?一个很重要的原因,就是因为搜索引擎。以目前互联网上最普通的查找资料的方式看,互联网内容到达受众 面前大致只有三条路:第一条路是通过众所周知的门户网站,老读者有意识地到达这些地方搜索相应的有针对性的资料;第二条路是做广告,通过受众使用一些免费 服务的机会夹带资料信息,把受众带到目标网站;第三条路是搜索引擎,通过关键字和其他因素,把相应的信息推介到受众的面前。实际上,即使是对门户网站,这 也是带来新受众的最有效的途径;而对于绝大多数的站点,除了屈指可数的几个门户外,这种搜索引擎带来的读者受众,占了至少90%以上的比例。
如此重要的一条受众途径自然是不能忽略的,因此,尽管搜索机器人有点讨厌,各个网站不但不会再象从前一样把它封起来,反而热情无比地搞SEO,所谓的面向 搜索引擎的优化,其中就包括访问地址的改写,令动态网页看上去是静态网页,以便更多更大量地被搜索引擎收录,从而最大限度地提高自已的内容被目标受众接收 的机会。但是,在完全以动态技术开发的网站,转眼中要求变换成静态网页提供,同时,无论如何,动态网页的内容管理功能也是必须保留的;就如同一辆飞驶的奔 驰忽然要求180度转弯,要付出的成本代价是非常大的,是否真的值得,也确定让人怀疑。
为什么搜索引擎会更忠情于静态网页呢?难度它不能分析动态网页吗?声称动态网页可能会由于所在内容的更改而令搜索结果不完全可信的理由是站不住脚的;因 为,就算是静态网页也会被删除和移动,难道访问静态连接出现404错误很罕见吗?事实上,动态网页缺失的机率并不比静态网页更高,而且,可以通过设定 response,同样在内容缺失时输出404错误也不是一件难事。而搜索引擎解释动态网页的连接字符串更不是一件难事。不但难不倒一家大公司,连一个熟 练点的程序员也难不倒!
这个原因今天笔者已经很明白,与其说是搜索引擎的能力限制,不妨说是搜索引擎对网站的一种善意,因为,动态网页的响应速度以及对服务器的消耗资源远远超过 静态网页,按系统配置的优劣,10倍到100倍不等。就以博客而论,一台apache响应对静态网页的一秒钟100次连接的请求来个10000次,每页大 小在100k 左右(很小的页了),流量不过是10M左右,最起码服务器本身不会是瓶颈;即使是IIS,一边也是能应付的;但如果是动态内容,访问数据库获取的,几乎所 有博客都基本上是要当机的,有机会自动活转过来,就已经是非常了不起的。而事实上,笔者在几台服务器上监测到的来自搜索引擎的访问请求,一天总有一两次会 达到甚至超过这个峰值;起码每秒种几十次是非常普通的了。
原因就在于搜索机器人是机器人,有点良心的象google、 yahoo,一般是两三天访问一次,每次访问的内容部分也会各不相同;每秒钟发出的请求大致是两三个;同时,它们的IP会在whois中署名来历,也会依 照您的robots.txt的指示运作。但一些新的小的搜索引擎就完全不是这么回事,它会把相同的内容一天访问两三次,然后基本上是匿名的,完全对 robots.txt的指示置之不理;最后,每秒钟会发出少则十个,多则几十个请求。总之,这些新的小搜索引擎或者只能称之为勤力的用蛮力的机器人,而不 能称为搜索引擎。更麻烦的是,这样的引擎光中国就有数十个之多,以致于每天光是这些搜索引擎的来来去去,多的时侯,达到数十万次访问之巨。更可恶的是,它 们常常不是选在晚上进行访问,而是在业务高峰期也照爬可也。成熟的如google这样的引擎碰到html或者会加上搜索强度,而不成熟的网站是无论什么网 页一类常速请求,等等。
今天我们都会发现不少博客响应速度很慢的,实际上,既不一定表明这些博客有多大的用户访问量,也不表明流量真的很大或者,博客的设备很弱;而是,在这样的 搜索引擎光顾下,某种程度上等同于不定时的 dos拒绝服务攻击。但网站能够把它们当成拒绝服务攻击而加以访问禁止吗?估计大多数网站起码业务主管就不会 同意的,毕竞也是要靠搜索引擎吃饭的。
除这搜索引擎外,还有另一种更下流的访问。笔者不止一次地发现一连串的网域IP记录,一查,是“某某部互联网公共信息安全审查……”,后面省去了,免得惹 麻烦。老实说,也就是某某部拿机器人满世界地找,查几个事关政治控制的关键词而已。这种机器人,更加不客气,你当不当机他是不管的,十几台机每秒几十上百 的请求实在寻常事。
因此,说起来很可笑的是,各大网站不停地升级硬件带宽,最后很可能发现造成当机的不是由于访问量真的那么可喜地增加,而是这些搜索引擎光顾你频繁了。由于这些搜索引擎尖峰时刻
的 访问量带来的性能极限,常常等同于30分钟成千上万的concurren,这样一来,升级的投资几乎仅仅是为了满足搜索引擎添加几个参数而已。网站升级 花的是真金白银,这些机器人加强搜索强度可是几下点击就够了,可见网站是多么尴尬了。不过呢,要说网站一清二楚也是未必的,一来不是所有技术人员都发现这 个问题,二来就算发现了,也不见得都会告诉老板,原来增加的不是真实的访问量!
面对这种困境,唯一可行的办法也就是只能把动态内容改而使用静态网页提供了。恐怕,这是最主要的原因,起码,这个改造成本,比起没完了的升级硬级和带宽,还是要便宜点的。
使用动态网页的技术是从几年前兴起,目前已经进入衰老期的网站技术,也是BS系统的核心技术。 这种技术称为动态网页,就是因为一般是在共用的网页框架下面通过程序接口抽取放在数据库或其他存储媒体中的内容,从而真正实现了把网页框架和内容提取分离 的目的。也就是传统中的php,asp,jsp,servlet等。这种技术的发展一直以逻辑反复抽象,直到把几乎所有的系统业务逻辑合并到各个组件、控 件中,网页代码仅仅完成最后对象属性读取的任务。在JSP中,标签结合EL语言就是这种发展方向的极致了。这种技术实际上就是不同的(不限数量的)内容共 用网页框架,从而将网页维护成本下降到接近可以忽略的程度。在这种技术面前,象frontpage/dreamwever这种软件,实际上已经多少显得过 时了。
但为什么现在又要把动态网页以静态网页的形式发布呢?一个很重要的原因,就是因为搜索引擎。以目前互联网上最普通的查找资料的方式看,互联网内容到达受众 面前大致只有三条路:第一条路是通过众所周知的门户网站,老读者有意识地到达这些地方搜索相应的有针对性的资料;第二条路是做广告,通过受众使用一些免费 服务的机会夹带资料信息,把受众带到目标网站;第三条路是搜索引擎,通过关键字和其他因素,把相应的信息推介到受众的面前。实际上,即使是对门户网站,这 也是带来新受众的最有效的途径;而对于绝大多数的站点,除了屈指可数的几个门户外,这种搜索引擎带来的读者受众,占了至少90%以上的比例。
如此重要的一条受众途径自然是不能忽略的,因此,尽管搜索机器人有点讨厌,各个网站不但不会再象从前一样把它封起来,反而热情无比地搞SEO,所谓的面向 搜索引擎的优化,其中就包括访问地址的改写,令动态网页看上去是静态网页,以便更多更大量地被搜索引擎收录,从而最大限度地提高自已的内容被目标受众接收 的机会。但是,在完全以动态技术开发的网站,转眼中要求变换成静态网页提供,同时,无论如何,动态网页的内容管理功能也是必须保留的;就如同一辆飞驶的奔 驰忽然要求180度转弯,要付出的成本代价是非常大的,是否真的值得,也确定让人怀疑。
为什么搜索引擎会更忠情于静态网页呢?难度它不能分析动态网页吗?声称动态网页可能会由于所在内容的更改而令搜索结果不完全可信的理由是站不住脚的;因 为,就算是静态网页也会被删除和移动,难道访问静态连接出现404错误很罕见吗?事实上,动态网页缺失的机率并不比静态网页更高,而且,可以通过设定 response,同样在内容缺失时输出404错误也不是一件难事。而搜索引擎解释动态网页的连接字符串更不是一件难事。不但难不倒一家大公司,连一个熟 练点的程序员也难不倒!
这个原因今天笔者已经很明白,与其说是搜索引擎的能力限制,不妨说是搜索引擎对网站的一种善意,因为,动态网页的响应速度以及对服务器的消耗资源远远超过 静态网页,按系统配置的优劣,10倍到100倍不等。就以博客而论,一台apache响应对静态网页的一秒钟100次连接的请求来个10000次,每页大 小在100k 左右(很小的页了),流量不过是10M左右,最起码服务器本身不会是瓶颈;即使是IIS,一边也是能应付的;但如果是动态内容,访问数据库获取的,几乎所 有博客都基本上是要当机的,有机会自动活转过来,就已经是非常了不起的。而事实上,笔者在几台服务器上监测到的来自搜索引擎的访问请求,一天总有一两次会 达到甚至超过这个峰值;起码每秒种几十次是非常普通的了。
原因就在于搜索机器人是机器人,有点良心的象google、 yahoo,一般是两三天访问一次,每次访问的内容部分也会各不相同;每秒钟发出的请求大致是两三个;同时,它们的IP会在whois中署名来历,也会依 照您的robots.txt的指示运作。但一些新的小的搜索引擎就完全不是这么回事,它会把相同的内容一天访问两三次,然后基本上是匿名的,完全对 robots.txt的指示置之不理;最后,每秒钟会发出少则十个,多则几十个请求。总之,这些新的小搜索引擎或者只能称之为勤力的用蛮力的机器人,而不 能称为搜索引擎。更麻烦的是,这样的引擎光中国就有数十个之多,以致于每天光是这些搜索引擎的来来去去,多的时侯,达到数十万次访问之巨。更可恶的是,它 们常常不是选在晚上进行访问,而是在业务高峰期也照爬可也。成熟的如google这样的引擎碰到html或者会加上搜索强度,而不成熟的网站是无论什么网 页一类常速请求,等等。
今天我们都会发现不少博客响应速度很慢的,实际上,既不一定表明这些博客有多大的用户访问量,也不表明流量真的很大或者,博客的设备很弱;而是,在这样的 搜索引擎光顾下,某种程度上等同于不定时的 dos拒绝服务攻击。但网站能够把它们当成拒绝服务攻击而加以访问禁止吗?估计大多数网站起码业务主管就不会 同意的,毕竞也是要靠搜索引擎吃饭的。
除这搜索引擎外,还有另一种更下流的访问。笔者不止一次地发现一连串的网域IP记录,一查,是“某某部互联网公共信息安全审查……”,后面省去了,免得惹 麻烦。老实说,也就是某某部拿机器人满世界地找,查几个事关政治控制的关键词而已。这种机器人,更加不客气,你当不当机他是不管的,十几台机每秒几十上百 的请求实在寻常事。
因此,说起来很可笑的是,各大网站不停地升级硬件带宽,最后很可能发现造成当机的不是由于访问量真的那么可喜地增加,而是这些搜索引擎光顾你频繁了。由于这些搜索引擎尖峰时刻
的 访问量带来的性能极限,常常等同于30分钟成千上万的concurren,这样一来,升级的投资几乎仅仅是为了满足搜索引擎添加几个参数而已。网站升级 花的是真金白银,这些机器人加强搜索强度可是几下点击就够了,可见网站是多么尴尬了。不过呢,要说网站一清二楚也是未必的,一来不是所有技术人员都发现这 个问题,二来就算发现了,也不见得都会告诉老板,原来增加的不是真实的访问量!
面对这种困境,唯一可行的办法也就是只能把动态内容改而使用静态网页提供了。恐怕,这是最主要的原因,起码,这个改造成本,比起没完了的升级硬级和带宽,还是要便宜点的。