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

fad*_*bee 35 browser dns srv

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

这似乎是一项最小的工作量,它将使服务器端可靠网站的实现变得更加简单.

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

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

这里有什么我想念的吗?

Ted*_*ddy 21

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

但是,这并不禁止新的HTTP 1.2标准指定使用SRV记录.但是,Mark Andrews 于2007年4月向IETF HTTP工作组提出了建议,但没有得到回复.

  • 我们如何让球滚动?是否已经有1.2委员会? (4认同)
  • “适用性声明”部分的摘要-当应用协议未指定应使用SRV记录时,客户端不应使用SRV记录。请参阅BCP 14以了解“不应”的定义。 (2认同)

ric*_*rdw 10

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

您来到此页面是因为您已经说过类似以下的内容:

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

这是对此类陈述的常见答案.

  • 奇怪的是,该页面完全忽略了 XMPP (Jabber) 和 SIP,它们完全依赖于“SRV”记录。 (2认同)
  • @Alnitak它的安全模型是如何破碎的?或者比通过名字连接其他任何东西更安全? (2认同)
  • 这个答案完全无法向我解释。错误页面是故意的吗?错误的证书是故意的吗?链接应该是当前刚刚断开的东西吗?答案仅说明答案是“ this”,这对我没有任何帮助。请尝试在答案中实际给出答案,而不要依赖某些链接(错误行为可能是故意的,也可能不是故意的) (2认同)

Aln*_*tak 9

我已经做了两次努力来介绍这个:

  1. draft-andrews-http-srv(2002)

  2. draft-jennings-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.
Run Code Online (Sandbox Code Playgroud)

这就是问题的症结所在.如果您的站点依赖SRV找到的记录,则在每个浏览器都支持它之前,它将不适用于某些用户.

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

  • 不,我现在不会承担风险*,但我希望它不会在五年内成为风险.如果在五年内,我的SRV网站可以在所有浏览器中运行,我将很高兴,但SRV故障转移不适用于仍然停留在IE12上的1%的用户. (6认同)
  • 对http://tools.ietf.org/html/draft-andrews-http-srv-01的反对意见是什么?看起来非常理智.没有人被迫使用SRV记录,那些想要使用它们的人只需要一个后备A记录,直到旧的浏览器退役. (3认同)
  • Andrews/Kottelin于2014年更新:http://tools.ietf.org/html/draft-andrews-http-srv-02 (3认同)

max*_*zig 6

因为:

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

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