45

为什么浏览器不使用 SRV 记录?

这似乎是最少的工作量,它将使可靠网站的服务器端实现更加简单。

例如,您可以指定层级,以便 www.example.com 解析为 1.2.3.4 和 2.3.4.5,并且只有当这两个都不可用时,才尝试 4.5.6.7。

SRV 记录已经存在多年...

我在这里缺少什么吗?

4

5 回答 5

25

SRV 记录的 RFC 指定它可能不会被预先存在的协议使用,这些协议尚未在其规范中指定使用 SRV 记录。即 HTTP 规范中没有 SRV - 根据 SRV 标准,浏览器禁止使用它。

不过,这并不禁止新的 HTTP 1.2 标准指定使用 SRV 记录。然而,Mark Andrews在 2007 年 4 月向 IETF HTTP 工作组提出了这个建议,但没有得到回应。

于 2012-01-30T12:04:46.183 回答
12

据我所知,有两种努力来介绍这一点:

  1. 草稿安德鲁斯 http-srv (2002)

  2. 草稿-詹宁斯-http-srv (2009)

后一草案的“未决问题”段落说明了:

The big open issue seems to be if one should just update the HTTP
scheme to do this SRV lookup and not create a new scheme.  The 00
version of this draft did that.  A new scheme makes this somewhat
unusable for general web surfing while using the old scheme results
in a very long transition times where different clients resolve URLs
in different ways.

这就是问题的症结所在。如果您的站点依赖于查找记录,那么在每个浏览器都支持SRV之前,它对某些用户不起作用。

如果没有某种过渡机制,你会冒这个风险吗?

于 2012-01-30T20:41:28.743 回答
11

Jonathan de Boyne Pollard 提供了以下常见答案

你来到这个页面是因为你说了类似下面的话:

SRV 记录支持甚至还没有进入 Web 浏览器,更不用说不常用协议的客户端了。

这是对此类陈述的常见回答。

于 2012-01-30T13:58:50.153 回答
7

因为:

  1. 当前的 HTTP RFC 没有指定用于 SRV 记录的符号服务名称,也没有指定应使用 SRV 记录(参见RFC 2782,适用性声明)。
  2. 它可能会对浏览器的延迟产生负面影响,浏览器供应商希望首先看到它被 IETF 标准化为 http(参见铬错误报告
  3. 将其集成到现有浏览器中可能有点复杂(参见firefox 错误报告
  4. 供应商不想说出原因(参见webkit 错误报告

将 SRV 记录添加到 HTTP 的最新草案是2014 年的 andrews-http-srv-02,其中包括安全性和过渡性注意事项。它比 2009 年的jennings-http-srv-05草案更完整。例如,它指定了用于选择端口的安全相关算法,当它在 URL 中给出并且有 SRV 记录时(其中还包括一个端口字段) - 詹宁斯草案没有考虑这个问题。

于 2014-09-27T20:45:08.717 回答
-1

我希望他们能将 SRV 标准化多年,但没有运气。对于大多数人来说,这将是必不可少的,只有可扩展性大于缺点,他们所说的关于速度和兼容性的一切都只是一个糟糕的借口。如果服务器想要分析和应用 SRV 记录,为什么不向用户提供这个选项呢?关于兼容性和其他问题——我们生活在 DoH、DoQ、DoT 的时代,它们不是超级兼容,速度很快,但非常有用,趁热打铁,不找借口,就去做。

于 2020-12-29T09:52:53.923 回答