Как работает загрузка сайта в зависимости от местоположения?

399
karthik ts

Когда я набираю в udacity.comсвоем веб-браузере, он автоматически загружаетсяhttps://in.udacity.com

Как это работает?

Перенаправляет ли машина udacity.com все запросы, приходящие с IP-адресов, принадлежащих Индии, на использование in.udacity.comHTTP REDIRECT 301 ?

1

2 ответа на вопрос

3
slhck

Udacity использует Cloudflare в качестве прокси для своих реальных серверов. Любой запрос https://www.udacity.comсначала будет отправлен в Cloudflare, а затем будет перенаправлен в соответствующий домен для геолокации источника.

Проверьте ответ:

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

Поэтому это IP-адрес, с которого можно определить ваше местоположение. Cloudflare предлагает эту услугу - он добавляет заголовок геолокации к любому запросу, который серверы Udacity затем используют, чтобы определить, на какой домен перенаправить вас.

Этот метод определения местоположения не всегда точен и может привести к ложным срабатываниям, особенно если вы используете провайдера VPN. Кроме того, это довольно медленно, в зависимости от того, как вы смотрите геолокации. Такие провайдеры, как Cloudflare, могут делать это относительно быстро, так как они обрабатывают множество запросов и могут кэшировать информацию, поэтому это не увеличивает время запроса. Для вашего сайта для малого бизнеса я бы не рекомендовал использовать IP для определения местоположения пользователя.

Кстати, перенаправление не является постоянным, так как вы можете изменить страны. Поэтому нет смысла всегда перенаправлять вас на определенный поддомен. Вместо этого он использует 302 Foundдирективу, которая является временной.

Другим методом перенаправления пользователя на основе его местоположения будет проверка Accept-Languageзаголовка браузера, в котором указывается языковой стандарт клиента. Например, fr-CHязыком, который говорит, что вы предпочитаете французский, со швейцарским языком (они говорят по-французски в Швейцарии, но он немного отличается от французского, который они говорят во Франции, отсюда и необходимость дифференциации). Это, однако, также не всегда надежно - у меня все программное обеспечение установлено на американский английский, и это регулярно заставляет сайты думать, что я базируюсь в Америке. Здесь геолокационный подход был бы более надежным.

0
bcs78

В запросе, который ваш браузер отправляет на сервер, есть HTTP-заголовок «Accept-Language», который сообщает, какой язык вы предпочитаете, и эту информацию можно использовать на сервере, чтобы перенаправить вас на соответствующий сайт независимо от вашего IP-адреса.

Определение вашего местоположения на основе вашего IP-адреса (например, базы данных GeoLocation) может быть другим решением, однако эти базы данных обычно не на 100% точны.

В любом случае происходит ли перенаправление на другой URL из-за HTTP REDIRECT 301? karthik ts 5 лет назад 0
@karthikts Нет, используйте `curl -iv https: // www.udacity.com`, чтобы увидеть реальный ответ - это 302 ответа. slhck 5 лет назад 0
Udacity не использует параметр `Accept-Language`. Вы можете попробовать это сами, установив другой - вместо этого он использует IP-адрес. slhck 5 лет назад 0

Похожие вопросы