Dado que:
domain.com resolves to some IP and
www.domain.com would resolve (usually) to the same IP
Por que abc.www.domain.com ou abcddomain.com não resolvem para o próximo nome de parte N inferior disponível por padrão?
Responder1
Porque há uma diferença entre um nome de host em uma zona e uma zona ou subzona delegada.
Dado www.example.com, www
é um nome de host na zona example.com. Sim, existe um computador em example.com servindo essa zona, mas o sistema DNS está explicitamente configurado para dizer "www é um host aqui" e não "há uma subzona chamada www".
É claro que alguns softwares de servidor DNS suportam o uso de curingas para que possam ser configurados para ter uma zona at www.example.com
e, em seguida, usar um curinga at *.www.example.com
e fazer com que tudo aponte para o mesmo IP.
E, claro, nada impede ninguém de criar seu próprio software de servidor DNS que responda da maneira que desejar, desde que “fale” o protocolo DNS.
Responder2
A relação real aqui é exatamente o oposto do que você pensa. Domain.com não é um endereço alternativo para www.domain.com. Domínio.com é o nome de todos os endereços possíveis que terminam em domínio.comefoi vinculado explicitamente a www.domain.com nos registros DNS. A World Wide Web não é o único, nem mesmo o mais antigo, serviço de uso da Internet e se a organização proprietária do domínio.com não tivesse um site, poderia facilmente tê-lo vinculado a mail.domain.com ou ftp .domínio.com. Em casos de organizações que não são explicitamente apenas websites, o domínio é muitas vezes o sufixo para todas as máquinas dentro da sua rede e o link pode ser atribuído a qualquer uma delas ou a um conjunto de máquinas.
Subir um nível de DNS geralmente significa cruzar uma fronteira organizacional. Nesse caso, domain.com é propriedade da empresa hipotética do exemplo e faz sentido enviar as pessoas que tentam acessá-lo para seus sites. Por outro lado, o com. domínio é propriedade da Verisign, um importante player em DNS que não teria como saber em quais dos muitos clientes você estava realmente interessado.
Responder3
Mesmo que um nome de parte 'máquina' resolvesse para um único IP (digamos, por meio de uma entrada de hosts locais), eu esperaria que o abcmachine resolvesse para o mesmo IP.
As entradas /etc/hosts não são DNS; Eu acho que eles realmenteanteriorDNS e o conceito de nomes pontilhados de vários níveis. Antes de inventar o DNS, a maioria dos sistemas usava apenas nomes de uma única palavra e a.b.c.machine
não existia realmente.
Quanto ao DNS em si, é simplesmente uma escolha que seus inventores fizeram de que apenas nomes criados explicitamente poderiam ser resolvidos por padrão, sem recursos “mágicos”, como expansão automática.
Então, quando você vê www.example.com
a resolução para algum endereço, é porque o proprietário do domíniorealmente adicionadoo subdomínio individual "www" para sua zona DNS – não porque o DNS o duplique automaticamente.
Observe que o DNS na verdadefaztenha isso como umaceitarrecurso. Se você criar uma entrada DNS para *.example.com
(em qualquer nível), todos os subdomínios desconhecidos no mesmo nível (por exemplo, foo.example.com
) serão automaticamente resolvidos com os mesmos dados da *
entrada. Na verdade, isso é usado para muitos sistemas de hospedagem de sites; por exemplo, o GitHub tem uma *.github.io
entrada para capturar automaticamente todos os nomes de usuário.
Mas, na prática, isso torna as coisaschatoem muitos casos (fora da web). Se um domínio optou por usar curingas, toda vez que você cometer um erro de digitação no subdomínio, você não receberá mais uma mensagem de erro real dizendo que estragou o nome – em vez disso, ele vai silenciosamente para um lugar completamente diferente do que você queria.