haitao:
看一个html代码严重影响web系统性能的例子
[阅读: 321] 2005-07-12 14:26:59
看一个html代码严重影响web系统性能的例子
统计来自于<hanva:visitor/>,每次访问这个标签就会记录一次浏览情况,包括访问路径和referer、参数。反复的检测表明,计数器没有错;而且每一个页面前后输出的断点计算也完全符合递增性,唯一的解释就是每次点击都重复访问了。那么错误到底是在什么地方呢?
一点点地缩小范围,直到最后一段是什么呢?“<img src="" width="1" height="1">”,美工人员大概是大算用一个小图片,不知如何的变成一个空图片。在a的href中如果=""就是对本页作原条件刷新。那么这里表现出来的,就是自动当成href下载了一遍了。的确,对于web服务器来说,每一个图片就是一个完整的http会话。
这样,问题就解释清楚了,由于这个src是空的,所以每次刷新时,它就形成一个死循环式的自调用过程,从页造成了反复的刷新。问题就在这里了,只要保留着一个src=""的“无足轻重”的代码,就足以让系统负担无形中增加了若干倍。没有形成死循环,大概由于游览器的保护作用,这也是IE 和firefox表现不同的原因之一。
按说mime会提醒浏览器下载的是什么,jsp直接已经输出了抬头是content="text/html; charset=gb2312",浏览器应该会拒绝,看来浏览器这方面还是有点问题的。而服务器端请求的时侯就取决于浏览器是请求什么了,如果浏览器不说它要的是图片而直接申请jsp的响应路径,系统除了回答好象也没有什么好的识别办法,在apache中搞一个过滤规则(if(meme!=html && request_url match html$……jsp$)),成本好象也大了一点;而且,我还没有什么idear应该从那里着手(有谁知道的麻烦通告一声)。
还是在代码上相对小心一点吧。