青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 谷歌地图惊现哀怨女鬼脸独立博客的思考 »

从DTD网络流量谈W3C管理员的郁闷、惆怅和纠结

  DOCTYPE是Document Type(文档类型)的简写,在页面中,用来指定页面所使用的XHTML(或者HTML)的版本。DOCTYPE声明的写法遵循一定的规则,它指出阅读程序应该用什么规则集来解释文档中的标记。HTML xmlns属性是在文档中定义一个或多个可供选择的命名空间。该属性可以放置在文档内任何元素的开始标签中,它定义了一个命名空间,浏览器会将此命名空间用于该属性所在元素内的所有内容。

  当我们在查看网页源文件的时候,在源文件顶部往往都能看到:

  <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

  或者

  <html xmlns=”http://www.w3.org/1999/xhtml” …>

  如上面的代码,都含有指向W3C网站服务器的关于HTML DTDs 和 命名空间相关的网页资源。W3C管理员的纠结正源于此。

  我们注意到上面的刷蓝标签,其实并不是HTML中的超链接,他们是仅仅用来作为确认的URIs,这是以机器能读懂的方式告诉计算机“这个文档是HTML”。并且,通常计算机软件程序并不需要去抓取这些URI资源,并且一定不需要反反复复地去抓取这些资源!然而,W3C服务器却接收到“令人震惊”的“出奇地大”的对这些资源的请求:每天收到超过130,000,000次的请求,占用宽带使用350Mbps,仅仅是抓取几年未变样的资源文件。

  这时,W3C管理员声音很哽咽,感觉得出这事对他影响很大,鬼斧很认真地接着听她讲下去,了解到:

  这么大的网站访问请求,有绝大多数来自处理各种标记(HTML, XML, XSLT, SVG)的系统,如在验证DTD或schema的处理期间发起的请求。

  要处理这么大的请求给W3C带来了昂贵的成本和代价:服务器!带宽!还要花费大量人力来分析这些请求数据、限制或阻止一些大量重复的请求。“很郁闷,我们宁愿用这些钱去做其他事情!比如改进、完善W3C和WEB社区的软件和服务。而不是这样被耗这么多钱!”W3C管理员显然有点小怒了。

  “前不久,我们加了一个系统来监控这些请求,并对一些泛滥的请求直接发送503错误,并根据具体的垃圾请求形式作为对应的响应信息返回。我们希望是这些个对W3C发起大量请求的软件的开发者或部署管理员能够注意到这个错误,并且对他们的软件做一些必要的修正。”W3C管理员继续哽咽地讲到。听到这里我拍拍她的肩膀说“i am sorry!”表示同情。

  “但是这些系统大多数依旧每日无数次地请求相同的DTDs,即使我们夜以继日给它们返回503错误也毫无效果,为啥这些系统这么讨厌!他们根本就不关系这些请求!(对于一些请求源头,我们最后在TCP层对其IP进行了阻止。)”

  “我们也鉴定出了一些导致对W3C大量请求的软件,并且联系了他们的负责人,告诉他们在对W3C进行DDos攻击。一些进行积极相应并及时修正了这些问题。不幸的是,有很多却拖延很长时间不给解决!还有大量的请求无法断定来源!”W3C管理员眼睛里夹杂着丝丝无奈。

  “我多么希望这个问题可以一劳永逸地解决,做梦都想!这也是为了部署在W3C网站的所有软件着想。所以我给那些软件作者一些建议,希望他们不要再无休止地折磨W3C”:

  1、关注您的HTTP响应码。

  编程的一个好习惯是检查您的响应码,否则当一些错误发生的时候您压根就不知道。

  2、善用 HTTP caching/expiry 信息。

  W3C网站的资源是以友好缓存方式存储的。我们的DTDs 和 schemata都明确定义过期时间为90天以上,所以压根没必要一天不停息地请求。(有一个公司的许多IP地址从W3C请求DTD,一个IP地址每天请求竟然超过10万次。)

  3、如果您的软件实现采用HTTP,可允许超速缓存。

  4、负责关注您对外出的网络流量。

  5、在实际需要的时候才抓取外部内容。

  最后,W3C管理员抛出一个问题:“W3C可以忽略这个问题,响应所有的用户请求吗?”

  假如有一天,我们目前处理10亿多DTD请求,变为100亿次的DTD请求该会怎么办?

  总的来说,对于W3C过度的DTD网络流量(W3C‘s Excessive DTD Traffic )这个事,“W3C管理员很生气,郁闷、惆怅、纠结”,这比墨西哥湾漏油更让她寝食难安。

  网林鬼斧最后给W3C管理员了三点建议,希望对其有所帮助:

  1、首先得让大家知道这个事情、逐渐重视这个事,这一点阅网博客带头给大家进行国内首次的书面介绍。

  2、在中国做一些更明了的使用手册或帮助手册,如果中文帮助做好,错误的时间、错误的请求是可以最大程度避免的。在做一份关于DTD使用经验更加简单明了方面,阅网博客愿意帮助W3C共同推进此事。(当然国外也是。)

  3、希望W3C管理员注意身体,该吃吃该喝喝,有事别往心里隔,积极处理此事,但是别因此日渐憔悴,多出去转转、多陪陪家人:) 哈哈,有点扯远了。

  最后,希望W3C管理员头疼的这个问题早日得到解决。

  来源:阅网博客投稿,原文链接



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/2246.html
  • 文章排行:
  • 1.东兴热线
  • 还没发现这样的问题。
  • 2010/7/18 9:55:22   支持(19)反对(7) 回复
  • 2.猫小黑
  • HTML新解:How to Meet Ladies.
  • 2010/7/18 1:29:18   支持(16)反对(9) 回复
  • 4.薛定谔的猫
  • 看完文章后做的第一件事就是访问了那两个网址。
  • 2010/7/18 2:12:27   支持(13)反对(8) 回复
  • 5.吉光片羽
  • 说实话,看半天没看明白说了点啥。。。问题解决了么?解决方案是什么?
    如果我没记错的话,使用html5的话,是根本不需要什么 W3C 的规范请求的,直接写 <!DOCTYPE html> 就可以了,至少我的 史努比(中文)网 是这么做的,而且没发现有什么异常。
  • 2010/7/24 17:14:35   支持(14)反对(9) 回复
  • 6.聋子音乐电台
  • 确实很麻烦。。。。
  • 2010/7/18 3:55:26   支持(12)反对(8) 回复
  • 7.确实不错
  • 同意,网站设计应当规范化,比如长清大学城网。
  • 2010/7/18 20:57:19   支持(13)反对(9) 回复
  • 9.三炮
  • 呵呵呵,确实想访问!说的真的很不错。和我的网站差不多!支持龙老大
  • 2010/7/18 8:05:21   支持(15)反对(12) 回复
  • 10.evilz
  • 太八股,没看懂!不过如果说的是DTD的那几条链接的话,嗯....
    我只想说那个一般都是工具自动生成的,即便木有连接网络也不影响使用,因为本地都有啊!
  • 2010/7/19 21:53:53   支持(10)反对(7) 回复
  • 11.Sleven
  • 还是赶紧把html5标准整出来让大家用html5吧~
  • 2010/7/20 17:43:55   支持(12)反对(9) 回复
  • 12.etomite
  • 将“DTD”文件放在自己的服务器上并链接,能不能起作用呢?
  • 2010/7/18 10:28:54   支持(15)反对(13) 回复
  • 13.acai
  • 软文,明显的软文,说了半天没说出个道道来?什么解决方案??还是给了解决方案,我没看懂?

    希望williamlong善待软文啊
  • 2010/9/3 9:34:40   支持(11)反对(10) 回复
  • 15.恋羽LOVEYU
  • 把那个去掉行不!觉得可以!
  • 2010/7/18 22:52:54   支持(11)反对(11) 回复
  • 17.willy
  • 不错good!
    willy 于 2011-4-10 10:19:43 回复
    试试...
  • 2011/4/10 10:18:31   支持(11)反对(11) 回复
  • 19.摩尔博客
  • 很专业的东东。来学习了
  • 2010/7/18 19:09:26   支持(5)反对(7) 回复
  • 21.旅行者2号
  • 这个。。。我网站首页代码里也有。
  • 2010/7/18 9:23:06   支持(16)反对(19) 回复
  • 22.123
  • 自作孽不可活,活该他们用URI做标识,其实那根本就不需要是URI。
  • 2010/7/18 11:35:48   支持(6)反对(9) 回复
  • 24.黑莓屋
  • 第一时间访问了那个网站,发现速度飞快!貌似服务区不在国外?
    黑莓屋 于 2010-7-18 9:13:58 回复
    ping 值居然是18!
  • 2010/7/18 9:13:20   支持(10)反对(14) 回复
  • 25.Jacse
  • 我觉得应该让投稿的信息更明确些,因为很多文章会误以为是月光的作品。
  • 2010/7/18 14:04:23   支持(9)反对(13) 回复
  • 26.et27
  • 用guid标识不行?实在不行都要求dtd本地化
  • 2010/7/19 13:07:41   支持(5)反对(9) 回复
  • 28.猪八戒的博客
  • html都是以这段代码开头的,但是好像没有也没什么影响吧。
  • 2010/7/27 13:09:52   支持(14)反对(19) 回复
  • 29.聋子音乐电台
  • 看完文章后做的第一件事就是访问了那两个网址。

    +1
  • 2010/7/18 3:55:49   支持(3)反对(9) 回复
  • 30.西游天下
  • 整天浏览网页,没想到W3C 还有这样的困惑。
  • 2010/7/18 22:18:08   支持(7)反对(13) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.