域名是如何做到多级的?

2016-04-26 10:37:33 +08:00
 anonymoustian

比如说 QQ 空间: 556622333.qzone.qq.com qq.com 就是主域名, qzone 相当于二级域名,前面的 QQ 号就是三级域名了。

但是有那么多 QQ 号, QQ 是怎么管理和做到的呢?

另外 比如说 1de928978e2bf219f76e1c5c2a9ccb1a.ime.static.baidu.com

这样的域名是怎么注册和解析的呢?

能不能详细说说

5801 次点击
所在节点    程序员
23 条回复
abelyao
2016-04-26 10:40:02 +08:00
有个东西叫:泛域名解析
sarices
2016-04-26 10:41:16 +08:00
*.qzone.qq.com *.ime.static.baidu.com *.qq.com
BOYPT
2016-04-26 10:41:22 +08:00
主机名写星号
WO31400
2016-04-26 10:44:09 +08:00
目测泛解析
loading
2016-04-26 10:45:11 +08:00
收到请求后,会向上询问,也就是 qzone.qq.com qq.com ,在这一级解析就可以了。
一级一级向上。
stabc
2016-04-26 10:45:22 +08:00
其实我倒有一个问题,就是 DNS 服务器查询域名的时候,如果是个泛解析(*.domain.com), TTL 一小时,然后查询了一个 aa.domain.com ,然后一小时之内又查询了 bb.domain.com ,会不会继续去 NS 请求?
也就是说, DNS 服务器缓存的是 aa.domain.com 还是*.domain.com
jasontse
2016-04-26 10:46:39 +08:00
可以利用 DNS 提供的 API 或者直接泛解析
anonymoustian
2016-04-26 10:47:24 +08:00
@sarices 这样解析了以后,那么 QQ 空间怎么知道是谁的空间呢?
Pastsong
2016-04-26 10:51:36 +08:00
@anonymoustian 服务器是知道完整的请求域名啊,和 DNS 又没关系
raysonx
2016-04-26 10:52:34 +08:00
实现上肯定是泛域名解析。至于解析的过程,可以用 linux 下的 dig 工具来追踪:
$ dig +trace 556622333.qzone.qq.com

; <<>> DiG 9.10.3-P4-RedHat-9.10.3-12.P4.fc23 <<>> +trace 556622333.qzone.qq.com
;; global options: +cmd
. 63342 IN NS f.root-servers.net.
. 63342 IN NS c.root-servers.net.
. 63342 IN NS l.root-servers.net.
. 63342 IN NS b.root-servers.net.
. 63342 IN NS g.root-servers.net.
. 63342 IN NS a.root-servers.net.
. 63342 IN NS d.root-servers.net.
. 63342 IN NS m.root-servers.net.
. 63342 IN NS k.root-servers.net.
. 63342 IN NS j.root-servers.net.
. 63342 IN NS h.root-servers.net.
. 63342 IN NS e.root-servers.net.
. 63342 IN NS i.root-servers.net.
. 64157 IN RRSIG NS 8 0 518400 20160430170000 20160420160000 60615 . Ecdb/rlP/h1SrPjDlvw7rUwVMpyP0cm1mkrRW9FGYpPHXKbdgAXJ6QyS MPlpacO5LZomFbBcBmRudkVi7m0DOyY1YlDtfnpls4dKjiBk3ItdWBfl +HO9cV1hwj1gL4D6SDo/hrhvk1jbIYrkeBpZuVQ3AI3FsopJu92mIDZr PV8=
;; Received 397 bytes from 10.72.17.5#53(10.72.17.5) in 1 ms

com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20160505170000 20160425160000 60615 . ZGFmiWOOFQeI0nhN6otmA5DM3jq5R3hXaciQCANvDVFDozqIeWlV0iLK m3D8Yu9vjp+tbug0+06ionIg4dCzX3zNsH3JqjumVIdziGyR9nwU54XP g3B2ygltuFr3APr4P8Y5B87JGlXQDE6dEDyXyoad94pmJTnmS/J6FhXF sjg=
;; Received 746 bytes from 199.7.83.42#53(l.root-servers.net) in 3 ms

