gpt4 book ai didi

html - HTML 中带有主机的无协议(protocol)绝对 URI?

转载 作者:可可西里 更新时间:2023-11-01 13:16:48 26 4
gpt4 key购买 nike

我看过一些pages指的是看似绝对的 URI,带有主机,但没有协议(protocol)。例如:

<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>

我的假设是,这意味着“使用与我们现在使用的协议(protocol)相同的协议(protocol)”,因此父页面将请求 https://mc.yandex.ru/metrika/watch.js如果它自己的协议(protocol)是 https

这个语法是否正确?标准的一部分?什么意思?

最佳答案

它被称为“网络路径引用”。相关文档可在 RFC 3986 中找到.具体见4.2节:

A relative reference that begins with two slash characters is termed
a network-path reference; such references are rarely used.

和第 5.4 节:

Within a representation with a well defined base URI of

  http://a/b/c/d;p?q

a relative reference is transformed to its target URI as follows...

"g:h"           =  "g:h"
...
"//g" = "http://g"
...

所以以双斜杠开头的 URI 被转换为匹配基本 URI。我所知道的一种用途(事实上,我见过的唯一用途)是在使用 CDN 时(例如,通过 Google CDN 包含 jQuery 时)。 Google 在 http 协议(protocol)上托管一个版本,在 https 协议(protocol)上托管另一个版本,使用此 URI 格式将导致加载正确的版本,无论您是哪种协议(protocol)使用。

更新(刚刚找到并阅读了this article)

似乎在整个页面中使用此 URI 格式可以防止 IE 中的“此页面包含安全和非安全项目”错误。但是,值得注意的是,这种格式会导致通过 link 元素包含文件,或者 @import 指令会导致包含的文件被请求两次。所有其他资源(例如图像和 anchor )都应按预期工作。

关于html - HTML 中带有主机的无协议(protocol)绝对 URI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799156/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com