de.phhsnews.com


de.phhsnews.com / Haben Web-Server nur jeweils eine Website?

Haben Web-Server nur jeweils eine Website?


Wenn Sie zum ersten Mal lernen, wie Domains, IP-Adressen, Webserver und Websites zusammenpassen und zusammenarbeiten, kann das ein wenig verwirrend sein oder manchmal überwältigend. Wie ist alles eingerichtet, um so reibungslos zu arbeiten? Der heutige SuperUser Q & A-Post hat Antworten auf Fragen eines neugierigen Lesers.

Die heutige Frage-Antwort-Sitzung kommt dank SuperUser zustande - einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites.

Foto mit freundlicher Genehmigung von Rosmarie Voegtli (Flickr).

Die Frage

SuperUser reader user3407319 möchte wissen, ob Webserver nur jeweils eine Website haben:

Basierend auf dem was ich über DNS verstehe und einen Domainnamen mit der IP Adresse des Webserver, auf dem eine Website gespeichert ist, bedeutet das, dass jeder Webserver nur eine Website verwalten kann? Wenn Web-Server mehr als eine Website enthalten, wie wird dann alles gelöst, damit ich ohne Probleme oder Verwechslungen auf die gewünschte Website zugreifen kann?

Halten Web-Server jeweils nur eine Website oder halten sie mehr ?

Der Antwort

SuperUser-Mitwirkender Bob hat die Antwort für uns:

Grundsätzlich enthält der Browser den Domänennamen in der HTTP-Anfrage, damit der Webserver weiß, welche Domäne angefordert wurde und entsprechend reagieren kann.

HTTP-Anfragen

So geschieht Ihre typische HTTP-Anfrage:

1. Der Benutzer stellt eine URL in der Form // host: port / pfad.

2. zur Verfügung Der Browser extrahiert den Host-Teil (Domäne) der URL und übersetzt ihn (falls erforderlich) in eine IP-Adresse, die als Namensauflösung bezeichnet wird. Diese Übersetzung kann über DNS erfolgen, muss aber nicht (z. B. die lokale Hostdatei auf gängigen Betriebssystemen umgeht DNS).

3. Der Browser öffnet eine TCP-Verbindung zum angegebenen Port oder den Standardeinstellungen Port 80 auf dieser IP-Adresse.

4. Der Browser sendet eine HTTP-Anfrage. Für HTTP / 1.1 sieht das so aus:

Der Host-Header ist Standard und in HTTP / 1.1 erforderlich. Es wurde nicht in der HTTP / 1.0-Spezifikation angegeben, aber einige Server unterstützen es trotzdem.

Von hier aus hat der Webserver mehrere Informationen, anhand derer er entscheiden kann, wie die Antwort lauten soll. Beachten Sie, dass es möglich ist, dass ein einzelner Web - Server an mehrere IP - Adressen gebunden ist.

  • Die angeforderte IP - Adresse vom TCP - Socket (die IP - Adresse des Clients ist ebenfalls verfügbar, wird aber selten und manchmal für blocking / filtering)
  • Der angeforderte Port, vom TCP-Socket
  • Der angeforderte Hostname, wie im Host-Header vom Browser in der HTTP-Anfrage angegeben
  • Der angeforderte Pfad
  • Alle anderen Header (Cookies usw.)

Wie Sie bemerkt haben, setzt das häufigste Shared - Hosting - Setup heutzutage mehrere Websites auf eine einzige IP - Adresse: Port - Kombination, so dass nur der Host zwischen den Websites unterscheiden kann.

Dies ist bekannt als ein Name-basierter virtueller Host in Apache-Land, während Nginx sie Server Namen in Server-Blöcken nennt, und IIS bevorzugt Virtual Server.

Was ist mit HTTPS?

HTTPS ist ein bisschen anders. Bis zum Aufbau der TCP-Verbindung ist alles identisch, danach muss jedoch ein verschlüsselter TLS-Tunnel aufgebaut werden. Ziel ist es, keine Informationen über die Anfrage zu verlieren.

Um zu verifizieren, dass der Webserver tatsächlich diese Domäne besitzt, muss der Webserver ein Zertifikat senden, das von einer vertrauenswürdigen dritten Partei signiert wurde. Der Browser vergleicht dann dieses Zertifikat mit der angeforderten Domäne.

Dies ist ein Problem. Woher weiß der Webserver, welches Zertifikat des Hosts / der Website gesendet werden muss, wenn dies erforderlich ist, bevor die HTTP-Anforderung empfangen wird?

Dies wurde traditionell durch eine dedizierte IP-Adresse (oder Port) für jede HTTPS erfordernde Website gelöst. Offensichtlich ist dies problematisch geworden, da uns die IPv4-Adressen ausgehen.

Geben Sie SNI (Server Name Indication) ein. Der Browser übergibt den Hostnamen nun während der TLS-Verhandlungen, sodass der Webserver diese Informationen früh genug erhält, um das richtige Zertifikat zu senden. Auf der Webserver-Seite ist die Konfiguration der Konfiguration der virtuellen HTTP-Hosts sehr ähnlich.

Der Nachteil ist, dass der Host-Name jetzt als einfacher Text vor der Verschlüsselung übergeben wird und im Wesentlichen Informationen verloren geht. Dies wird normalerweise als akzeptabler Trade-Off betrachtet, obwohl der Host-Name normalerweise in einer DNS-Abfrage verfügbar ist.

Was ist, wenn Sie eine Website nur nach IP-Adresse anfordern?

Was der Webserver tut, wenn er es nicht weiß Welcher spezifische Host Sie angefordert haben, hängt von der Implementierung und Konfiguration des Webservers ab. In der Regel wird eine "Standard" -, "Catch-all" - oder "Fallback" -Website angegeben, die Antworten auf alle Anfragen liefert, die keinen Host explizit angeben.

Diese Standardwebsite kann eine eigene unabhängige Website sein ( (oft mit einer Fehlermeldung), oder es könnte eine der anderen Webseiten auf dem Webserver sein, abhängig von den Einstellungen des Web-Servers admin.


Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.


So ändern Sie die Standardposition

So ändern Sie die Standardposition "Bild einfügen" in Microsoft Word

Wenn Sie ein Bild in ein Dokument einfügen, verwendet Word standardmäßig den Bilderbibliotheksordner zum Auswählen Ihrer Bilddatei. Sie können jedoch einen anderen Ordner als den Standardbildspeicherort angeben, der beim Einfügen von Bildern in Word angezeigt wird. VERWANDT: So ändern Sie den Standardspeicherort und lokalen Dateiordner in Word 2013 Wenn Sie In einem gemeinsamen Ordner, in dem Sie alle Ihre Bilder speichern, die Sie in Ihre Word-Dokumente einfügen, können Sie diesen Ordner als Standardbildspeicherort in Word angeben.

(how-to)

Fix Delay beim Eingeben in Windows

Fix Delay beim Eingeben in Windows

Ich habe kürzlich ein sehr nerviges Problem bei der Verwendung von Microsoft Word auf meinem Windows-Rechner bekommen. Erstens, es ist eine ziemlich schnelle Maschine und so wusste ich irgendwie, dass es kein Hardware-Problem war, als ich sah, dass es eine Verzögerung gab zwischen der Eingabe von Zeichen auf der Tastatur und den Charakteren, die auf dem Bildschirm auftauchten.

(How-to)