【问题标题】:What's the significance of "//" and "/" in the script tag? [duplicate]script 标签中的“//”和“/”有什么意义? [复制]
【发布时间】:2020-03-21 01:43:10
【问题描述】:

例如,我对理解“//unpkg.com/leaflet@0.7.7/dist/leaflet.js”中的“//”和“/js/ui-leaflet.min”中的“/”感到困惑。 js"

【问题讨论】:

  • //http://https:// 取决于当前页面架构,而 / 只是一个绝对路径
  • 要添加到上面的评论中,“//http://https://”... 选择哪一个取决于包含页面的方案 (http/https)。

标签: html angularjs leaflet


【解决方案1】:

资源网址开头的// 是一个隐式协议,它告诉浏览器使用与当前页面相同的协议,即httphttps

如果您在 https://www.example.org 的页面上,//unpkg.com/leaflet@0.7.7/dist/leaflet.js 的脚本 src 将加载 https://unpkg.com/leaflet@0.7.7/dist/leaflet.js

如果您在 http://www.example.org 的页面上,//unpkg.com/leaflet@0.7.7/dist/leaflet.js 的脚本 src 将加载 http://unpkg.com/leaflet@0.7.7/dist/leaflet.js

/unpkg.com/leaflet@0.7.7/dist/leaflet.js 的脚本 src 意味着浏览器从隐式域名加载脚本,即 http://www.example.org 将转换为 http://www.example.org/unpkg.com/leaflet@0.7.7/dist/leaflet.js。如果使用不当,这可能会停止加载外部资源。这应该用于位于相同主机名的资源。

您可以在 developer.mozilla.org 阅读有关 URL 的更多信息

【讨论】:

  • 浏览器如何解释和处理这个有区别吗?两者都不会与包含页面保持相同的方案+主机+端口吗?
  • 浏览器应该如上所述处理这个问题。因此浏览器不会更改httphttps 之间的方案,除非目标执行重定向。
猜你喜欢
  • 2010-11-28
  • 2014-01-08
  • 1970-01-01
  • 1970-01-01
  • 2010-11-30
  • 2014-11-02
  • 2020-10-01
  • 1970-01-01
  • 2014-10-11
相关资源
最近更新 更多