Wenn ich udacity.com
in meinen Webbrowser tippe, wird er automatisch geladenhttps://in.udacity.com
Wie funktioniert das?
Leitet der udacity.com- Rechner alle Anfragen von IPs aus Indien an in.udacity.com mit um HTTP REDIRECT 301
?
quelle
Wenn ich udacity.com
in meinen Webbrowser tippe, wird er automatisch geladenhttps://in.udacity.com
Wie funktioniert das?
Leitet der udacity.com- Rechner alle Anfragen von IPs aus Indien an in.udacity.com mit um HTTP REDIRECT 301
?
Udacity verwendet Cloudflare als Proxy für die eigentlichen Server. Jede Anfrage nach https://www.udacity.com
wird zuerst an Cloudflare weitergeleitet und dann an die entsprechende Domain für die Geolokalisierung des Ursprungs weitergeleitet.
Überprüfen Sie die Antwort von:
curl -iv https://www.udacity.com
Es ist daher die IP-Adresse, anhand derer Ihr Standort identifiziert werden kann. Cloudflare bietet diesen Service an: Jeder Anfrage wird ein Geolocation-Header hinzugefügt, anhand dessen die Udacity-Server ermitteln, zu welcher Domain Sie umgeleitet werden sollen.
Diese Methode zur Standortbestimmung ist nicht immer genau und kann zu Fehlalarmen führen, insbesondere wenn Sie einen VPN-Anbieter verwenden. Es ist auch ziemlich langsam, je nachdem, wie Sie die Geolocation nachschlagen. Ein Anbieter wie Cloudflare kann dies relativ schnell erledigen, da er viele Anforderungen verarbeitet und die Informationen zwischenspeichern kann, sodass sich die Anforderungszeit nicht summiert. Für Ihre Website für kleine Unternehmen würde ich nicht empfehlen, die IP-Adresse zu verwenden, um den Standort des Benutzers zu bestimmen.
Die Weiterleitung ist übrigens nicht permanent, da Sie möglicherweise das Land wechseln. Es ist daher nicht sinnvoll, Sie immer zu einer bestimmten Unterdomäne umzuleiten. Stattdessen wird eine temporäre 302 Found
Direktive verwendet .
Eine andere Methode zum Umleiten des Benutzers basierend auf seinem Standort besteht darin, die Accept-Language
Kopfzeile des Browsers zu überprüfen , in der das Gebietsschema des Clients angegeben ist. Das Gebietsschema könnte beispielsweise fr-CH
besagen, dass Sie Französisch mit einem Schweizer Gebietsschema bevorzugen (sie sprechen Französisch in der Schweiz, aber es unterscheidet sich geringfügig von dem Französisch, das sie in Frankreich sprechen, daher muss differenziert werden). Dies ist jedoch auch nicht immer zuverlässig - ich habe meine gesamte Software auf amerikanisches Englisch eingestellt, und dies lässt Websites regelmäßig denken, dass ich in Amerika beheimatet bin. Hier wäre ein Geolocation-basierter Ansatz zuverlässiger.
In der Anfrage, die Ihr Browser an den Server sendet, befindet sich ein HTTP-Header namens "Accept-Language", der angibt, welche Sprache Sie bevorzugen. Diese Informationen können auf dem Server verwendet werden, um Sie unabhängig von Ihrer IP-Adresse auf die entsprechende Site umzuleiten.
Die Ermittlung Ihres Standorts anhand Ihrer IP-Adresse (Verwendung von GeoLocation-Datenbanken) könnte eine andere Lösung sein. Diese Datenbanken sind jedoch in der Regel nicht zu 100% genau.
curl -iv https://www.udacity.com
die tatsächliche Antwort anzuzeigen - es handelt sich um eine 302-Antwort.Accept-Language
Parameter nicht. Sie können dies selbst ausprobieren, indem Sie eine andere festlegen. Stattdessen wird die IP-Adresse verwendet.