Como funciona o carregamento de sites dependentes de localização?

1

Quando eu digito udacity.com no meu navegador, ele carrega automaticamente https://in.udacity.com

Como isso funciona?

A máquina udacity.com redireciona todas as solicitações provenientes de IPs pertencentes à Índia para in.udacity.com usando HTTP REDIRECT 301 ?

    
por karthik ts 17.07.2018 / 05:07

2 respostas

3

O Udacity usa o Cloudflare como um proxy para seus servidores reais. Qualquer solicitação para https://www.udacity.com irá primeiro para a Cloudflare e será redirecionada para o domínio apropriado para a geolocalização da origem.

Verifique a resposta de:

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

É, portanto, o endereço IP a partir do qual sua localização pode ser identificada. Cloudflare oferece este serviço - será adicione um cabeçalho de geolocalização a qualquer solicitação, que os servidores Udacity usam para determinar para qual domínio redirecioná-lo.

Esse método de determinar o local nem sempre é preciso e pode resultar em falsos positivos, especialmente se você estiver usando um provedor de VPN. Além disso, é bastante lento dependendo de como você olha para a geolocalização. Um provedor como o Cloudflare pode fazer isso de forma relativamente rápida, pois eles processam muitas solicitações e podem armazenar as informações em cache, para que elas não sejam adicionadas ao tempo de solicitação. Para o seu site de empresa de pequeno porte, eu não recomendaria usar o IP para determinar a localização do usuário.

O redirecionamento não é permanente, a propósito, como você pode mudar de país. Portanto, não faz sentido sempre redirecionar você para um subdomínio específico. Em vez disso, ele usa uma 302 Found diretiva , que é temporária.

Outro método de redirecionar o usuário com base em sua localização seria verificar o Accept-Language header do navegador, que especifica a localidade do cliente. A localidade pode ser, por exemplo, fr-CH , que diz que você prefere francês, com uma localidade suíça (eles falam francês na Suíça, mas é sutilmente diferente dos franceses que falam na França, daí a necessidade de diferenciar) . Isso, no entanto, nem sempre é confiável - eu tenho todo o meu software definido para o inglês americano, e isso faz com que os sites achem que eu sou americano. Aqui, uma abordagem baseada em geolocalização seria mais confiável.

    
por 17.07.2018 / 08:53
0

Existe um cabeçalho HTTP chamado "Accept-Language" na solicitação que seu navegador envia ao servidor que informa qual idioma você prefere e que as informações podem ser usadas no servidor para redirecioná-lo para o site apropriado, independentemente do seu endereço IP.

Determinar sua localização com base em seu endereço IP (usig GeoLocation databases) pode ser uma outra solução, no entanto, esses bancos de dados geralmente não são 100% precisos.

    
por 17.07.2018 / 08:32