如何在传单地图互动程序提供商上使用DNS预取?

如何在传单地图互动程序提供商上使用DNS预取?,dns,leaflet,cross-domain,subdomain,prefetch,Dns,Leaflet,Cross Domain,Subdomain,Prefetch,我正在传单地图中使用多个地图分幅提供商,希望在地图分幅层提供商/站点上使用DNS预取,以减少页面加载时间。但令人困惑的是,这些网站的URL使用不同的子域格式:https://{s}.tile.openstreetmap.org/像a.tile.openstreetmap.org和b.tile.openstreetmap.org var mapnik = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {

我正在传单地图中使用多个地图分幅提供商,希望在地图分幅层提供商/站点上使用DNS预取,以减少页面加载时间。但令人困惑的是,这些网站的URL使用不同的子域格式:
https://{s}.tile.openstreetmap.org/
a.tile.openstreetmap.org
b.tile.openstreetmap.org

var mapnik = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
    attribution: "&copy; <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a>"
});
var stamenT = L.tileLayer("https://stamen-tiles-{s}.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png", {
    attribution: "Map tiles by <a href='https://stamen.com'>Stamen Design</a>, <a href='https://creativecommons.org/licenses/by/3.0'>CC BY 3.0</a> &mdash; Map data &copy; <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a>",
    subdomains: "abcd"
});
var mapnik=L.tileLayer(“https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png”{
属性:“©;”
});
var stamenT=L.tileLayer(“https://stamen-tiles-{s} .a.ssl.fastly.net/terrain/{z}/{x}/{y}.png“{
属性:“地图平铺依据,&mdash;地图数据&mdash;”,
子域:“abcd”
});
我应该如何使用这些外部资源的DNS预取。我必须为每个子域使用
link rel=“dns预取预连接”
,还是必须为单个域仅使用一个(如仅使用:

而不是:


等等。)

您需要在每个子域上使用
dns预取
预连接
,因为dns对域和子域的组成没有固有的知识。看看它有什么不同会很有趣

是的,但这部分“DNS对构成域和子域的内容没有固有的知识。”并非如此。名称服务器必须了解区域切割,才能正确处理DNSSEC验证和QNAME最小化。参见及其附录A:“该算法在存在未知区域切割的情况下,通过QNAME最小化执行名称解析。”。另请参见RFC2181中的定义:在父区域中,存在指定子区域原点的NS记录表明存在区域切割。@PatrickMevzek公平评论,我不这么认为。谢谢你的更正。不过,我认为这不会影响手头的问题。