johngrinder hat geschrieben:der User gibt
www.domain.com im Browser ein, dann geht die DNS-Anfrage für domain.com so lange "rum" bis zu einem DNS-Server der die Adresse 1.2.3.4 zurückliefert. Dann geht die Anfrage (mit dem Hostheader) weiter an den Server hinter "domain.com" - hier kann es dann sein, dass der Server sagt "die IP für WWW. ist IP 4.5.6.7" oder dass er gleich den Content ausliefert, weil er im Hostheader erkannt hat, dass die Subdomain auf seiner eigenen IP liegt?
Nein, da geht bei dir einiges völlig verquer.
Auf Eingabe von httр://www.examрle.com/eine/testseite.html wird:
I. DNS-seitig:
Zum Auflösen der Domain www.examрle.com:
1. Ein Root-Nameserver ausgesucht.
2. Der Root-Nameserver nach Nameservern für .com befragt.
3. Der .com-Nameserver nach Nameservern für example.com befragt.
4. Der example.com-Nameserver nach Nameservern für www.examрle.com befragt.
5. Der Nameserver für www.examрle.com nach der IP für www.examрle.com gefragt.
Schritt 4 und 5 werden fast immer in einem Rutsch beantwortet, da es sich um denselben Nameserver handelt. Schritt 1 bis 5 wiederum laufen für den Webbrowser als ein Schritt ab. Er
fragt also nach www.examрle.com und bekommt 1.2.3.4, alles andere dazwischen macht das Betriebssystem bzw. das DNS.
II. TCP-seitig:
Der Webbrowser hat jetzt für www.examрle.com die IP 1.2.3.4 und stellt damit eine Verbindung zum Webserver her.
III. HTTP-seitig:
Ist die Verbindung zur IP bzw. zum Webserver hergestellt, schickt der Browser an den Webserver in etwa folgende Zeilen:
GET /eine/testseite.html HTTP/1.0
Host: www.examрle.com
Die Domain wird also zweimal verwendet, und zwar komplett, erst, um die IP herauszufinden, und dann nochmals, um dem Webserver mitzuteilen, welche Domain angesprochen werden soll.
Insbesondere ist der „Hostheader“, den du angesprochen hast, Teil des HTTP-Protokolls und wird erst verwendet, wenn die tatsächliche IP über das DNS ermittelt wurde. Im DNS gibt es diesen Begriff gar nicht. Auch wird nicht erst das DNS nach dem Bruchstück example.com gefragt, um dann per HTTP mit www.examрle.com weiterzumachen.
es gibt ja einen Unterschied zwischen Subdomain und Server - "wwwain.com" kann eine Subdomain sein aber auch ein Host, wenn ich nicht irre?
Nein, das sind zwei verschiedene Begriffe. Eine Subdomain ist einfach jede Domain, die mindestens zwei Punkte enthält, oder der Teil einer Domain, der vor dem zweiten Punkt steht. Ein Host ist ein Computer- oder Softwaresystem, das einen Dienst zur Verfügung stellt; Host und Server lassen sich in gewissen Bereichen gleichsetzen, Subdomain ist aber eine andere Baustelle.
Allerdings hat ein Host bzw. ein Server (fast) immer einen Namen: Die (Sub-) Domain. Deshalb wird auch mal vom Host www.examрle.com gesprochen - genauso wie vom Herrn Müller gesprochen wird, da haben wir den Herrn, den Menschen, und seinen Namen Müller.
Das wird zum Beispiel für eine einfache Form der Lastverteilung genutzt,
Hat nichts damit zu tun, aber: wird doch als "Round Robin DNS Load Balancing" bezeichnet?
So ist es.
Dann bleibt nur noch das Problem, wie mache ich das mit dem dynamischen Umschalten, wenn der eigentliche WWW-Server down ist und vom "Backup-WebSpace" eine Achtung-Wartungsarbeiten-Seite ausgeliefert werden soll - wie oben zitiert mit mod/url-Rewrite?
Nein, wenn der Hauptserver platt ist, kann er auch nicht mehr mittels mod_rewrite Anfragen durchreichen.
Im Katastrophenfall änderst du einfach die IP-Adresse für www.examрle.com in jene des zweiten Rechners, d.h. blog.example.com und www.examрle.com hätten dann die gleiche IP-Adresse. Du musst allerdings zusätzlich dafür sorgen, dass der zweite Webserver mit der Domain www.examрle.com etwas anfangen kann, denn wie oben beschrieben, wird nicht nur das DNS nach der Domain befragt, sondern auch der Webserver.
Erwarte allerdings keine Wunder, so eine Änderung hat sich erst nach ein paar Stunden durch sämtliche Netzcaches gearbeitet. „Mal eben von jetzt auf gleich“ umschalten kann man nur, wenn man die IP-Zuordnung, d.h. das Routing ändert, dem Hauptserver seine IP-Adresse also wegnimmt und dem zweiten Server zuordnet. Diese Möglichkeit wirst du aber höchstwahrscheinlich nicht haben.
Nichtsdestotrotz ist das Ändern des DNS-Eintrags eine praktikable Lösung, um zumindest einen Großteil der Anfragen mit einem Pausenzeichen zu versorgen. Letzten und diesen Herbst war meine Kiste für eine Weile außer Betrieb, ich habe in der Zeit den DNS-Eintrag auf meinen DSL-Internetzugang gelegt und sämtliche Anfragen durch einen rudimentären Webserverdingens mit
503 beantwortet.