chrome://net-internals/#events&q=type:SOCKET%20is:active
https://serverfault.com/questions/349964/dns-round-robin-do-browsers-stick-to-one-ip-as-long-as-it-is-online
https://tools.ietf.org/html/rfc8305
https://en.wikipedia.org/wiki/Happy_Eyeballs
我搭建了实验环境,一个 域名 对应两个A 记录。两个地址发布业务。用Chrome 访问获得一个页面,我停掉一个服务,再次访问直接访问到了另一个页面,这个域名相同,使用curl 也是相同的现象
在浏览器中使用了下面的记录,浏览器会把多个A 记录放到 address list 中,来判断可访问的地址。curl 使用 了 --connect-timeout 的机制默认为0 ,当一个无法访问直接使用下一个。
From Wikipedia, the free encyclopedia Jump to navigationJump to search Happy Eyeballs (also called Fast Fallback) is an algorithm published by the IETF which can make dual-stack applications (those that understand both IPv4 and IPv6) more responsive to users by attempting to connect using both IPv4 and IPv6 at the same time (preferring IPv6), thus avoiding the usual problems faced by users with imperfect IPv6 connections or setups. Happy Eyeballs is designed to address the problem that many IPv6 networks are unreachable from parts of the Internet,[1] and applications trying to reach those networks will appear unresponsive, thus frustrating users. Happy Eyeballs solves this problem by determining which transport would be better used for a particular connection by trying them both in parallel. The algorithm and its requirements are described in RFC 8305, "Happy Eyeballs Version 2: Better Connectivity Using Concurrency".[2] The name "happy eyeballs" derives from the term "eyeball" to describe endpoints which represent human Internet end-users, as opposed to servers.[3] An application that uses a Happy Eyeballs algorithm checks both IPv4 and IPv6 connectivity (with a preference for IPv6) and uses the first connection that is returned. The addresses are often chosen from the DNS with a round-robin algorithm.[4] Implementations of Happy Eyeballs stacks exist in Google's Chrome web browser, Opera 12.10, Firefox version 13, OS X,[5] cURL[6] and OpenBSD.[7] Happy Eyeball testing was part of World IPv6 Day in 2011.[8] The Happy Eyeballs algorithm can also be used for choosing between other types of transport protocols, such as between TCP and SCTP.[9] See also IPv6 deployment IPv6 brokenness
快乐的眼球 维基百科,自由的百科全书 跳转到导航跳转到搜索 Happy Eyeballs(也称为Fast Fallback)是IETF发布的一种算法,它可以通过尝试同时使用IPv4和IPv6进行连接来使双栈应用程序(那些既了解IPv4和IPv6的应用程序)也对用户做出更好的响应(首选IPv6),从而避免了IPv6连接或设置不完善的用户经常遇到的问题。 Happy Eyeballs旨在解决Internet上无法访问许多IPv6网络的问题,[1]并且试图访问这些网络的应用程序将显示为无响应,从而使用户感到沮丧。Happy Eyeballs通过并行尝试将哪种传输方式更好地用于特定连接来解决此问题。该算法及其要求在RFC 8305 “快乐眼球版本2:使用并发性更好的连接”中进行了描述。[2]名称“眼球”源自术语“眼球”,用于描述代表人类互联网最终用户的端点,而不是服务器。[3] 使用Happy Eyeballs算法的应用程序会同时检查IPv4和IPv6连接(优先使用IPv6),并使用返回的第一个连接。通常使用循环算法从DNS中选择地址。[4] Happy Eyeballs堆栈的实现存在于Google的Chrome网络浏览器,Opera 12.10,Firefox版本13,OS X,[5] cURL [6]和OpenBSD中。[7] 快乐眼球测试是2011年世界IPv6日的一部分。[8] Happy Eyeballs算法还可以用于在其他类型的传输协议之间进行选择,例如在TCP和SCTP之间进行选择。[9]