Wie funktioniert das ortsabhängige Laden von Websites?

1

Wenn ich udacity.comin 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?

kartik trivikram
quelle

Antworten:

3

Udacity verwendet Cloudflare als Proxy für die eigentlichen Server. Jede Anfrage nach https://www.udacity.comwird 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 FoundDirektive verwendet .

Eine andere Methode zum Umleiten des Benutzers basierend auf seinem Standort besteht darin, die Accept-LanguageKopfzeile des Browsers zu überprüfen , in der das Gebietsschema des Clients angegeben ist. Das Gebietsschema könnte beispielsweise fr-CHbesagen, 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.

slhck
quelle
0

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.

bcs78
quelle
In beiden Fällen ist die Umleitung zu einer anderen URL aufgrund von HTTP REDIRECT 301?
Kartik Trivikram
@karthikts Nein, verwenden Sie diese Option, um curl -iv https://www.udacity.comdie tatsächliche Antwort anzuzeigen - es handelt sich um eine 302-Antwort.
Slhck
Udacity verwendet den Accept-LanguageParameter nicht. Sie können dies selbst ausprobieren, indem Sie eine andere festlegen. Stattdessen wird die IP-Adresse verwendet.
Slhck