X 友 plantegg 在测试 MySQL 的连接问题时,使用了 IP 127.1,因此引起了一些网友的兴趣。我在第一次知道这些时,也曾怀疑自己学了假的计算机网络课程。所以整理了一些像是“茴字的四种写法”一类的冷知识。各位读者,请记着!这些知识应该记着。将来做网管的时候,写规则要用。(恳切脸)
IPv4
在学习 IPv6 时,大家都知道,连续的 0 可以省略,写成连续的两个冒号 ::
。在 IPv4 中同样可以简写。
IPv4 的简写
正如 plantegg 提到1的, 127.1
即 127.0.0.1
。就是直接省略了中间的 0 值点分位。
常见的 IP 格式 127.0.0.1
这种是使用了点分位方式,即用点 .
分隔开的四个字节。如果不用点分位,直接写成 16 进制 0x7f000001
也是可以的,10 进制 2130706433
也行,8进制 017700000001
,这些都等同于 127.0.0.1
。
点分位也不要求一定分成4个,可以只将第一个字节分开,比如 1.65793
等同于 1.1.1.1
。每个分位也不要求统一进制,比如其对应的 8 进制是 1.0200401
。同理,127.0.0.1
也能写成 0x7f.01
。
看到这里,应该不难理解 IPv4 只能省略 0 值分位了吧,127.1.1.1
能写成 127.65793
,同理,127.0.0.1
就能简写成 127.1
。
IPv4 的本质是 32 位的整数,在真正在网络层面使用这些写法的 IP 时,会自动转换成整数值,一般打印输出时,会按标准的 4 个占分位进行格式化。
最短的 IPv4 地址
Cloudflare 有一个 DNS/Warp 服务 IP 1.1.1.1
非常酷2。实际上,它的备用 IP 1.0.0.1
则更酷,因为按上面的规则,可以简单写成 1.1
,这是最酷的 A 类 IPv4 地址,因为它是可用范围中的第一个。
在非等宽字体中,1
一般要窄于其他字符,所以 1.1
可能是打印出来宽度最短的公网 IPv4 地址。
域名
在大众眼中的通俗概念中,对一些术语和规则有着与专业领域不同的认知。
结尾省略的点
比如二级域名和顶级域名的定义。通俗定义的顶级域名,是指 dallas.lu
这种需要注册的域名,二级域名是指其子域名比如 cdn.dallas.lu
。但 .lu
才算是顶级域名。顶级域名之上,还有根域名,即 .
。所以,dallas.lu.
才算一个完整的域名。但在日常使用中,其顶级域名后缀 .lu
即足够使其与主机名/本地域区分开来,所以结尾的 .
是可省略的。
如果你拥有过域名,并设置过 CNAME 解析或 NS,可能遇到过必须在结尾加个 .
的情况。但如今,如 Cloudflare 等服务商都允许不写绝对完整的域名了。逐渐很多人就忘记了这件事,所以在域名结尾加个 .
,会有意外的效果。比如,阿里云是禁止使用未备案的域名提供 Web 访问的,但其没有考虑结尾含 .
的情况,所以在结尾加上 .
就能正常访问。这个方式我用了很多年,直到大概最近三年内才失效。
有趣的是,各家网站对于域名结尾的 .
的处理方式也不一样。比如,http://tesla.com. 和 http://google.com. 是跳转到无 .
结尾的域名;而 http://microsoft.com. 是 404 页面;http://x.com. 和 http://amazon.com. 是空白页面;http://baidu.com. 是连接被重置;http://openai.com. 则可正常访问。
最短的 URL
对于顶级域名来说,是不能直接访问的,因为它只由2个以上的字母组成,与主机名/本地域的格式相同而造成冲突。但如果在后面加一个 .
,就能够作为域名来解析了。
所以,最短的网址之一是 http://to.,目前其跳转到 www.to.
。其二是 http://ai.,目前正常访问。
相似的域名
IDN 域名中可以使用更多的字符。其中很多跟英文字母非常像,如果浏览器不对其转码显示,用户凭肉眼是分辨不出来的。比如,访问一下 https://раураӏ.com/,你会发现它并不是真正的 PayPal,其中的 а
并不是普通的小写字母 a
。关于域名中的李逵和李鬼,超出了本文范畴,不再详细讨论。
结语
学会了吗?(叹气+惋惜脸)
参考
-
plantegg. https://x.com/plantegg/status/1773162126254952769. X. 2024-03-27. ↩
-
Ólafur Guðmundsson. Introducing DNS Resolver, 1.1.1.1 (not a joke). The Cloudflare Blog. 2018-04-01. ↩
Webmention
https://x.com/dallaslu/status/1779570633246183673X.com
Nostr
评论表单
最短的 URL,我认为是 moz://a,但是仅在火狐浏览器下,跳转到 mozilla.org
所以到底
127.0.0.1
有多少种写法呢?