V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anonymoustian
V2EX  ›  程序员

域名是如何做到多级的?

  •  
  •   anonymoustian · 2016-04-26 10:37:33 +08:00 · 5757 次点击
    这是一个创建于 3118 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    能不能详细说说

    23 条回复    2016-04-26 18:15:10 +08:00
    abelyao
        1
    abelyao  
       2016-04-26 10:40:02 +08:00
    有个东西叫:泛域名解析
    sarices
        2
    sarices  
       2016-04-26 10:41:16 +08:00
    *.qzone.qq.com *.ime.static.baidu.com *.qq.com
    BOYPT
        3
    BOYPT  
       2016-04-26 10:41:22 +08:00
    主机名写星号
    WO31400
        4
    WO31400  
       2016-04-26 10:44:09 +08:00
    目测泛解析
    loading
        5
    loading  
       2016-04-26 10:45:11 +08:00
    收到请求后,会向上询问,也就是 qzone.qq.com qq.com ,在这一级解析就可以了。
    一级一级向上。
    stabc
        6
    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
        7
    jasontse  
       2016-04-26 10:46:39 +08:00 via iPad
    可以利用 DNS 提供的 API 或者直接泛解析
    anonymoustian
        8
    anonymoustian  
    OP
       2016-04-26 10:47:24 +08:00
    @sarices 这样解析了以后,那么 QQ 空间怎么知道是谁的空间呢?
    Pastsong
        9
    Pastsong  
       2016-04-26 10:51:36 +08:00
    @anonymoustian 服务器是知道完整的请求域名啊,和 DNS 又没关系
    raysonx
        10
    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
        11
    raysonx  
       2016-04-26 10:56:19 +08:00
    @stabc 按照你说的例子,缓存的是 aa.domain.com ,不存在缓存泛域名的说法。
    DNS 的客户端(递归 DNS 服务器)并不知道你做的是泛解析,在它看来就是普通的解析。
    sarices
        12
    sarices  
       2016-04-26 10:58:56 +08:00
    @anonymoustian 那个是你程序的事情了,和域名没什么关系
    raysonx
        13
    raysonx  
       2016-04-26 10:59:00 +08:00
    @anonymoustian
    HTTP 服务器区分谁的空间不是依靠 DNS ,而是 HTTP 头的 HOST 字段。
    HTTP 客户端(即浏览器)在向 HTTP 服务器发送 HTTP 请求时,会在 HOST 字段中携带完整域名供 WEB 服务器区分。
    ytmsdy
        14
    ytmsdy  
       2016-04-26 10:59:34 +08:00
    泛域名解析据说是提高网站收录和权重的黑科技。。。。
    raysonx
        15
    raysonx  
       2016-04-26 11:03:15 +08:00
    另外,补充一个大多数国人都是混淆的概念:
    556622333.qzone.qq.com 这个域名中,
    com 是顶级域(Top level domain, TLD)
    qq.com 是二级域
    dreamcountry
        16
    dreamcountry  
       2016-04-26 11:07:33 +08:00
    @ytmsdy 真的么
    ytmsdy
        17
    ytmsdy  
       2016-04-26 11:09:56 +08:00
    @dreamcountry 真的,刚刚开始会有好多好多好的爬虫爬你,然后收录,然后被 K 。。
    Havee
        18
    Havee  
       2016-04-26 11:10:57 +08:00
    不用泛域名
    偶尔要用到, name.com 是支持这种解析的
    www.domain.com --> ip1
    xx.yy.zz.domain.com --> ip2
    dreamcountry
        19
    dreamcountry  
       2016-04-26 11:11:27 +08:00
    @ytmsdy 好调皮你
    SourceMan
        20
    SourceMan  
       2016-04-26 11:11:33 +08:00 via iPhone
    @raysonx 我们的产品同时支持 Android 系统和 iPhone 系统
    Tink
        21
    Tink  
       2016-04-26 11:56:02 +08:00 via iPhone
    @anonymoustian QQ 空间自己有数据库,这不就是一张表就解决了的问题么
    YYYDNS
        22
    YYYDNS  
       2016-04-26 13:19:12 +08:00 via Android
    泛域名解析加 web 服务器伪静态
    tintsoft
        23
    tintsoft  
       2016-04-26 18:15:10 +08:00
    用泛解析+伪静态解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5393 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:25 · PVG 15:25 · LAX 23:25 · JFK 02:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.