Toate domeniile se termină din punct de vedere tehnic cu „.”?
Da, dacă te uiți la RFC-urile de bază legate de DNS, pentru că orice nume de acolo este transmis cu un octet final de valoare 0 care codifică rădăcina, adică punctul final în formatul „prezentare”.
Vezi secțiunea 3.1.5 din RFC 1035:
NAME un nume de domeniu reprezentat ca o secvență de etichete, unde
fiecare etichetă constă dintr-un octet de lungime urmat de acesta
numărul de octeți. Numele de domeniu se termină cu
octet de lungime zero pentru eticheta nulă a rădăcinii.
De aceea, atunci când se utilizează săpa
sau scriind zonefiles, vedeți numele care se termină cu un punct final pentru a elimina orice ambiguitate.
Acum, totul depinde de context. În URL-uri, scrieți nume de gazdă fără punct la sfârșit și funcționează deoarece este implicit că sunt absolute.
Poate doriți să vă consultați RFC 8499 care este referința standard acum pentru tot ce ține de terminologia DNS.
Se spune asta:
Formatul de prezentare pentru nume în DNS global este o listă
de etichete ordonate prin distanța descrescătoare de la rădăcină, codificate
ca ASCII, cu un „." caracter între fiecare etichetă. În
format de prezentare, un nume de domeniu complet calificat include
eticheta rădăcină și punctul separator asociat. De exemplu, în
format de prezentare, un nume de domeniu complet calificat cu două
etichetele non-root sunt întotdeauna afișate ca „example.tld”. în loc de
„exemplu.tld”. [RFC1035] definește o metodă pentru afișarea octeților
care nu se afișează în ASCII.
Formatul de afișare comun este folosit în aplicații și este gratuit
text. Este același cu formatul de prezentare, dar care arată
eticheta rădăcină și "." înainte este opțional și este rar
Terminat. De exemplu, în formatul de afișare obișnuit, un deplin calificat
numele de domeniu cu două etichete non-root este de obicei afișat ca
„example.tld” în loc de „example.tld.”. Nume în comun
formatul de afișare sunt în mod normal scrise astfel încât
direcţionalitatea sistemului de scriere prezintă etichete prin
scăderea distanței de la rădăcină (deci, atât în engleză, cât și în
Limbajul de programare C eticheta rădăcină sau domeniu de nivel superior (TLD).
în lista ordonată este cea mai dreaptă; dar în arabă, poate fi
cea mai din stânga, în funcție de convențiile locale).
Și mai târziu, FQDN este definit și intră în detalii despre problema reală legată de context:
Nume de domeniu complet calificat (FQDN): Acesta este adesea doar o modalitate clară
de a spune același lucru cu „numele de domeniu al unui nod”, așa cum este subliniat
de mai sus. Cu toate acestea, termenul este ambiguu. Strict vorbind, a
nume de domeniu complet calificat ar include fiecare etichetă, inclusiv
eticheta de lungime zero a rădăcinii: s-ar scrie un astfel de nume
„www.example.net”. (rețineți punctul de încheiere). Dar, pentru că fiecare
numele împărtășește în cele din urmă rădăcina comună, numele sunt adesea scrise
relativ la rădăcină (cum ar fi „www.example.net”) și sunt încă
numită „complet calificată”. Acest termen a apărut pentru prima dată în [RFC819].
În acest document, numele sunt adesea scrise relativ la rădăcină.
Necesitatea termenului „nume de domeniu complet calificat” provine din
existența unor nume de domenii parțial calificate, care sunt nume
unde se află una sau mai multe dintre ultimele etichete din lista ordonată
omis (de exemplu, un nume de domeniu „www” relativ la
„example.net” identifică „www.example.net”). Astfel de nume relative
sunt înțelese doar prin context.
Cât despre:
În ce scenarii ați vedea un domeniu care se termină cu „.” cum ar fi „google.com.”?
Ușor, faceți orice interogare DNS:
$ dig NS google.com +noall +ans
google.com. 3h9m51s ÎN NS ns4.google.com.
google.com. 3h9m51s ÎN NS ns2.google.com.
google.com. 3h9m51s ÎN NS ns3.google.com.
google.com. 3h9m51s ÎN NS ns1.google.com.
Rețineți că rezultatele ar fi exact aceleași dacă aș folosi google.com.
deoarece săpa
este un client DNS și, prin urmare, se așteaptă ca toate numele să fie absolute (deci punctul final este opțional).
De asemenea, puteți adăuga puncte la orice nume și, prin urmare, aveți URL-uri ca https://www.google.com./
. Pentru avionul DNS, va fi la fel. Deci și pentru IP și TCP. Pentru TLS ar trebui să fie același, dacă nu există erori în implementări. La nivel HTTP/HTTPS, un server adecvat ar funcționa, dar rețineți că este posibil să găsiți erori doar din această cauză (și, prin urmare, fie să fie afișată o altă pagină decât cea normală, fie o eroare).
La fel pentru adresele de e-mail și oriunde în care folosiți nume.
Și dacă trebuie să puneți la îndoială lucrurile, da, prin definiție există o singură rădăcină... cel puțin în teorie (vezi RFC 2826 „Comentariu tehnic IAB privind rădăcina unică DNS”). Fiecare rețea (de la o casă locală până la o stare completă) poate defini o rădăcină locală, iar alte protocoale definesc numele care pare să fie la rădăcină, dar nu chiar (de exemplu: eth
sau pic
). Dar în acest moment intri în arenele politice, și nu în cele tehnice.