2010年11月5日星期五

file:///

用URL表示本地文件的时候,我们用file协议,例如file:///usr/share/doc/。中午躺着的时候,我想到这个表示中用了3个斜杠,其实第3个斜杠不属于URL格式要求中的斜杠,而属于资源路径的一部分,即文件系统的根目录。

刚看到/etc/init.d/README里面,用了file://localhost/usr/share/doc/debian-policy/这样的URL来指向本地文件。试了一下可以,而且把localhost替换成主机名、127.0.0.1也可以。我觉得这样的表述和我们平常用的URL在格式上更统一了,应该提倡。

当我再试,把localhost替换成内网IP、IPv6地址的时候,Firefox都像前面一样,跳转到了对应的file:///地址。最后发现,不管你用什么字符串替换localhost,Firefox都跳转。这表明Firefox忽略了第2个斜杠和第3个斜杠之间的东西。Chromium也是一样,只是第2个斜杠和第3个斜杠之间的字符串不消失。w3m就不行了,貌似只有file://localhost/好使。

关于URL的用法,应该有RFC规定标准的,可是现在手头没有RFC可看。

PS:最近看了看RFC 2616,是介绍HTTP协议的。尽管只看了一部分,但也算是我真正看过的第一个RFC。发现RFC并没有我想象得那么晦涩,作为最权威的文本,应该多看看好。

没有评论:

发表评论