通常,当我看到 时//
,它通常遵循一些协议前缀,如http:
或ftp:
。我从未见过它放在其他任何地方。例如,
http://www.google.com/
是一个典型的 URL。
但是,我发现以下两种语法可以生成同一站点的不同版本,
我原以为//
协议规范以外的任何地方都是无效的。令我惊讶的是,我错了。 产生同一个网站的不同版本的结局//
是什么?
编辑:
那个网站上的某个人一定是注意到了另一个链接,因为现在两个链接都在同一页面上。
Dav*_*rtz 68
前导//
是 URL 语法的一部分。万维网的发明者已经为那个错误道歉。
真的,如果你仔细想想,它不需要双斜线。我本可以将它设计为没有双斜线。——蒂姆·伯纳斯-李爵士,万维网的发明者
至于尾随//
,真的不是双斜线。第一个斜杠将主机名与路径分开。最后一个斜线是路径。如果需要,Web 服务器可以处理/
与空路径不同的路径,而weather.com 显然是这样做的。至于这是偶然的还是故意的,你得问他们。
小智 21
最近,有人认为双斜线确实有作用。Google 建议(例如,为了避免从安全页面意外调用不安全的内容)从嵌入式资源(样式表、js 等)中省略协议,如下所示
<script src="//www.google.com/js/gweb/analytics/autotrack.js"></script>
Run Code Online (Sandbox Code Playgroud)
因此,现在很明显,这种无协议 URL 是完全限定的 URL,而不是相对 URL(以单斜杠开头)。
Sta*_*mer 13
要实际回答的问题,原来的规格得到协议http:
(或可能ftp:
,gopher:
,mailto:
,news:
,telnet:
,wais:
,file:
或prospero:
),那么一个//
以指示正在使用的统一资源定位符(URL)句法,则主机(任选地与前缀user:password@
),则地址从另一个开始/
。这是在RFC 1738中提出的。
随着互联网的发展,它http:
成为了主导协议,因此浏览器现在假设http://
如果不存在前缀,就应该添加它。
归档时间: |
|
查看次数: |
20517 次 |
最近记录: |