我经常使用 URL 输入带有或不带有“//“ 之后 ”网址:“但是”//“真的代表什么吗?
答案1
Slashdot 有一个关于此的文章几天前。Tim Berners-Lee 表示,这两条斜线并没有什么特别的原因(另见http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/)。
就我个人而言,我喜欢这种风格的 URL:
http:/com/example/www/blah1/blah.html
此类 URL 中没有明确的“主机名”。如果您的“www.example.com”服务器群因对“/blah1”资源的请求而负担过重,您只需创建“blah1.www.example.com”DNS 记录并将其指向托管“/com/example/blah1”资源层次结构的另一个 Web 服务器群。
毫无疑问,这样的想法会对 DNS 产生影响,而且现在肯定不会实现(就像突然间逆时针运行的时钟变得流行一样),但我认为它会运行得相当好。
编辑:网站的 SRV RR 也很好。见鬼——SRV RR任何事物会好的。
答案2
答案是蒂姆·伯纳斯·李的常见问题解答(链接位于 @Evan Anderson 的回答中提到的 slashdot 讨论中)。基本上,他从阿波罗 领域,其中以双斜杠开头的路径后面跟着计算机名称,用于透明地访问其他计算机中的文件(单斜杠仍然是根目录)。他只是在前面加上了协议,在本例中是http
。
这种特殊情况在 Unix 标准中仍然存在,文件名开头有两个斜杠可以按照实现定义的方式进行解释(三个或更多斜杠相当于一个)。Windows 中也广泛使用相同的约定,只是使用反斜杠代替正斜杠(这称为UNC 路径那里)。
答案3
xx:// 用于指定所使用的协议,它是双 /,因此不会与子文件夹混淆。
答案4
看RFC 1738,第 3.1 节:
虽然 URL 其余部分的语法可能因所选的特定方案而异,但涉及直接使用基于 IP 的协议访问 Internet 上指定主机的 URL 方案对特定于方案的数据使用通用语法:
//<user>:<password>@<host>:<port>/<url-path>
"<user>:<password>@"
可以排除、":<password>"
、":<port>"
和的部分或全部"/<url-path>"
。方案特定数据以双斜杠开头"//"
,表示其符合通用 Internet 方案语法。