“http://serverfault.com/questions/ask”中的“//”代表什么?

在“ http ”之后,我一直使用带有和不带“ // ”的URL,但是“ // ”真的代表什么?

Slashdot几天前有一篇关于这个的文章 。 蒂姆·伯纳斯·李(Tim Berners-Lee)表示,为什么两条斜线在那里并没有什么特别的理由(另见http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-事情/ )。

就我个人而言,我喜欢这种风格的URL:

http:/com/example/www/blah1/blah.html 

在这样的URL中没有明确的“主机名”。 如果您的“www.example.com”服务器场对“/ blah1”资源的请求负担过重,则只需创build一个“blah1.www.example.com”DNSlogging,并将其指向另一个承载“ / com / example / blah1“资源层次结构。

毫无疑问,这种想法对于DNS具有重要意义,现在肯定不会发生(不止是突然有时钟逆时针方向运行),但我认为它会工作得相当好。

编辑:SRV RR的网站也会非常好。 地狱 – SRV RR的任何事情都会很好。

在Tim Berners-Lee的常见问题中有一个答案(链接在@Evan Anderson的答案中提到的slashdot讨论中)。 基本上,他复制了Apollo Domain的文件名语法,其中用双斜线开始一个path,后跟一个计算机的名字,用来透明地访问其他计算机上的文件(单个斜线仍然是根目录)。 他只是把它与协议,在这种情况下, http

在Unix标准中仍然存在这种特殊情况,其中文件名开头的两个斜杠可以以实现定义的方式解释 (三个或更多斜线相当于一个)。 同样的约定在Windows中被广泛使用,只有反斜杠而不是正斜杠(在那里称为UNCpath )。

xx://是用来指定使用的协议,这是一个双/所以它不能与只是一个子文件夹混淆。

蒂姆·伯纳斯·李承认,这是为了分开地址的协议,但结果是没有必要的。

http://www.theinquirer.net/inquirer/news/1558680/berners-lee-regrets-double-slash

请参阅RFC 1738 ,第3.1节:

虽然URL的其余部分的语法可能会根据所选的特定scheme而有所不同,但涉及将基于IP的协议直接用于Internet上的指定主机的URLscheme使用针对scheme特定数据的通用语法:

//<user>:<password>@<host>:<port>/<url-path>

部分或全部"<user>:<password>@"":<password>"":<port>""/<url-path>"可能被排除。 scheme特定的数据以双斜线"//"开始,以表示它符合常用的Internetscheme语法。

它认为它的字面意思是“重击!”,从真正的早期时间,实际上连接到一个网站要求一些巫术,你不得不牺牲(重击)不是一个,而是两个鸡取悦WorldWideWeamons .. 🙂

它表示地址的根源。