Udacity verwendet Cloudflare als Proxy für die tatsächlichen Server. Jede Anfrage an https://www.udacity.com
geht 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 Found
Direktive verwendet, die temporär ist.
Eine andere Methode zum Umleiten des Benutzers basierend auf seinem Standort besteht darin, den Accept-Language
Header 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.