Meu entendimento é que os TLDs são subdomínios do domínio raiz que é representado por ".".
Portanto, "google.com" em termos mais específicos deve ser "google.com.".
Em quais cenários você veria um domínio terminando com um "." como "google.com."? Eu já tinha visto isso antes, mas não pensei em nada na época.
Sim, um nome de domínio totalmente qualificado termina com um ponto. E um nome de domínio é sempre relativo se não terminar com um ponto. O sistema operacional, o aplicativo que está sendo usado, algum proxy ou outro elemento de resolução de nomes pode tentar pesquisar o nome relativo a algo diferente do
.
domínio raiz. No escritório, é provável que o domínio da empresa seja pesquisado antes da raiz, por exemplo.Em teoria, você pode usar nomes de domínio totalmente qualificados em todos os lugares e possivelmente salvar a Internet de alguns acessos de DNS e você mesmo alguns milissegundos. Na prática, o mundo está cheio de expressões regulares de validação, etc., que podem rejeitar esse FQDN (perfeitamente válido).
Um caso específico em que eles são muito comuns é ao configurar servidores de nomes, por exemplo, registros CNAME. Uma zona no servidor de nomes normalmente tem a si mesma como a "raiz relativa", portanto, para fazer referência a um nome de domínio fora dela, deve-se fazer o nome totalmente qualificado terminando em um ponto.
Sim, se você observar os RFCs principais relacionados ao DNS, porque qualquer nome é transmitido com um byte final de valor 0 que codifica a raiz, também conhecida como o ponto final no formato "apresentação".
Consulte a seção 3.1.5 da RFC 1035 :
É também por isso que, ao usar
dig
ou escrever zonefiles, você vê nomes terminando com um ponto final para remover qualquer ambiguidade.Agora, tudo depende do contexto. Em URLs, você escreve nomes de host sem ponto no final e funciona porque está implícito que eles são absolutos.
Você pode querer consultar a RFC 8499 , que é a referência padrão agora para tudo relacionado à terminologia DNS. Diz isto:
E mais tarde, o FQDN é definido e entra em detalhes sobre o problema real relacionado ao contexto:
Quanto a:
Fácil, faça qualquer consulta DNS:
Observe que os resultados seriam exatamente os mesmos se eu usasse
google.com.
porquedig
é um cliente DNS e, portanto, espere que todos os nomes sejam absolutos (portanto, o ponto final é opcional).Você também pode adicionar pontos a qualquer nome e, portanto, ter URLs como
https://www.google.com./
. Para o plano DNS, será o mesmo. Assim para IP e TCP também. Para TLS deve ser o mesmo, se não houver erros nas implementações. No nível HTTP/HTTPS, um servidor adequado funcionaria, mas observe que você pode encontrar bugs apenas por causa disso (e, portanto, ter outra página exibida além da normal ou um erro).O mesmo para endereços de e-mail e em todos os outros lugares em que você usa nomes.
E se você estiver questionando as coisas, sim, por definição, há apenas uma raiz... pelo menos em teoria (consulte RFC 2826 "Comentário técnico do IAB sobre a raiz DNS exclusiva" ). Cada rede (de uma casa local até mesmo um estado completo) pode definir uma raiz local, e outros protocolos definem o nome que parece estar na raiz, mas não realmente (ex:
eth
oubit
). Mas neste ponto você entra em arenas políticas, e não mais técnicas.