qq.com. 172800 IN NS ns1.qq.com.
qq.com. 172800 IN NS ns2.qq.com.
qq.com. 172800 IN NS ns3.qq.com.
qq.com. 172800 IN NS ns4.qq.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20160502045841 20160425034841 34745 com. eTc6yc1G33jNdyDy+1e2SW+6qRIWht5EKnKeMO9cPxGC/KQ2VXrNKyA+ hK+yneELNfEvH+RZuSKzhYIqeMYp++4j7Lcl10AAydUte6ZElrJihmcs 4jhQVE5NOlCBOEUxiI6JxWPBcR8dKSl3CZjNKUyNuEWcH99B4RD+EHc3 3xo=
J974KM8QMLVAO2IHHPI9PTK9JD8Q2RU0.com. 86400 IN NSEC3 1 1 0 - J97BMN39U8LG6K2KCC60K2TGA0M5UO2R NS DS RRSIG
J974KM8QMLVAO2IHHPI9PTK9JD8Q2RU0.com. 86400 IN RRSIG NSEC3 8 2 86400 20160429044956 20160422033956 34745 com. HsTt62NgWSJ3+ji8BdmcmzLuvr3MaYmrmKgErQQ15W7jQpUUcV6KzyMj FBHYLJPct2lx3g8vgjWvmYQIta5nSuz5NM4X3jz4ynof1+fN1O/72o9S Gnk8hpzzoMCF4f82DMWputZhPL81z9IkZgDJWzcqDDxjeUXpRPFJeDGJ Jy0=
;; Received 768 bytes from 192.33.14.30#53(b.gtld-servers.net) in 268 ms

qzone.qq.com. 86400 IN NS ns-cmn1.qq.com.
qzone.qq.com. 86400 IN NS ns-tel1.qq.com.
qzone.qq.com. 86400 IN NS ns-cnc1.qq.com.
qzone.qq.com. 86400 IN NS ns-os1.qq.com.
;; Received 282 bytes from 182.140.167.157#53(ns3.qq.com) in 58 ms

556622333.qzone.qq.com. 600 IN A 140.207.123.151
;; Received 67 bytes from 101.226.66.18#53(ns-tel1.qq.com) in 74 ms
raysonx
2016-04-26 10:56:19 +08:00
@stabc 按照你说的例子,缓存的是 aa.domain.com ,不存在缓存泛域名的说法。
DNS 的客户端(递归 DNS 服务器)并不知道你做的是泛解析,在它看来就是普通的解析。
sarices
2016-04-26 10:58:56 +08:00
@anonymoustian 那个是你程序的事情了,和域名没什么关系
raysonx
2016-04-26 10:59:00 +08:00
@anonymoustian
HTTP 服务器区分谁的空间不是依靠 DNS ,而是 HTTP 头的 HOST 字段。
HTTP 客户端(即浏览器)在向 HTTP 服务器发送 HTTP 请求时,会在 HOST 字段中携带完整域名供 WEB 服务器区分。
ytmsdy
2016-04-26 10:59:34 +08:00
泛域名解析据说是提高网站收录和权重的黑科技。。。。
raysonx
2016-04-26 11:03:15 +08:00
另外,补充一个大多数国人都是混淆的概念:
556622333.qzone.qq.com 这个域名中,
com 是顶级域(Top level domain, TLD)
qq.com 是二级域
dreamcountry
2016-04-26 11:07:33 +08:00
@ytmsdy 真的么
ytmsdy
2016-04-26 11:09:56 +08:00
@dreamcountry 真的,刚刚开始会有好多好多好的爬虫爬你,然后收录,然后被 K 。。
Havee
2016-04-26 11:10:57 +08:00
不用泛域名
偶尔要用到, name.com 是支持这种解析的
www.domain.com --> ip1
xx.yy.zz.domain.com --> ip2
dreamcountry
2016-04-26 11:11:27 +08:00
@ytmsdy 好调皮你
SourceMan
2016-04-26 11:11:33 +08:00
@raysonx 我们的产品同时支持 Android 系统和 iPhone 系统

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/274424

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX