So, oder so ähnlich, würden DNS-Records für Websites aussehen, wenn die Browser es unterstützen würden. Aber nein, im Moment unterstützt es kein einziger. Und das, obwohl die entsprechenden Bugs seit Ewigkeiten offen sind:

E-Mail (SMTP) nutzt den MX-Record. Mach ja auch Sinn, wobei sich auch hier prinzipiell auch SRV-Records verwenden lassen könnten, ist aber halt so. Für Jabber und SIP werden in der Regel SRV-Records verwendet und auch die meisten LDAP- und Kerberos-Clients unterstützen sie. Doch bei HTTP ist das anders. Alle Webbrowser lösen nur A/AAAA/CNAME-, aber keine SRV-Records auf.

Und wo ist jetzt mein Problem? Funktioniert doch alles! Ja toll, funktioniert. Aber kann mir mal bitte jemand von diesen Typen, die rumrennen und rumschreien, dass die http://www.-Subdomain doch scheiße ist, erklären, wieso ich für die Domain (also direkt example.com.) einen A-Record auf den Webserver anlegen sollte? Wieso? Macht doch keinen Sinn. Warum ausgerechnet der Webserver und nicht der Jabber-Server? Warum ist der Webserver wichtiger? Domains lassen sich auch für was anderes verwenden, als für das Hosten von Websites, ja?

Abgesehen von dem Unsinn, für einen Service (statt für einen Host) A/AAAA-Records anzulegen bietet so ein SRV-Record noch ein paar tolle Vorteile. A/AAAA sind halt eben für Hosts gedacht und nicht für Services. Im Gegensatz zu SRV-Records bieten sie nämlich keine Unterstützung für Prioritäten und Gewichte. Damit lassen sich für HTTP-Services durchaus interessante Dinge machen. Also im Prinzip genau das, was man mit MX-Records schon seit Jahren für E-Mail machen kann:

_http._tcp IN SRV 0 30 www1
_http._tcp IN SRV 0 70 www2
_http._tcp IN SRV 5 0 www-fallback

Also liebe Browserentwickler. Implementiert endlich SRV-Records für HTTP (und andere Protokolle, die ihr unterstützt) und hört auf zu heulen. Die paar Milisekunden, die für einen SRV-Lookup draufgehen, sind nur so lange verschwendet, bis die meisten Domains entsprechende Records haben. Und es gibt ja eigentlich auch keinen Grund, der dagegen spricht, diese anzulegen. Also, ab in den Texteditor, programmieren, testen und committen. Danke!

Advertisements