为啥在 HTML 中使用 href="// 而不是 href="http://? [复制]
Posted
技术标签:
【中文标题】为啥在 HTML 中使用 href="// 而不是 href="http://? [复制]【英文标题】:Why using href="// instead of href="http:// in HTML? [duplicate]为什么在 HTML 中使用 href="// 而不是 href="http://? [复制] 【发布时间】:2014-02-13 02:34:16 【问题描述】:为什么在域名前使用<link href="//something.com/style.css" rel="stylesheet">
而不是http://
或https://
?
如果我们使用href=//
,它会随着链接而改变吗?就像在 SSL 模式下会自动更改为https://
?
【问题讨论】:
***.com/questions/4978235/… 【参考方案1】:正如您所猜测的那样:使用 href="//..." 而不指定 URI 方案可以动态匹配用于访问资源的任何协议,例如 http 或 https。
这实际上只是一个相对路径的示例,但它是相对于协议的。
来源:IETF 的 URI syntax documentation,第 3.1 节(方案)和第 4.2 节(相对参考)
【讨论】:
【参考方案2】:是的,它将使用当前协议。
即如果当前页面是https
,它将使用https
访问href
。
如果http
则通过普通http
访问链接。
如果主机页面是 https
,这将防止浏览器警告,并且比普通的 http
链接更安全。
【讨论】:
“这将防止浏览器警告”如果目标主机也被配置为通过 SSL 正确地提供资源。如果不是,则行为范围从超时到 SSL 证书警告再到 404。 这只有在资源的域支持与正在访问的托管页面相同的协议时才有效。 感谢您的详细介绍。以上是关于为啥在 HTML 中使用 href="// 而不是 href="http://? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
为啥在Javascript里用window.location.href=‘a.html’语句不能实现网页跳转啊。浏览器还是显示原网页。