我看到有些网站使用 //somedomain.com/images/img.jpg
而不是使用包含 http:
的 http://somedomain.com/images/img.jpg
。
这两者之间有什么区别吗?是浏览器只是自动纠正了缺少的 http:
,这些人只是懒惰吗?我对原因很好奇。
如果您已经通过 http
进入网站,它会认为您正在使用 http
,并通过同一协议连接到相同的服务器。 如果您使用的是 https
,情况也是一样的。 如果您正在使用 http
并希望切换到 https
,则需要在 href
中指定协议。
http
或https
上查看的网站? - chadleysuperanalytics.com
同时提供 HTTP 和 HTTPS,它可能会建议您使用 URI //superanalytics.com/analytics.js
来包含其分析脚本。这样,如果您正在运行HTTP,SuperAnalytics也会运行HTTP。如果你正在运行HTTPS,那SuperAnalytics也会运行HTTPS。这样就可以避免出现那些讨厌的“这是一个安全网站,但其中有不安全的内容!”的警告。 - Matchu虽然我以前没有见过它被使用过,但它是一个有效的URI引用。根据语法规则:
URI-reference = URI | relative-ref
relative-ref = relative-part [ "?" query ] [ "#" fragment ]
relative-part = "//" authority path-abempty
| path-absolute
| path-noscheme
| path-empty
绝对URI是指:
URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
如需更多信息,请随意阅读RFC3986的其余部分。
//somedomain.com/images/img.jpg
是一个符合RFC 3986 : 第4.2节标准的URI语法。它相对于当前协议,因此在切换http和https时非常有用,因为您无需指定协议。所有现代浏览器都支持这种格式,包括IE 6。我从未见过//somedomain.com/images/img.jpg
,也认为这是不合法的。
我见过/images/img.jpg
,它意味着“使用当前域名”。如果您有几个网址(例如,aaaaa.com和aaaaa.net)指向同一个站点,这将非常有帮助。