Wie funktioniert das Laden von Websites nach Standort?

522
karthik ts

Wenn ich udacity.commeinen Webbrowser eingebe, wird er automatisch geladenhttps://in.udacity.com

Wie funktioniert das?

Ist die udacity.com Maschine alle Anforderungen umleiten, von IP - Adressen kommen nach Indien gehört in.udacity.com mit HTTP REDIRECT 301?

1

2 Antworten auf die Frage

3
slhck

Udacity verwendet Cloudflare als Proxy für die tatsächlichen Server. Jede Anfrage an https://www.udacity.comgeht zuerst an Cloudflare und wird dann zur geografischen Position des Ursprungs an die entsprechende Domäne umgeleitet.

Überprüfen Sie die Antwort von:

curl -iv https://www.udacity.com 

Es ist daher die IP-Adresse, von der aus Ihr Standort identifiziert werden kann. Cloudflare bietet diesen Service an - er fügt jeder Anfrage einen Geolocation-Header hinzu, mit dem die Udacity-Server dann bestimmen, an welche Domäne Sie weitergeleitet werden sollen.

Diese Methode zur Standortbestimmung ist nicht immer präzise und kann zu Fehlalarmen führen, insbesondere wenn Sie einen VPN-Anbieter verwenden. Es ist auch ziemlich langsam, je nachdem, wie Sie die geografische Position nachschlagen. Ein Anbieter wie Cloudflare kann dies relativ schnell erledigen, da er viele Anfragen 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 ermitteln.

Die Weiterleitung ist übrigens nicht dauerhaft, da Sie möglicherweise Länder wechseln. Daher ist es nicht sinnvoll, Sie immer auf eine bestimmte Subdomain umzuleiten. Stattdessen wird eine 302 FoundDirektive verwendet, die temporär ist.

Eine andere Methode zum Umleiten des Benutzers basierend auf seinem Standort besteht darin, den Accept-LanguageHeader des Browsers zu überprüfen, der das Client-Gebietsschema angibt. Das Gebietsschema kann beispielsweise lauten fr-CH: Sie bevorzugen Französisch mit einem Schweizer Gebietsschema (in der Schweiz sprechen sie Französisch, es unterscheidet sich jedoch geringfügig von dem Französisch, das sie in Frankreich sprechen, daher muss unterschieden werden). Dies ist jedoch auch nicht immer zuverlässig - ich habe alle meine Software auf amerikanisches Englisch eingestellt, und dies lässt regelmäßig dazu führen, dass Websites meinen Sitz in Amerika haben. Hier wäre ein geolokationsbasierter Ansatz zuverlässiger.

0
bcs78

In der Anfrage, die Ihr Browser an den Server sendet, befindet sich ein HTTP-Header mit der Bezeichnung "Accept-Language", der die von Ihnen bevorzugte Sprache mitteilt. Diese Informationen können auf dem Server verwendet werden, um Sie unabhängig von Ihrer IP-Adresse an die entsprechende Site weiterzuleiten.

Die Ermittlung Ihres Standorts anhand Ihrer IP-Adresse (z. B. GeoLocation-Datenbanken) kann eine andere Lösung sein, jedoch sind diese Datenbanken in der Regel nicht zu 100% genau.

Ist die Umleitung zu einer anderen URL aufgrund von HTTP REDIRECT 301 in beiden Fällen? karthik ts vor 5 Jahren 0
@karthikts Nein, verwenden Sie "curl -iv https: // www.udacity.com", um die tatsächliche Antwort zu sehen - es handelt sich um eine 302-Antwort. slhck vor 5 Jahren 0
Udacity verwendet nicht den Parameter "Accept-Language". Sie können das selbst ausprobieren, indem Sie ein anderes festlegen. Stattdessen wird die IP-Adresse verwendet. slhck vor 5 Jahren 0