Co je kanonické jméno?
Kánonický název je termín používaný v počítačové síti k identifikaci skutečného jména počítače v rámci internetového pojmenovacího systému. Nejčastěji se používá v souvislosti se záznamem o prostředku v systému názvů domén (DNS), který je zodpovědný za překlad nejasných adres internetového protokolu (IP) do rozpoznatelnějších jmen. V tomto případě se záznam o prostředku v DNS nazývá CNAME a umožňuje jinému jménu nebo aliasu, aby ukazoval na skutečné jméno počítače.
Když počítač například hledá web, zkontroluje název zadaný do webového prohlížeče u speciálních serverů, které jsou hostiteli záznamů DNS. Pokud je jméno vyhledávané v DNS záznamech uvedeno v záznamu CNAME, obdrží kanonické jméno a poté provede druhé vyhledávání proti kanonickému jménu, aby vyřešilo IP adresu hostitelského počítače. Zcela běžným příkladem je situace, kdy jeden počítač hostí více služeb, jako je web a služba přenosu souborů (FTP) pro přenos dat.
Ve webovém prohlížeči může uživatel zadat www.example.com. Během vyhledávání DNS narazí na kanonický název v záznamu CNAME, který odkazuje na server s názvem foo.example.com. Jiný uživatel pak může používat FTP klienta a zadávat adresu FTP serveru na ftp.example.com. Vyhledávání DNS narazí na další položku CNAME, která také odkazuje na foo.example.com, přesně stejný hostitelský počítač, který se používá pro web. V tomto případě však byly DNS dány dvě různá jména, což vedlo k kanonickému názvu serveru.
V některém z výše uvedených případů DNS poté provede druhé vyhledávání kanonického názvu, aby vyřešil svou IP adresu v síti. IP adresa je poté odeslána zpět do počítače, který vytvoří požadavek na web nebo FTP, takže datové pakety mohou začít proudit. To samozřejmě správcům sítě otevírá několik možností, jak záznamy DNS CNAME používat jiným způsobem. Další běžná technika používaná webhostingovými službami umožňuje, aby jeden hostitelský počítač provozoval několik webových serverů, každý s jiným názvem.
Vzhledem k choulostivé povaze DNS však existuje řada nebezpečí při implementaci kanonických jmen pomocí záznamů CNAME, a proto existuje omezení pro jejich použití. Nejnebezpečnější je potenciál pro vytvoření nekonečné smyčky během vyhledávání jména, takže žádný záznam CNAME by neměl ukazovat na jiný záznam CNAME. Pokud jsou například použity dva záznamy CNAME, kde www.example.com odkazuje na kanonický název foo.example.com a potom foo.example.com odkazuje zpět na www.example.com, vyhledávání nekonečně zkontroluje jedno jméno proti druhému.